第4章 关系数据库理论.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文档。上传文档
查看更多
* 对于分解后的两个关系SD和SC,主键分别为SNO和(SNO,CNO),非主属性对主键完全函数依赖。因此,SD?2NF,SC?2NF,而且前面已经讨论,SCD的这种分解没有丢失任何信息,具有无损连接性。 分解后,SD和SC的函数依赖分别如图4.6和4.7所示。 SNO SN SNO CNO SCORE AGE DEPT MN 图4.6 SD中的函数依赖关系 图4.7 SC中的函数依赖关系 * 1NF的关系模式经过投影分解转换成2NF后,消除了一些数据冗余。 分析图4.5中SD和SC中的数据,可以看出,它们存储的冗余度比关系模式SCD有了较大辐度的降低。 学生的姓名、年龄不需要重复存储多次。这样便可在一定程度上避免数据更新所造成的数据不一致性的问题。 由于把学生的基本信息与选课信息分开存储,则学生基本信息因没选课而不能插入的问题得到了解决,插入异常现象得到了部分改善。 同样,如果某个学生不再选修C1课程,只在选课关系SC中删去该该学生选修C1的记录即可,而SD中有关该学生的其它信息不会受到任何影响,也解决了部分删除异常问题。 因此可以说关系模式SD和SC在性能上比SCD有了显著提高。 * 下面对2NF规范化作形式化的描述。 设关系模式R(X,Y,Z),R?1NF,但R2NF,其中,X是键属性,Y,Z是非键属性,且存在部分函数依赖,X  Y。设X可表示为X1、X2,其中X1 Y。则R(X,Y,Z)可以分解为R[X1,Y]和R[X,Z]。 因为X1→Y,所以R(X,Y,Z)=R[X1,Y]*R[X1,X2,Z]=R[X1,Y]*R[X,Z],即R等于其投影R[X1,Y]和[X,Z]在X1上的自然连接,R的分解具有无损连接性。 由于X1 Y,因此R[X1,Y]?2NF。若R[X,Z]2NF,可以按照上述方法继续进行投影分解,直到将R[X,Z]分解为属于2NF关系的集合,且这种分解必定是有限的。 * 2NF的缺点 数据冗余 插入异常 删除异常 更新异常 每个系名和系主任的名字存储的次数等于该系的学生人数 当一个新系没有招生时,有关该系的信息无法插入 某系学生全部毕业而没有招生时,删除全部学生的记录也 随之删除了该系的有关信息 更换系主任时,仍需改动较多的学生记录 之所以存在这些问题,是由于在SCD中存在着非主属性对主键的传递依赖。 分析SCD中的函数依赖关系,SNO→SN,SNO→AGE,SNO→DEPT,DEPT→MN,SNO MN,非主属性MN对主键SNO传递依赖。 为此,对关系模式SCD还需进一步简化,消除这种传递依赖,得到3NF。 * 4.4.3 第三范式 第三范式的定义 如果关系模式R∈2NF,且每个非主属性都不传递函数依赖于R的主关系键,则称R属于第三范式,简称3NF,记作R∈3NF。 如:SC(SNo,CNo,Score) 函数依赖为(SNo,CNo)→Score,非主属性Score不传递函数依赖于主关系键(SNo,CNo),因此,SC∈3NF。 又如:SD(SNo,SN,Age,Dept,MN) SNo→Dep和Dept→MN SNo → MN 非主属性MN与主关系键SNo间存在着传递函数依赖,所以SD 3NF。 主关系键 非主属性 t 非主属性 主关系键 第三范式具有如下性质: 1.如果R?3NF,则R也是2NF。 证明:3NF的另一种等价描述是:对于关系模式R,不存在如下条件的函数依赖,X→Y(Y X),Y→Z,其中X是键属性,Y是任意属性组,Z是非主属性,Z Y。在此定义下,令Y X,Y是X的真子集,则以上条件X→Y,Y→Z就变成了非主属性对键X的部分函数依赖,X Z。但由于3NF中不存在这样的函数依赖,所以R中不可能存在非主属性对键X的部分函数依赖,R必定是2NF 2.如果R?2NF,则R不一定是3NF。 例如,我们前面由关系模式SCD分解而得到的SD和SC都为2NF,其中,SC?3NF,但在SD中存在着非主属性MN对主键SNO传递依赖,SD3NF。对于SD,应该进一步进行分解,使其转换成3NF。 * * 3NF规范化 算法4.6 把一个关系模式分解为3NF,使它具有保持函数依赖性。 (1)如果Fmin中有一函数依赖X→A,且XA=R,则输出ρ={R},转(4)。 (2)如果R中某些属性与Fmin中所有依赖的左部和右部都无关,则将它们构成关系模式,从R中将它们分出去,单独构成一个模式。 (3)对于Fmin中的每一个函数依赖X→A,都单独构成一个关系子模式XA。若Fmin中有X→

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档