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

链接地址:https://www.31ppt.com/p-1346710.html