模式分解补充材料.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文档。上传文档
查看更多
补充阅读材料(例题) 属性闭包的计算 例1设关系模式R的属性集U={A,B,C,D,E,G},F={AB→C,BC→AD,D→E,CG→B}是R上的函数依赖集.求{A,B}关于F的闭包,即{A,B}F+。 解: 从X={A,B} 出发,X(0)=AB。 (1) 左部为X(0)子集的函数依赖只有AB→C,X(1)=AB∪C=ABC (2) 左部为X(1)子集而未检查的函数依赖只有BC→AD,X(2)=ABC∪AD=ABCD (3) 左部为X(2)子集而未检查的函数依赖只有D→E,X(3)=ABCD∪E=ABCDE 已经不存在左部为X(3)的子集而未检查的函数依赖。因此,{A,B}F+={A,B,C,D,E} 注意到函数依赖CG→B没有用上,因为它的左边没有包含在{A,B}F+中。 函数依赖集的最小化 例2 设F={A→BC,B→AC,C→A},对F进行极小化处理 解:(1) 根据分解规则,把F中的函数依赖转化成右部都是单属性的函数依赖集合,分解后的函数依赖集仍用F表示F={A→B, A→C,B→A, B→C,C→A} (2) 去掉F中的冗余函数依赖 判断A→B是否冗余。 设G1={A→C,B→A, B→C,C→A},得 AG1+=AC 因,所以A→B不冗余。 判断A→C是否冗余。 设G2={A→B,B→A, B→C,C→A},得 AG2+=ABC 因,所以A→C冗余(以后得检查不再考虑A→C)。 判断B→A是否冗余。 设G3={A→B, B→C,C→A},得 BG3+=ABC 因,所以B→A冗余(以后得检查不再考虑B→A)。 判断B→C是否冗余。 设G4={A→B, C→A},得 BG4+=B 因,所以B→C不冗余。 判断C→A是否冗余。 设G5={A→B, B→C},得 CG5+=C 因,所以C→A不冗余。 由于该例中的函数依赖表达式的左部均为单属性,因而不需要进行第三步的检查。上述结果为最小函数依赖集,用Fm表示:Fm={A→B, B→C,C→A} 若依次按A→B,B→C的顺序判定函数依赖是否冗余,则得到最小依赖集:Fm2={A→B, B→A, A→C,C→A}。这说明最小依赖集不唯一,与对各函数依赖FDi及X→A中X各属性的处置顺序有关。同时注意到,在此例中A、B、C是一一对应的。 例3 求F={AB→C,A→B,B→A}的最小函数依赖集Fm 解:(1) 将F中函数依赖都分解为右部为单属性的函数依赖。显然,F已满足该条件。 (2) 去掉F中冗余的函数依赖。 判断AB→C是否冗余。 设,得 ∵ , ∴ AB→C不冗余。 判断A→B是否冗余。 设,得 ∵ , ∴ A→B不冗余。 判断B→A是否冗余。 设,得 ∵ , ∴ B→A不冗余。 经检验后得函数依赖集仍然为F。 (3) 去掉各函数依赖左部冗余得属性。 本题只需考虑AB→C的情况。 方法一:在决定因素中去掉B,若,则以A→C代替AB→C。 求得:。 ∵ ∴ 以A→C代替AB→C。 故,Fm={A→C, A→B,B→A} 方法二:也可在决定因素中去掉A,若,则以B→C代替AB→C。 求得:。 ∵ ∴ 以B→C代替AB→C。 故,Fm={B→C, A→B,B→A} 例4 F={BE→G,BD→G,CDE→AB,CD→A,CE→G,BC→A,B→D,C→D},求Fmin. 解: (1) 先分解右边 F={BE→G,BD→G,CDE→A, CDE→B,CD→A,CE→G,BC→A,B→D,C→D} (2) 判断每个函数依赖,是否冗余。 F={ BD→G, CDE→B,CD→A,CE→G, B→D,C→D} (3) , 包含G ,用B→G代替BD→G ,未包含G ,不能用D→G代替BD→G ,包含B ,用CE→B代替CDE→B ,包含A ,用C→A代替CD→A Fmin={B→G,CE→B,C→A,CE→G,B→D,C→D } 候选码的确定 确定关系模式的候选码是进行规范化分析的出发点,有下述准则可以使用: 关系R(U,F)中,F是最小函数依赖集。 准则1:如果属性A只在F中各函数依赖的左端出现,则A必是码中的属性; 准则2:如果属性A只在F中各函数依赖的右端出现,则A必不是码中的属性; 确定候选码的步骤是: 对于关系模式R(U,F),求F的最小函数依赖集,仍用F表示。 根据准则1,确定码中必须有的属性集(设为M)。 根据准则2,去掉码中没有的属性集。 确定余下的属性集(设为W)。 从M开始,令K=M,如果,K就是候选码。否则从W选择属性加入到K中,直到,K就是候选码。 注意可能有多个候选码。 例5 设R(U,F),U=ABCDEG,F={BE→G,BD→G,CDE→AB,CD→A,CE→G,BC→A,B→D,C→D},求R的码。 解:(1) 求得 Fmin={B→G,CE

文档评论(0)

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

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档