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

数据库 原理 及应用 关系数据库理论.pptVIP

数据库 原理 及应用 关系数据库理论.ppt

  1. 1、本文档共77页,可阅读全部内容。
  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文档。上传文档
查看更多
第6章 关系数据库理论 6.3 关系模式的规范化 到目前为止,规范化理论已经提出了六类范式(有关4NF和5NF的内容不再详细介绍)。 各范式级别是在分析函数依赖条件下对关系模式分离程度的一种测度,范式级别可以逐级升高。 一个低一级范式的关系模式,通过模式分解转化为若干个高一级范式的关系模式的集合,这种分解过程叫作关系模式的规范化(Normalization)。 一个关系只要其分量都是不可分的数据项,就可称作规范化的关系,但这只是最基本的规范化。这样的关系模式是合法的。但人们发现有些关系模式存在插入、删除、修改异常、数据冗余等弊病。 规范化的目的就是使结构合理,消除存储异常,使数据冗余尽量小,便于插入、删除和更新。 规范化的基本原则就是遵从概念单一化“一事一地”的原则,即一个关系只描述一个实体或者实体间的联系。若多于一个实体,就把它“分离”出来。 6.3.2 关系模式规范化的步骤 规范化就是对原关系进行投影,消除决定属性不是候选码的任何函数依赖。具体可以分为以下几步: 1.对1NF关系进行投影,消除原关系中非主属性对码的部分函数依赖,将1NF关系转换成若干个2NF关系。 2.对2NF关系进行投影,消除原关系中非主属性对键的传递函数依赖,将2NF关系转换成若干个3NF关系。 3.对3NF关系进行投影,消除原关系中主属性对键的部分函数依赖和传递函数依赖,也就是说使决定因素都包含一个候选键。得到一组BCNF关系。 关系规范化的基本步骤如图所示。 6.3.2 关系模式规范化的要求 关系模式的规范化过程是通过对关系模式的投影分解来实现的,但是投影分解方法不是唯一的,不同的投影分解会得到不同的结果。 在这些分解方法中,只有能够保证分解后的关系模式与原关系模式等价的方法才是有意义的。 两个定义 无损连接性(Lossless Join):设关系模式R(U,F)被分解为若干个关系模式R1(U1,F1),R2(U2,F2),…, Rn(Un,Fn),其中U=U1UU2U…UUN ; Fi为F在Uj上的投影,如果R与R1,R2,…,Rn自然连接的结果相等,则称关系模式R的分解具有无损连接性。 函数依赖保持性(Preserve Dependency):设关系模式R(U,F)被分解为若干个关系模式R1(U1,F1),R2(U2,F2),…, Rn(Un,Fn),其中U=U1UU2…UUN,Fi为F在Uj上的投影,如果F所蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所蕴含,则称关系模式R的分解具有函数依赖保持性。 判断对关系模式的一个分解是否与原关系模式等价可以有三种不同的标准: 1.分解要具有无损连接性。 2.分解要具有函数依赖保持性。 3.分解既要具有无损连接性,又要具有函数依赖保持性。 第二种: S1(SNO,SN,AGE,DEPT) D1(SNO,MN) 分解后的关系如图6.18所示。 S1 D1 之所以存在上述问题,是因为分解得到的两个关系模式不是相互独立的。 SD中的函数依赖DEPT→MN既没有投影到关系模式S1上,也没有投影到关系模式D1上,而是跨在这两个关系模式上,也就是说这种分解方法没有保持原关系中的函数依赖,却用了原关系隐含的传递函数依赖SNO → MN。 该分解只具有无损连接性,而不具有函数依赖保持性。 第三种: S2(SNO,SN,AGE,MN) D2(DEPT,MN) 分解后的关系如图6.19所示。 S2 D2 分解以后,两个关系均为3NF,公共属性为MN,但MN SNO,MN DEPT,所以S2*D2≠SD。 S2和D2在MN上的自然连接的结果如图6.20。 S2*D2比原来的关系SD多了两个元组(S1,赵亦,17,自动化,刘伟)和(S4,李思,21,计算机,刘伟),因此也无法知道原来的SD关系中究竟有哪些元组,从这个意义上说,此分解方法仍然丢失了信息。所以其分解是不可恢复的。 另外,这种分解方法只保持了原来的SD中的DEPT→MN这个完全函数依赖而未用另外一个SNO→DEPT完全依赖,却用了原关系的传递函数依赖SNO MN。所以分解既不具有无损连接性,也不具有函数依赖保持性,同样存在着数据操作的异常情况。 经以上几种分解方法的分析,如果一个分解具有无损连接性,则能够保证不丢失信息。如果一个分解具有函数依赖保持性,则可以减轻或解决各种异常情况。 分解具有无损连接性和函数依赖保持性是两个相互独立的标准。具有无损连接性的分解不一定具有函数依赖保持性。同样,具有函数依赖保持性的分解也不一定具有无损连接性。 规范化理论提供了一套完整的模式分解方法,按照这套算法可以做到:如果要

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档