数据库系统概论15候选码的求解方法.pptVIP

数据库系统概论15候选码的求解方法.ppt

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
授课主题 第15讲 计划学时 2 第6章 关系数据理论(二) 教学目的 和要求 1、求最小函数依赖集 2、理解候选码求解理论和算法 教学重点 和难点 重点是候选码的求解方法 难点是求最小函数依赖集 教学内容 1、求解最小函数依赖集 2、候选码求解理论和算法 教学过程 见课件 一、求函数依赖的最小集 定义6.15:对于给定的函数依赖F,当满足下列条件时,称为F的最小依赖集,记作FM。 FM的每个依赖的右边都是单个属性。 对于FM中的任何一个X→A和X的真子集Z, (FM-{X→A})∪ {Z→A}与FM都不等价。(保证了FM中每个函数依赖的左边没有多余的属性) 对于FM中的任何一个函数依赖X→A,FM-{X→A}与FM都不等价。(保证了在FM中不存在多余的函数依赖) 定理:每个函数依赖集与它的最小依赖集FM等价。 输入:一个函数依赖集F 输出:F的一个等价最小依赖集G 方法: (1)应用分解规则,使F中每一个依赖的右边属性单一化。 (2)去掉各依赖左边多余的属性。具体做法是;一个一个地检查F中左边是非单属性的依赖,例如XY→A。现在要判断Y是否多余的,即以X→A代替XY→A是否等价。只要在F中求X+,若X+包含A,则Y是多余的属性;否则Y不是多余的属性。依次判断其他属性即可消除各依赖左边的多余属性。 (3)去掉多余的依赖。具体做法是:从第一个依赖开始,从F中去掉它(假设该依赖是X→Y),然后在剩下的依赖中求X+,看X+是否包含Y,若是,则可以去掉X→Y;若不包含Y,则不能去掉。 例:设有依赖集:F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},计算其等价的最小依赖集。 解: (1)将依赖右边属性单一化,结果为: F1={AB→C,C→A,BC→D,ACD→B,D→E, D→G,BE→C,CG→B,CG→D,CE→A,CE→ G} (2)在F1中去掉左边多余的属性。 Ⅰ、对于ACD→B,由于(CD)+=ABCDEG,则A是多余的,所以结果为: F2={AB→C,C→A,BC→D,CD→B,D→E, D→G,BE→C,CG→B,CG→D,CE→ G} Ⅱ、对于CE→A,由于C→A,则E是多余的 (3)在F2中去掉多余的依赖。 对于CD→B,在剩下的函数依赖中,由于(CD)+=CDAEGB,所以CD→B是多余的,则Fm={AB→C,C→A,BC→D,D→E, D→G,BE→C, CG→B ,CG→D,CE→G} 或者对于CG→B,由于(CG)+=ABCDEG,所以CG→B是多余的,则 Fm={AB→C,C→A,BC→D,CD→B,D→E, D→G,BE→C,CG→D,CE→G} 总结:求得的最小依赖集并不是唯一的。 课堂练习:设有关系模式,其中U={E,F,G,H},F={E→G,G→E,F→EG,H→EG,FH→E},计算其等价的最小依赖集。 结果为:Fm= {E→G,G→E,F→G,H→G} 或者:Fm= {E→G,G→E,F→G,H→E} 或者:Fm= {E→G,G→E,F→E,H→G} 或者:Fm= {E→G,G→E,F→E,H→E} 二、候选码求解理论和算法 对于给定的关系R(A1,A2,…An)和函数依赖集F,可将其属性分为4类: L类:仅出现在F的函数依赖左边的属性 R类:仅出现在F的函数依赖右边的属性 N类:在F的函数依赖左右边均未出现的属性 LR类:在F的函数依赖左右边均出现的属性 1、快速求解候选码的一个充分条件 定理1:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,则X是R的任一候选码成员。 推论:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是L类属性,且X包含了R的全部属性,则X必是R的唯一候选码。 例:设有关系模式R(A,B,C,D),其函数依赖集F={D→B,B→D,AD→B,AC→D},求R的所有候选码。 解:考察F发现,A、C两属性是L类属性,由上面定理1可知,A、C必是R的候选码的成员。又因为(AC)+=ABCD,所以AC必是R的唯一候选码。 定理2:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是R类属性,则X不在任何候选码中。 定理3:对于给定的关系模式R及其函数依赖集F,若X(X∈R)是N类属性,则X必包含在R的任一候选码中。 例:设有关系模式R(A,B,C,D,E,P),其函数依赖集F={A→D,E→D,D→B,BC→D ,DC→A},求R的所有候选码。 解:考察F发现,C、E两属性是L类属性,由上面定理1可知,C、E必是R的候选码的成员; P是N类属性,由上面的定理3可知,P也是R的候选码的成员。 又因为(CEP)+=ABCDEP,所以CEP必是R的唯一候选码

文档评论(0)

smashing + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档