数据库模式的分解ppt课件.ppt
《数据库模式的分解ppt课件.ppt》由会员分享,可在线阅读,更多相关《数据库模式的分解ppt课件.ppt(69页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、6.4 模式的分解v模式分解是提高关系模式规范化程度的主要途径。v主要内容:模式分解的三个定义分解的无损连接性和保持函数依赖性模式分解算法1v泛关系假设:在进行模式分解时,我们总是假设存在着一个单一的关系模式,并从这个关系模式出发,而不是从一组关系模式出发实行分解。然后讨论这个关系模式与分解后的一组关系模式之间的等价问题。2模式的分解定义6.16 关系模式R的一个分解:=R1,R2,RnU=U1U2Un,且不存在Ui Uj,Fi为F在Ui上的投影。定义6.17 函数依赖集合XY|XY F+XYUi的一个覆盖Fi 叫作F 在属性Ui 上的投影3例:将R=(ABCD,AB,BC,BD,CA)分解为
2、关于U1=AB,U2=ACD 两个关系,求R1,R2。解:R1=(AB,AB,BA)R2=(ACD,AC,CA,AD)要注意:F 在属性Ui 上的投影,不仅要包括已知的函数依赖,而且还要包括为F所逻辑蕴含的函数依赖。4v把低一级的关系模式分解为若干个高一级的关系模式的方法并不是唯一的v只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义5关系模式分解的标准三种模式分解的等价定义分解具有无损连接性分解要保持函数依赖分解既要保持函数依赖,又要具有无损连接性6v“无损连接性”是指分解后所得到的各个关系可以通过自然连接来实现还原;“还原”就是既不必比原来的信息多也不比原来的信息少,刚好一样。
3、比原来的信息多也不符合“无损连接性”的要求。v“保持函数依赖”是指分解后各个具体关系上的函数依赖集的并集刚好等价于原来关系上的依赖集;原来关系中个属性(属性组)之间的相互联系要在分解后还能得到完全而正确的体现。7模式的分解例2:SL(Sno,Sdept,MN)F=SnoSdept,SdeptMN 存在插入异常、删除异常、冗余度大和修改复杂等问题;分解方法可以有多种。8模式的分解9模式的分解(续)1.进行如下分解:1R1SNO,R2SDEPT,R3MN,(注:R1SNO,表示R1的函数依赖集为)分解后诸Ri的关系ri是R在Ui上的投影,即ri=RUi r1=S1,S2,S3,S4,r2=Dl,D
4、2,D3,r3=张五,李四,王一。.10SNOS1S2S3S4SDEPTD1D2D3MN张五李四王一r1 r2 r311模式的分解(续)分解后的数据库丢失了许多信息;例如无法查询S1学生所在系以及系主任的信息。12v如果分解后的数据库能够恢复到原来的情况,不丢失信息的要求也就达到了。v Ri向R的恢复是通过自然连接来实现的,这就产生了无损连接性的概念。v显然,本例的分解1所产生的诸关系自然连接(投影连接)的结果实际上是它们的笛卡尔积,元组增加了,信息丢失了。13v注意:本节中的自然连接与第二章中的自然连接有区别;在本节中,计算自然连接时,两个关系中如果有相同的属性列,则按第二章中的自然连接的定
5、义进行,如果两个关系中没有相同的属性列,则按笛卡儿积运算进行。14模式的分解(续)2.对R又进行第二种分解2=R1SNO,SDEPT,SNOSDEPT,R2SNO,MN,SNOMN 15SNO SDEPTS1 D1S2 D1S3 D2S4 D3SNO SMNS1张五S2张五S3李四S4王一R1R216v以后可以证明2对R的分解是可恢复的,但是前面提到的插入和删除异常仍然没有解决,原因就在于原来在R中存在的函数依赖 SDEPTMN,现在在R1和R2中都不再存在了。因此人们又要求分解具有保持函数依赖的特性。173 对R进行了第三种分解:3=R1SNO,SDEPT,SNOSDEPT,R2SDEPT,
6、MN,SDEPTMN SNO SDEPTS1 D1S2 D1S3 D2S4 D3SDEPT SMND1张五D2李四D3王一R1R218v可以证明分解3既具有无损连接性,又保持函数依赖。它解决了更新异常,又没有丢失原数据库的信息,这是所希望的分解。19模式的分解v 如果一个分解具有无损连接性,则它能够保证不丢失信息。v 如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况。v 分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。具有无损连接性的分解不一定能够保持函数依赖。同样,保持函数依赖的分解也不一定具有无损连接性。20设=R1,R2,.Rk是R的一个分解,r是R的一个关系。定义:
7、m(r)=R1(r)R2(r).Rk(r)(或 m(r)=Ri(r)),即 m(r)是r在中各关系模式上投影的连接。Ri(r)=t.Ui|tr,即r中的每一个元组t在属性Ui上的取值.6.4.2 分解的无损连接性i=1k21v 注意 的含义不同于一般的自然连接,它是一种特殊的连接运算。上式含义为:v 1)如果两个关系中有相同的属性列,则按第二章中的自然连接的定义进行;v 2)如果两个关系中没有相同的属性列,则按笛卡儿积运算进行;v 将运算后得到的中间与其他关系进行重复1)、2)步的计算,之到完成全部的连接运算22泛关系假设下的投影联接变换示意图关系模式R模式分解=R1,R2,.RkR的一个实例
8、rr1,r2,.rkS=m(r)Ri(r)Ri(s)232引理6.4设=R1,R2,.Rk为关系模式R的一个分解,r为R的任一个关系,ri=Ri(r),则 r m(r)(即r的投影连接包含r)如果s=m(r),则Ri(S)=ri m(m(r)=m(r)24r m(r)r的投影连接包含r,分解后再连接起来的r肯定不会比原来的r小;如果s=m(r),则Ri(S)=ri,投影连接后再投影到子关系模式=直接投影到该子关系模式。即Ri(r)=Ri(m(r),m(m(r)=m(r)多次投影连接的结果等于一次投影连接后的结果.25例:设有关系模式R(A,B,C),=R1,R2为它的一个分解,其中R1=AB,
9、R2=BC,r为R的一个关系,r1=R1(r),r2=R2(r),求 r1,r2,m(r),由此可得到什么结论?26rrr1=R1(r)r2=R2(r)m(r)A B Ca1 b1 c1a1 b1 c2a2 b1 c1a2 b1 c2A Ba1 b1a2 b1B Cb1 c1b1 c2r1=R1(m(r)r2=R2(m(r)27v结论:分解后的关系做自然联接必包含分解前的关系,即分解不会丢失信息,但可能增加信息,只有r=m(r)时,分解才具有无损联接性28具有无损连接性的模式分解v 定义6.18关系模式R的一个分解=R1,R2,Rn若对于R的任何一个关系r均有r=m(r)成立,则称分解具有无损
10、连接性(Losslessjoin)29v 注意:v 具有无损连接性的分解保证不丢失信息v 但是,无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题30算法6.2 判别一个分解的无损连接性v=R1,R2,Rn是R的一个分解,vU=A1,A2,AN,F=FD1,FD2,FDv 设F是一极小依赖集,记FDi为XiAli31算法6.2 判别一个分解的无损连接性1.构造初始表:构造一个k行n列的初始表,其中每列对应于R的一个属性,每行用于表示分解后的一个模式组成。如果属性Aj属于关系模式Ri,则在表的第i行第j列置符号aj否则置符号bij.322.根据F中的函数依赖修改表内容 考察F中的
11、每个函数依赖XY,在属性组X所在的那些列上寻找具有相同符号的行,如果找到这样的两行或更多的行,则修改这些行,则使这些行上属性组Y所在的列上元素相同。修改规则是:如果y所在的要修改的行中有一个为aj,则这些元素均变成aj;否则改动为bmj,,其中m为这些行的最小行号。注意,若某个bij被改动,则该列中凡是 与 bij相 同 的 符 号 均 做 相 同 的 改 动。循环地对F中的函数依赖进行逐个处理,直到发现表中有一行变为a1,a2,an或不能再被修改为止。333.判断分解是否是无损联接 如果通过修改,发现表中有一行变为a1,a2,an,则分解是无损联接的,否则分解不具有无损联接性。v 书上例题3
12、4例1:关系模式R(SAIP),F=SA,SIP,=R1(SA),R2(SIP)检验分解是否为无损联接?所以,分解是无损联接35例2:已知关系模式R(U,F),U=SNO,CNO,GRADE,TNAME,TAGE,OFFICE F=(SNO,CNO)GRADE,CNOTNAME,TNAME(TAGE,OFFICE)以及R上的两个分解 1=SC,CT,TO,其中SC=SNO,CNO,GRADE,CT=CNO,TNAME,TO=TNAME,TAGE,OFFICE试检验1的无损联接性。36定理6.5 设R的一个分解=R1,R2 具有无损分解的充分必要条件是:(U1U2)U1-U2F+或(U1U2)U
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 模式 分解 ppt 课件
限制150内