关系数据库_2.pptVIP

  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文档。上传文档
查看更多
关系数据库_2

关系模式的分解算法 算法:(达到4NF无损连接分解算法) 给定关系模式RU , F , ⒈令? = {RU , F} ⒉检查?中各关系模式是否属于4NF,若是,则 算法终止。 ⒊设? 中RiUi , Fi不属于4NF, 则存在非平凡多值依赖X??A,X不是Ri的码, 则XA是Ri的真子集,将Ri分解为?={S1,S1}, 其中US1 = XA, US2 = Ui ? {A} 以?代替Ri ,返回到⒉ 关系模式的分解算法 示例:U={A,B,C,D,E,G} F={A??BCG,B?AC,C?G} ⒈U1={A,E,D} U2={A,B,C,G} , F2={A??BCG,B?AC,C?G} ⒉U1={A,E,D} U2={C,G} , F2={C?G} U3={A,B,C}, F3={B?AC} 关系模式的分解算法 示例:U=(S#,P#,C#), F={(S#,C#)?P#, P#?C#} 不属于BCNF,分解为 U1=(S#,P#), U2=(P#,C#),F2={P#?C#} 丢失了函数依赖(S#,C#)?P#,原来一个学生选修一门课程时,只能对应一个老师;在新的关系模式下现在一个学生选修一门课程时,可能会对应多个老师。 关系模式的分解算法 保持函数依赖的分解 定义 若F+ = ( ? Fi)+, 则称R U , F 的分解 ? = {R1U1 , F1 , … , RnUn , Fn}保持函数依赖。 如表(职工,级别,工资)的分解, 分解一:(职工,工资),(工资,级别) 丢失函数依赖,级别?工资 分解二:(职工,级别),(工资,级别) 保持函数依赖。 关系模式的分解算法 如何判断分解保持函数依赖? 回忆: F+ = ( Fi)+ ? F ? ( Fi )+, Fi ? F+ 如对于{ABC,{A?B , B?C}}的分解{AB, {A?B},AC, {A?C}} 思考:B?C?{A?B, A?C}+ ? 检验:C? ? 关系模式的分解算法 结论:若要求分解保持函数依赖,那么分解后的模式总可以达到3NF,但不一定能达到BCNF。 算法:(达到3NF且保持函数依赖的分解) ⒈求F的正则覆盖FC 。 ⒉找出不在FC中出现的属性,将它们构成一个关 系模式,并从U中去掉它们(剩余属性仍记为U)。 ⒊若有X?A? FC ,且XA=U, 则={R},算法终止。 关系模式的分解算法 ⒋对FC按具有相同左部的原则进行分组(设为k 组),每一组函数依赖所涉及的属性全体为Ui, 令Fi为FC在Ui上的投影,则? = {R1U1 , F1 , … , RkUk , Fk}是RU , F的一个保持函数依赖的 分解,并且每个RiUi , Fi ?3NF。 关系模式的分解算法 示例 U={S#,SD,MN,C#,G} F={S#?SD,S#?MN,SD?MN,(S#,C#)?G} ⒈FC={S#?SD,SD?MN ,(S#,C#)?G} ⒉分组 {(S#,SD),S#?SD} {(SD,MN),SD?MN} {(S#,C#,G), (S#,C#)?G} A B C 1 1 1 2 1 1 2 2 1 A C 1 1 2 1 B C 1 1 2 1 A B C 1 1 1 1 2 1 2 1 1 2 2 1 关系模式的分解算法 示例:R(ABC;A?C,B?C) ⒈按保持无损连接分解 码为AB,分解为{AC;A?C},{AB}。 丢失了函数依赖B?C。 ⒉按保持函数依赖分解 进行分组,{AC;A?C},{BC;B?C}。 分解是有损的。 关系模式的分解算法 算法:(达到3NF且同时保持无损连接与函数依赖的分解) 设? = {R1U1 , F1 , … , RkUk , Fk}是RU , F的一个保持函数依赖的3NF分解。 设X为RU , F的码, 若有某个Ui,X ? Ui,则?即为所求, 否则令τ = ?∪{R? X,FX,τ即为所求。 关系模式的分解算法 示例: 求R(ABC;A?C,B?C)的保持无损连接和函数依赖的3NF分解。 ⒈按保持函数依赖分解 进行分组, ?={{AC;A?C},{BC;B?C}}。 ⒉码为AB τ = ?∪{AB} 最后的分解为: {{AC;A?C},{BC;B?C},{AB}} * * 数据库模式的好坏和关系中各属性间的依赖关系有

文档评论(0)

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

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

1亿VIP精品文档

相关文档