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

数据库04-第四章4节1详解.ppt

  1. 1、本文档共47页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 4 章 关系模式的规范化 设计理论 4.4.1 模式分解中存在的问题(1) 设有关系模式R(U)和R1(U1), R2(U2), …, Rk(Uk),其中U={A1, A2, …, An},Ui ?U(i=1,2,…, k) 且U=U1?U2?…?Uk。 令?={R1(U1), R2(U2), …, Rk(Uk)},则称?为R(U)的一个分解,也称为数据库模式,有时也称为模式集。 用?代替R(U)的过程称为关系模式的分解。 数据库模式?的一个具体取值记作 ?=(r1, r2, …, rk),称为数据库实例?。其中ri是?中关系模式Ri(Ui)对应的一个具体关系。 实际上,关系模式的分解,不仅仅是属性集合的分解,它是对关系模式上的函数依赖集,以及关系模式对应的具体关系进行分解的体现。 4.4.1 模式分解中存在的问题(2) 例4.21 设关系模式R(A, B, C),F={A?B,B?C},r是R(U)满足F的一个具体关系,如表4.12所示。下面,我们将R作出几个不同的分解,看看会出现什么样的问题 4.4.1 模式分解中存在的问题(3) ⑴ 将R分解为?1={R1(A), R2(B), R3(C)},则相应关系r被分解为三个关系(表4.13),虽然从范式的角度看,关系r1,r2,r3都是4NF,但这样的分解显然是不可取的。 因为它不仅不能保持F,即从分解后的?1无法得出A?B,或B?C这种函数依赖,也不能使r得到“恢复”. 这里所说的“恢复”意指无法通过对关系r1,r2,r3的连接运算操作得到与r一致的元组,甚至无法回答最简单的查询要求。 4.4.1 模式分解中存在的问题(4) ⑵ 将R分解为?2={R4(A,B), R5(A,C) },对应关系r分解为r4,r5。这样分解后问题虽然少了一些,但由于不保持B?C。由表4.12可知,r通过 得到恢复,即r= 。这样的分解称为无损连接分解。 4.4.1 模式分解中存在的问题(5) ⑶ 将R分解为?3={R5(A,C),R6(B,C)},对应关系r分解为r5,r6。则函数依赖A?B不被保持,而且r? 。 4.4.1 模式分解中存在的问题(5) ⑷ 将R分解为?4={R4(A,B),R6(B,C)},对应关系r分解为r4,r6。这是最好的一种分解,既保持了函数依赖F={A?B,B?C} (这样的分解称为保持函数依赖的分解),又可得到r= 。 4.4.1 模式分解中存在的问题(5) 从上述实例分析中我们可以看到,一个关系模式的分解除满足范式要求外,还可以有以下几种不同的评判标准: ⑴分解具有无损连接性;{可能丢失一些完整性信息} ⑵分解保持函数依赖;{可能丢失无损连接性}; ⑶ 分解既保持函数依赖,又具有无损连接性。{最好的}。 分解前与分解后的等价性。 4.4.2 无损连接(1) 定义4.18 设R(U)是一关系模式,F是R(U)满足的一个函数依赖集,将R(U)分解成关系模式?={R1(U1), R2(U2), …, Rk(Uk)},U=U1?U2?…?Uk。如果对R(U)中满足F的每一个具体关系r都有: 则称这个分解?相对于F具有无损连接性(Lossless Join Decomposition),简称?为无损连接分解,即r为它自己在Ui上投影的自然连接。 若令 。 因为在一般情况下,r和m?(r)不一定相等,因此,对于关系模式R(U)关于F的无损连接条件是:任何满足F的关系r,有r=m?(r)。 4.4.3 无损连接的测试(1) 由于分解不一定具有无损连接性,因此,如何测试一个模式的分解具有无损连接性是一个很重要的问题。 例4.22 设关系模式R(A, B, C)的一个关系为r (表4.15),将R(A, B, C)分解成两个模式R1(A, B)和R2(B,C)后,关系r相应分解为关系r1,r2(表4.15),它们是r在相应的模式属性上投影得到。 4.4.3 无损连接的测试(2) 表4.15 关系r及其投影 4.4.3 无损连接的测试(3) 现在利用r1和r2的自然连接运算计算m?(r),其结果如表4.16所示,并与表4.15中关系r比较可以发现r ? m?(r),所以R(A, B, C)分解成R1(A, B),R2(B, C)不是具有无损连接性的分解。 4.4.3 无损连接的测试(4) 如果关系模式的分解不是无损连接分解,则分解后的关系通过自然连接

文档评论(0)

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

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

1亿VIP精品文档

相关文档