第四节关系模式的分解特性.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  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文档。上传文档
查看更多
第四节关系模式的分解特性.doc

关系模式的分解特性 模式分解中存在的问题 设有关系模式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.21 设关系模式R(A, B, C),F={A-B,B-C},r是R(U)满足F的一个具体关系,如下表所示。下面,我们将R作出几个不同的分解,看看会出现什么样的问题 ⑴ 将R分解为ρ1={R1(A), R2(B), R3(C)},则相应关系r被分解为三个关系,虽然从范式的角度看,关系r1,r2,r3都是4NF,但这样的分解显然是不可取的。因为它不仅不能保持F,即从分解后的?1无法得出A?B,或B?C这种函数依赖,也不能使r得到“恢复”,这里所说的“恢复”意指无法通过对关系r1,r2,r3的连接运算操作得到与r一致的元组,甚至无法回答最简单的查询要求。 ⑵ 将R分解为ρ2={R4(A,B), R5(A,C) },对应关系r分解为r4,r5。这样分解后问题虽然少了一些,但由于不保持B-C,仍然存在插入和删除异常等问题。由表4.14可知,r通过 得到恢复,即r= 。这样的分解称为无损连接分解。 ⑶ 将R分解为ρ3={R5(A,C),R6(B,C)},对应关系r分解为r5,r6。则函数依赖A-B不被保持,而且r? 。此外,仍然存在插入和删除异常等问题。 ⑷ 将R分解为ρ4={R4(A,B),R6(B,C)},对应关系r分解为r4,r6。这是最好的一种分解,既保持了函数依赖F={A-B,B-C} (这样的分解称为保持函数依赖的分解),又可得到r= 。且不存在插入和删除异常等问题。 从上述实例分析中我们可以看到,一个关系模式的分解可以有几种不同的评判标准: ⑴分解具有无损连接性;{仍然存在插入和删除异常问题} ⑵分解保持函数依赖;{也存在插入和删除异常等问题}; ⑶ 分解既保持函数依赖,又具有无损连接性。{最好的}。 关系r的三种分解 二.无损连接 定义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的投影连接变换式。在一般情况下,r和mρ(r)不一定相等。对于关系模式R(U)关于F的无损连接条件是:任何满足F的关系r,有r=mρ(r)。 无损连接的测试 由于分解不一定具有无损连接性,因此,如何测试一个模式的分解具有无损连接性是一个很重要的问题。 例4.22 设关系模式R(A, B, C)的一个关系为r,将R(A, B, C)分解成两个模式R1(A, B)和R2(B,C)后,关系r相应分解为关系r1,r2,它们是r在相应的模式属性上投影得到。 关系r及其投影 现在利用r1和r2的自然连接运算计算mρ(r),其结果如下表所示,并与上表中关系r比较可以发现r包含于 mρ(r),所以R(A, B, C)分解成R1(A, B),R2(B, C)不是具有无损连接性的分解。 关系r1与关系r2的自然连接 如果一个关系模式的分解不是无损连接分解,那么分解后的关系通过自然连接运算无法恢复到分解前的关系。证关系模式分解具有无损连接性求在对模式进行分解时,必须利用该模式属性间函数依赖的性质,并通过适当的方法判别其分解是否为无损连接分解,以保证最终使用的分解的无损连接性。 算法4.2 无损连接的测试。 输入:关系模式R(U),其中U={A1, A2, …, An},R(U)上成立的函数依赖集F和R(U)的一个分解ρ={R1(U1), R2(U2), …, Rk(Uk)},其中U=U1∪U2∪…∪Uk。 输出:ρ相对于F具有或不具有无损连接性的判断。 计算方法和步骤: ⑴构造一张k行n列的表格,每列对应一个属性Aj(j=1, 2, …, n),每行对应一个模式Ri(Ui) 的属性集合(i=1, 2, …, k

文档评论(0)

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

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

1亿VIP精品文档

相关文档