网站大量收购独家精品文档,联系QQ:2885784924

第4章关系模式的规范化设计理论重点.ppt

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
保持函数依赖的分解(3) 由定义可知,检验一个分解是否保持函数依赖,就是检验函数依赖集 是否覆盖函数依赖集F,即对于任意一个函数依赖X?Y?F是否由G根据Armstong公理导出,而由定理4.3可知,即是要检验是否有 。 由以上分析可得检验一个分解是否保持函数依赖的算法。 保持函数依赖的分解(4) 算法4.3 函数依赖测试 输入:R(U,F)和?={R1(U1), R2(U2), …, Rk(Uk)} 输出:?是否保持F的判断结果。 算法步骤: ⑴ 令G= ,F=F?G,Result=True ⑵ 对于F中的第一个函数依赖X?Y,计算 并令F=F?{X?Y}; ⑶ 若 ,则令Result=False,转⑷ 否则,若F??,转⑵,否则,转⑷; ⑷ 若Result=True则?保持函数依赖F,否则?不保持函数依赖F。 Y? 保持函数依赖的分解(5) 例4.25 设有关系模式R(A,B,C,D),F={A?B, B?C,C?D,D?A},模式R的一个分解? ={R1(A,B), R2(B,C), R3(C,D)}。判断?是否保持F。 解:由函数依赖集F和分解?可知: F1=?{A,B}(F)={A?B, B?A},F2=?{B,C}(F)={B?C, C?B},F3=?{C,D}(F) ={C?D, D?C}, 根据算法: ⑴ G={A?B, B?A,B?C, C?B,C?D,D?C}, F=F?G={D?A},Result=True 保持函数依赖的分解(6) ⑵对于函数依赖D?A,即令X={D},Y={A}有X?Y,F=F?{D?A}=? 由算法4.2计算得 ={A,B,C,D} ⑶ 因为 Y={A}? ={ A,B,C,D},转⑷ ⑷ Result=True 则?保持函数依赖F。 分解成3NF的模式集(1) 以下算法保证将一个关系模式R分解成3NF模式集,且既保持函数依赖又具有无损连接性。 算法4.4 将一个关系模式转换为3NF的保持函数依赖的分解。 输入:关系模式R,属性集合U和R上成立的函数依赖集F。 输出:R的一个分解?={R1(U1), R2(U2),…, Rk(Uk)},其中每个Ri(Ui)都是3NF的且? 保持函数依赖F。 分解成3NF的模式集(2) 算法步骤: ⑴求出函数依赖集F的最小覆盖并仍记为F, 令?=?。 ⑵若F中有函数依赖X?Y,满足XY=U,则?=??{R(U)},则转(6) ⑶如果U中某些属性U1在F的所有函数依赖的左部和右部都不出现,则把这些属性构成一个关系模式R(U1),并令?=??{R(U1)}。 (4)对F中所有以X为左部的函数依赖X?Y1, X?Y2,…,X?Yk,构成关系模式R(XY1Y2…Yk),令?=??{R(XY1Y2…Y1)} ,F=F-{X?Y1, X?Y2,…,} (5)若F= ? 转(6),否则,转(4)。 (6) 输出? 。 分解成3NF的模式集(3) 定理4.14 算法4.4把一个关系模式分解为保持函数依赖F的3NF模式集。 定理4.15 设?={R1(U1), R2(U2),…, Rk(Uk)}是由算法4.3得到的一个分解。设X是R(U)的一个候选键,若存在某个Ui 使X?Ui,则令?=?,否则令?=??{Rx(X)}。 则?是R的一个分解,?中所有模式都是3NF,且这个分解具有无损连接和保持函数依赖两个特性。 分解成3NF的模式集(4) 例4.26 设关系模式R(A,B,C,D,E,P),它满足的函数依赖集F={A?B,AE?P, CD?A,CE?D, BC?D}已是最小函数依赖集,将该关系模式分解为3NF且保持函数依赖。 ?={R1(A,B), R2(A,E,P), R3(C,D,A), R4(C,E,D), R5(B,C,D)} 算法3.5 达到BCNF保持无损连接性的分解。 设关系模式R<U, F>,令r={R},如果r中所有关系模式都达到BCNF,则结束;否则在r中选择不是BCNF的关系模式S,在S中必存在X→A,X不包含S的码,也不包含A。此时用S1和S2代替S,S1(XA),S2(S中的属性集A)。 【例3-6】关系模式R<U, F>,U={A, B, C, D, E},最小函数依赖集F={AB→C, B→D, D→E},码是AB。将R分解为BCNF且保持无损连接。 解: (1)D→E的决定因素不是R的码,将R分解为{R1(DE), R2(ABCD)},F1={D→E},F2={AB→C, B→D}。 (2)考虑R2中,

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档