数据库模式的分解.ppt

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

6.4 模式的分解 模式分解是提高关系模式规范化程度的主要途径。 主要内容: 模式分解的三个定义 分解的无损连接性和保持函数依赖性 模式分解算法 泛关系假设:在进行模式分解时,我们总是假设存在着一个单一的关系模式,并从这个关系模式出发,而不是从一组关系模式出发实行分解。然后讨论这个关系模式与分解后的一组关系模式之间的等价问题。 模式的分解 定义6.16 关系模式RU,F的一个分解: ρ={ R1U1,F1,R2U2,F2,…,RnUn,Fn} U=U1∪U2∪…∪Un,且不存在 Ui ? Uj,Fi 为 F在 Ui 上的投影。 定义6.17 函数依赖集合{X→Y | X→Y ? F+∧XY ?Ui} 的一个覆盖 Fi 叫作 F 在属性 Ui 上的投影 例:将R=(ABCD,{A→B,B→C,B→D,C→A})分解为关于U1=AB,U2=ACD 两个关系,求R1,R2。 解:R1=(AB,{A→B,B→A}) R2=(ACD,{A→C,C→A,A→D}) 要注意: F 在属性 Ui 上的投影,不仅要包括已知的函数依赖,而且还要包括为F所逻辑蕴含的函数依赖。 把低一级的关系模式分解为若干个高一级的关系模式的方法并不是唯一的 只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义 关系模式分解的标准 三种模式分解的等价定义 ⒈ 分解具有无损连接性 ⒉ 分解要保持函数依赖 ⒊ 分解既要保持函数依赖,又要具有无损连接性 “无损连接性”是指分解后所得到的各个关系可以通过自然连接来实现还原;“还原”就是既不必比原来的信息多也不比原来的信息少,刚好一样。比原来的信息多也不符合“无损连接性”的要求。 “保持函数依赖”是指分解后各个具体关系上的函数依赖集的并集刚好等价于原来关系上的依赖集;原来关系中个属性(属性组)之间的相互联系要在分解后还能得到完全而正确的体现。 模式的分解 例2: SL(Sno, Sdept, MN) F={ Sno→Sdept, Sdept→MN} 存在插入异常、删除异常、冗余度大和修改复杂等问题; 分解方法可以有多种 。 模式的分解 模式的分解(续) 1.进行如下分解: ρ1={R1〈SNO,φ〉,R2〈SDEPT,φ〉,R3〈MN,φ〉} (注:R1〈SNO,φ〉表示R1的函数依赖集为φ) 分解后诸Ri的关系ri是R在Ui上的投影,即ri=R[Ui] r1={S1,S2,S3,S4},r2={Dl,D2,D3},r3={张五,李四,王一}。 . 模式的分解(续) 分解后的数据库丢失了许多信息; 例如无法查询S1学生所在系以及系主任的信息。 如果分解后的数据库能够恢复到原来的情况,不丢失信息的要求也就达到了。 Ri向R的恢复是通过自然连接来实现的,这就产生了无损连接性的概念。 显然,本例的分解ρ1所产生的诸关系自然连接(投影连接)的结果实际上是它们的笛卡尔积,元组增加了,信息丢失了。 注意:本节中的自然连接与第二章中的自然连接有区别;在本节中,计算自然连接时,两个关系中如果有相同的属性列,则按第二章中的自然连接的定义进行,如果两个关系中没有相同的属性列,则按笛卡儿积运算进行。 模式的分解(续) 2. 对R又进行第二种分解 ρ2={R1〈{SNO,SDEPT},{SNO→SDEPT}〉, R2〈{SNO,MN},{SNO→MN}〉} 以后可以证明ρ2对R的分解是可恢复的,但是前面提到的插入和删除异常仍然没有解决,原因就在于原来在R中存在的函数依赖 SDEPT→MN,现在在R1和R2中都不再存在了。因此人们又要求分解具有保持函数依赖的特性。 3 对R进行了第三种分解: ρ3={R1{SNO,SDEPT},{SNO→SDEPT}〉, R2〈{SDEPT,MN},{SDEPT→MN}〉} 可以证明分解ρ3既具有无损连接性,又保持函数依赖。它解决了更新异常,又没有丢失原数据库的信息,这是所希望的分解。 模式的分解 如果一个分解具有无损连接性,则它能够保证不丢失信息。 如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况。 分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。具有无损连接性的分解不一定能够保持函数依赖。同样,保持函数依赖的分解也不一定具有无损连接性。 6.4.2 分解的无损连接性 注意 的含义不同于一般的自然连接,它是一种特殊的连接运算。上式含义为: 1)如果两个关系中有相同的属性列,则按第二章中的自然连接的定义进行; 2)如果两个关系中没有相同的属性列,则按笛卡儿积运算进行; 将运算后得到的中间与其他关系进行重复1)、

文档评论(0)

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

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

1亿VIP精品文档

相关文档