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

CH5 关系数据理论及求精.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CH5关系数据理论及求精要点

第一范式(1NF) ——码 定义5.16 如果一关系模式r(R)的每个属性对应的域值都是不可分的(即原子的),则称r(R)属于第一范式,记为r(R)?1NF. 第一范式的目标是:将基本数据划分成称为实体集或表的逻辑单元,当设计好每个实体后,需要为其指定主码。 studentNo studentName sex birthday age address classNo province city street 图5-10 非规范化的关系模式 studentNo studentName sex birthday age province city street classNo 图5-11 1NF规范化后的关系模式 第二范式(2NF) ——全部是码 定义5.17 设有一关系模式r(R),??R。若?包含在r(R)的某个候选码中,则称?为主属性,否则?为非主属性。 在SCE关系中,属性集{studentNo, courseNo}是SCE的唯一候选码。因此,属性studentNo和courseNo为主属性,其余属性为非主属性。 定义5.18 如果一个关系模式r(R)?1NF,且所有非主属性都完全函数依赖于r(R)的候选码,则称r(R)属于第二范式,记为r(R)?2NF。 SCE中存在依赖关系studentNo?studentName和courseNo? courseName,即非主属性studentName和courseName部分依赖于SCE的候选码{studentNo, courseNo},故SCE?2NF。 第二范式(2NF) ——全部是码 第二范式的目标:将只部分依赖于候选码(即依赖于候选码的部分属性)的非主属性移到其他表中。 也就是说,在满足第一范式的实体中,如果有复合候选码(即多个属性共同构成的候选码),那么所有非主属性必须依赖于全部的候选码,不允许依赖于部分的候选码属性。 即不允许候选码的一部分对非主属性起决定作用:全部是码 违背2NF的模式,即存在非主属性对候选码的部分依赖,则可能导致例5.1所述的数据冗余及异常问题。 第二范式(2NF) ——全部是码 对于非2NF范式的关系模式,可通过分解进行规范化,以消除部分依赖。 如将关系模式SCE分解为关系模式S、C和E。这样在每个关系模式中,所有非主属性对候选码都是完全函数依赖,因此都属于2NF范式。 2NF范式虽然消除了由于非主属性对候选码的部分依赖所引起的冗余及各种异常,但并没有排除传递依赖。因此,还需要对其进一步规范化。 第三范式(3NF) ——仅仅是码 第三范式的目标:去掉表中不直接依赖于候选码的非主属性. 定义5.19 如果一个关系模式r(R)?2NF,且所有非主属性都直接函数依赖于r(R)的候选码(即不存在非主属性传递依赖于候选码),则称r(R)属于第三范式,记为r(R)?3NF. 也就是说,在满足2NF的实体中,非主属性不能依赖于另一个非主属性(即非主属性只能直接依赖于候选码) 总之,所有的非主属性应该直接依赖于(即不能存在传递依赖,这是3NF的要求)全部的候选码(即必须完全依赖, 不能存在部分依赖,这是2NF的要求)。 第三范式(3NF) ——仅仅是码 [例5.16] r(R)=r(A, B, C, D),函数依赖集 F={AB→C, B→D}。r(R)的候选码为AB,r(R) ?2NF。 因为函数依赖B→D中的决定属性B只是候选码的一部分,即D部分依赖于候选码AB。 可将r(R)分解为r1(R1)=r1(A, B, C)、r2(R2)=r2(B, D)。 r1(R1)的候选码为AB,r2(R2)的候选码为B。 分解得到的r1(R1)和r2(R2)都属于3NF范式。 [例5.17] r(R)=r(A, B, C),函数依赖集F={A→B, B→C}。r(R)的候选码为A,r(R)?2NF,但 r(R)?3NF。 因为函数依赖B→C中的决定属性B不是候选码。 可将r(R)分解为r1(R1)=r1(A, B)、r2(R2)=r2(B, C)。 r1(R1)的候选码为A,r2(R2)的候选码为B。 则分解得到的r1(R1)和r2(R2)都属于3NF范式。 第三范式(3NF) ——仅仅是码 [例5.18] r(R)=r(A, B, C, D, E),函数依赖集F={AB→C, B→D, C→E}。r(R)的候选码为AB,r(R)?2NF。 因为函数依赖B→D中的决定属性B只是候选码的一部分,即D部分依赖于候选码AB。 r(R)分解为r1(R1)=r1(A, B, C)、r2(R2)=r2(B, D)、r3(R3)=r3(C, E) r1(R1)的候选码为AB,r2(R2)的候选码为B,r3(R3)的候选码为C。 它们都属

文档评论(0)

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

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

1亿VIP精品文档

相关文档