第二章_3逻辑结构设计.pptVIP

  1. 1、本文档共73页,可阅读全部内容。
  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文档。上传文档
查看更多
第二章_3逻辑结构设计

多属性依赖集候选关键字求法: 输入:关系模式R及其函数依赖集F 输出:R的所有候选关键字。 方法: (1)将R的所有属性分为四类: L类:仅出现在F的函数依赖左部的属性; R类:仅出现在F的函数依赖右部的属性; N类:在F的函数依赖左右两边均未出现的属性; LR类:在F的函数依赖左右两边均出现的属性; 并令X代表L、N类,Y代表LR类; (2)求X+,若包含了R的所有属性,则X即为R的唯一候选关键字,转(5),否则转(3); (3)在Y中取一属性A,求(XA)+,若它包含了R的所有属性,则转(4),否则,调换一属性反复进行这一过程,直到试完所有Y中的属性; (4)如果已找出所有的候选关键字,则转(5),否则在Y中依此取两个、三个,…,求他们的属性闭包,直到其闭包包含R的所有的属性。 (5)停止,输出结果。 (1)R=(W,X,Y,Z),F={X→Z, WX→Y} Candidate Key {W,X},1NF. (2) R(U,F),U={A , B , C , D,E} , F ={AB?CE, E ?AB,C ?D}; Candidate Key {A,B} and {E},2NF. (3) R(U,F),U={A , B , C , D} , F ={B?D, D ?B,AB ?C}; Candidate Key {A,B} and {A,D},3NF. (4)R(U,F),U={A , B , C} , F ={A?B, B ?A,A ?C}; Candidate Key {A}和{B},BCNF. (5)R(U,F),U={A , B , C} , F ={A?B, B ?A,C ?A}; Candidate Key {C},2NF. (6)R(U,F),U={A , B , C , D} , F ={A?C, D ?B}; Candidate Key {A,D},1NF. 例:假设某集团下属多个公司,集团数据库中有一关系模式R表示各公司项目和公司部门项目申请情况: R(公司编号,项目编号,预算经费,部门编号,负责人) 如果规定: ?? (1)公司编号都不同,一个公司内部门编号不同,但公司间部门编号有可能相同; (2)公司内项目编号不同,但不同公司的项目编号有可能相同; ?? (3)每个公司的每个项目只能由一个部门申请; ? (4)每个公司的每个部门只有一个负责人,而一个人可能负责多个部门; (5)每个公司的每个项目只有一个预算经费。 基本函数依赖: (公司编号,项目编号)?部门编号 (公司编号,部门编号)?负责人 (公司编号,项目编号)?预算经费 候选键(公司编号,项目编号) 最高达到第二范式。因为存在非键属性负责人对候选键的传递依赖。 如何分解? 1NF 2NF 3NF BCNF 消除非键属性对键的部分函数依赖 消除非键属性对键的传递函数依赖 消除键属性对键的部分和传递函数依赖 消除决定因素非键的非平凡函数依赖 分解: 确定一个关系是否属于 “好的” 形式. 如果关系R 不属于“好的”形式, 则将它分解为关系集合 {R1, R2, ..., Rn} 使得: 原模式 (R) 的所有属性都必须出现在分解结果 (R1, R2 ..., Rn)中, R = R1 ? R2 ... ? Rn 关系模式RU,F的一个分解: ρ={ R1U1,F1,R2U2,F2,…,RnUn,Fn} U=U1∪U2∪…∪Un,且不存在 Ui ? Uj,Fi 为 F在 Ui 上的投影 函数依赖集合{X→Y | X→Y ? F+∧XY ?Ui} 的一个覆盖 Fi 叫作 F 在属性 Ui 上的投影 无损连接分解: 将关系模式R分解为{R1, R2, ..., Rn},对模式R上的所有可能关系r,有: r = ?R1 (r) ?R2 (r) ... ?Rn (r) 有损连接的分解导致信息的丢失: 将student(sno, dept, head)分解为 R1=(sno), R2=(dept), R3=(head) R1=(sno,dept), R2=(sno,head) R 分解成R1 和R2 是无损连接的,当且仅当下列依赖中的至少一个属于F+: R1 ? R2 ? R1 R1 ? R2 ? R2 例:R = (A, B, C) F = {A ? B, B ? C) R1 = (A, B), R2 = (B, C) Lossless-join decomposition: R1 ? R2 = {B} and B ? BC 函数依赖保持 若F+ = (?

文档评论(0)

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

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

1亿VIP精品文档

相关文档