数据库系统原理练习题3).doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统原理练习题3)

练习题3 3.1解释下列名词 1.函数依赖: 设有关系模式R(U),X和Y是属性集U的子集,函数依赖(functional dependency,简记为FD)是形为X→Y的一个命题,只要r是R的当前关系,对r中任意两个元组t和s,都有t[X]=s[X]蕴涵t[Y]=s[Y],那么称FD X→Y在关系模式R(U)中成立。 这里t[X]表示元组t在属性集X上的值,其余类同。X→Y读作“X函数决定Y”,或“Y函数依赖于X”。FD是对关系模式R的一切可能的关系r定义的。对于当前关系r的任意两个元组,如果X值相同,则要求Y值也相同,即有一个X值就有一个Y值与之对应,或者说Y值由X值决定。因而这种依赖称为函数依赖。 2.平凡的函数依赖 对于FD X→Y,如果YX,那么称X→Y是一个“平凡的FD”,否则称为“非平凡的FD”。 正如名称所示,平凡的FD并没有实际意义,根据规则A1就可推出。人们感兴趣的是非平凡的FD。只有非平凡的FD才和“真正的”完整性约束条件相关。 从规则A4和A5,立即可得到下面的定理。 定理3.3 如果A1……An是关系模式R的属性集,那么X→A1……An成立的充分必要条件是X→Ai(i=1,…,n)成立。 3.函数依赖集F的闭包F+(Closure) 设F是函数依赖集,被F逻辑蕴涵的函数依赖全体构成的集合,称为函数依赖集F的闭包(Closure),记为F+。即 F+={ X→Y | F|=X→Y}。 4.属性集X的闭包X+ 设F是属性集U上的FD集,X是U的子集,那么(相对于F)属性集X的闭包用X+表示,它是一个从F集使用FD推理规则推出的所有满足X→A的属性A的集合: X+={属性A | F|=X→A } 5.函数依赖的逻辑蕴含 设F是在关系模式R上成立的函数依赖的集合,X→Y是一个函数依赖。如果对于R的每个满足F的关系r也满足X→Y,那么称F逻辑蕴涵X→Y,记为F|=X→Y。 6.函数依赖集的等价 如果关系模式R(U)上的两个函数依赖集F和G,有F+=G+,则称F和G是等价的函数依赖集。 7.最小依赖集 如果函数依赖集G满足下列三个条件,则称为G是最小依赖集。 (1)G中每个FD的右边都是单属性。 (2)G中没有冗余的F,即G中不存在这样的函数依赖X→Y,使得G—{X→Y}与G等价。 (3)G中每个FD的左边没有冗余的属性,即G中不存在这样的函数依赖X→Y,X有真子集W使得G—{X→Y}∪{W→Y}与G等价。 显然,每个函数依赖集至少存在一个等价的最小依赖集,但并不一定惟一。 8.无损分解 设R是一个关系模式,F是R上的一个FD集。R分解成数据库模式={R1,R2…Rk}。如果对R中满足F的每一个关系r,都有 r= 那么称分解相对于F是“无损连接分解”(Lossless Join Decomposition),简称为“无损分解”,否则称为“损失分解”(Lossy Decomposition)。 9.泛关系假设 无损分解定义有一个先决条件,即r是R的一个关系。也就是先存在r(泛关系)的情况下,再去谈论分解,这就是关系数据库理论中著名的“泛关系假设”(Univarsal Relation Assumption)。 有泛关系假设时,r与(r)之间的联系,可用图3.3表示。从图中可看出(r)有两个性质: (1)r(r) (2)设s=(r),则=ri R R r s ={R1,R2…Rk} r1,r2,…,rk 图3.3 泛关系假设下关系模式分解的示意图 10.Chase过程 “追踪”(chase)过程,用于测试一个分解是否是无损分解。 追踪过程的算法(无损分解的测试) 输入:关系模式R=A1…An,F是R上成立的函数依赖集,={R1,…,Rk}是R的一个分解。 输出:判断相对于F是否具有无损分解特征。 方法: ①构造一张k行n列的表格,每列对于一个属性Aj(1≤j≤n),每行对于一个模式Ri(1≤i≤k)。如果Aj在Ri中,那么在表格的第i行第j列处填上符号aj,否则填上bij。 ②把表格看成模式R的一个关系,反复检查F中每个FD在表格中是否成立,若不成立,则修改表格中的值。修改反复如下: 对于F中一个FD X→Y,如果表格中有两行在X值上相对,在Y值上不相等,那么把这两行在Y值上也改成相等的值。如果Y值中有一个是aj,那么另一个也改成aj;如果没有aj,那么用其一个bij替换另一个值(尽量把下标ij改成较小的数)。一直到表格不能修改为止。(这个过程称为Chase过程) ③若修改的最后一张表格中有一行是全a,即a1a2…an,那么称相对于F是无损分解,否则称损失分解。 11.保持函数依赖 分解的另一个特征是在

文档评论(0)

jjkk585 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档