数据库系统原理闭包.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库系统原理闭包

闭包就是由一个属性直接或间接推导出的所有属性的集合, 例如: f a- b,b- c,a- d,e- f 由a可直接得到b和d,间接得到c,则a的闭包就是 a,b,c,d 设X和Y均为关系R的属性集的子集,F是R上的函数依赖集,若对R的任一属性集B,一旦X→B,必有B,且对R的任一满足以上条件的属性集Y1 ,必有Y,此时称Y为属性集X在函数依赖集F下的闭包,记作X+。R的属性集X的闭包的步骤如下: Y,把Y初始化为X; F中的每一个函数依赖A→B,如果属性集A中所有属性均在Y中,而B中有的属性不在Y中,则将其加入到Y中; Y中为止。 最后得到的Y就是X+。 1,设关系R A,B,C,D,E,G 有函数依赖集 F AB→C,BC→AD,D→E,CG→B ,求AB的闭包。 AB出发,令X A,B ,由于函数依赖AB→C左边的所有属性都在X中,所以可以把右边的C添加到X中,这时X A,B,C 。 BC→AD,左边B、C均在X中,右边D不在X中,将其添加到X中,此时X A,B,C,D 。 D→E,同理可将E添加到X中,此时X A,B,C,D,E 。 X中添加属性,所以得到 A,B + A,B,C,D,E 。 X→Y是否被函数依赖集F逻辑蕴涵,其步骤如下: X的闭包X+; Y是否被X+ 所包含,如果Y+,说明F逻辑蕴涵函数依赖X→Y;否则说明F不会逻辑蕴涵函数依赖X→Y。 : 在例1中得到属性D在 A,B + 中,所以F逻辑蕴涵AB→D。 D→A是否被函数依赖集F逻辑蕴涵。 D +,得到 D + D,E ,由于A不在 D +中,所以该函数依赖不蕴涵于给定的函数依赖集F。 数据库闭包和候选码求解方法 闭包概念   以下是写的比较科学规范的闭包求解方法,设X和Y均为关系R的属性集的子集,F是R上的函数依赖集,若对R的任一属性集B,一旦XB,必有BY,且对R的任一满足以上条件的属性集Y1 ,必有YY1,此时称Y为属性集X在函数依赖集F下的闭包,记作X+。 计算关系R的属性集X的闭包的步骤如下: 第一步:设最终将成为闭包的属性集是Y,把Y初始化为X; 第二步:检查F中的每一个函数依赖AB,如果属性集A中所有属性均在Y中,而B中有的属性不在Y中,则将其加入到Y中; 第三步:重复第二步,直到没有属性可以添加到属性集Y中为止。 最后得到的Y就是X+ 例(1):?? 设有关系模式R U,F ,其中U A,B,C,D,E,I ,F AD,ABE,BIE,CDI,EC ,计算 AE + 解: ? 1 令X AE ,X 0 AE 2 在F中寻找尚未使用过的左边是AE的子集的函数依赖,结果是: AD, EC;所以 X 1 X 0 DC ACDE, 显然 X 1 ≠X 0 . 3 在F中寻找尚未使用过的左边是ACDE的子集的函数依赖, 结果是: CDI;所以 X 2 X 1 I ACDEI。虽然X(2)≠X 1 ,但F中寻找尚未使用过函数依赖的左边已经没有X(2)的子集,所以不必再计算下去,即 AE + ACDEI。 说白话一点:闭包就是由一个属性直接或间接推导出的所有属性的集合。 例如:f a- b,b- c,a- d,e- f ;由a可直接得到b和d,间接得到c,则a的闭包就是 a,b,c,d 候选码的求解理论和算法   对于给定的关系R(A1,A2,…An)和函数依赖集F,可将其属性分为4类: L类? 仅出现在函数依赖左部的属性。 R 类? 仅出现在函数依赖右部的属性。 N 类? 在函数依赖左右两边均未出现的属性。 LR类? 在函数依赖左右两边均出现的属性。   定理:对于给定的关系模式R及其函数依赖集F,若X(XR)是L类属性,则X必为R的任一候选码的成员。   推论:对于给定的关系模式R及其函数依赖集F,若X(XR)是L类属性,且X+包含了R的全部属性;则X必为R的唯一候选码。   例(2):设有关系模式R(A,B,C,D),其函数依赖集F DB,B D,AD B,AC D ,求R的所有候选码。 解:考察F发现,A,C两属性是L类属性,所以AC必是R的候选码成员,又因为(AC)+ ABCD,所以AC是R的唯一候选码。   定理:对于给定的关系模式R及其函数依赖集F,若X(XR)是R类属性,则X不在任何候选码中。   定理:对于给定的关系模式R及其函数依赖集F,若X(XR)是N类属性,则X必包含在R的任一候选码中。   推论:对于给定的关系模式R及其函数依赖集F,若X(XR)是L类和N类组成的属性集,且X+包含了R的全部属性;则X是R的唯一候选码。

文档评论(0)

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

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

1亿VIP精品文档

相关文档