数据库——模式分解.ppt
《数据库——模式分解.ppt》由会员分享,可在线阅读,更多相关《数据库——模式分解.ppt(67页珍藏版)》请在课桌文档上搜索。
1、习题讲解,最小依赖集,1)考查AB,去掉它,计算A+=AC,不包含B,不能去掉2)考查 B A,去掉它,计算BB C A,包含A,可去掉它3)考查 B C,去掉它,计算BB,不包含C,不能去掉4)考查A C,去掉它,计算AA B C,包含C,可去掉它5)考查 C A,去掉它,计算CC,不包含A,不能去掉,1 2 3 4 5,求解关系模式的候选码,属性分类L类:只出现在函数依赖的左边的属性R类:只出现在函数依赖的右边的属性N类:在函数依赖的两边均未出现的属性LR类:出现在函数依赖的两边的属性,求解关系模式的候选码,对于给定的关系模式R及其函数依赖集F如果X是L或N类属性,则X必为R的任一候选码的
2、成员如果X是R类属性,则X必不在任何候选码中如果X是L和N类组成的属性组,且X+包含了全部属性,则X是R的唯一候选码,前例,例:关系模式CTHRSG,若最小依赖集为F=C T,HR C,CS G,HS R,HT R,候选关键字为HS?解:L、N类属性为HS,LR属性为CTR HS+=HS RCTG,包含全部属性,所以为唯一候选码,函数依赖图FDG用有向图表示的函数依赖,如,L或N类属性有E和C,LR类属性ADB,令X=EC,(EC)+=U,EC为R的唯一候选码。,对左边为单属性的函数依赖集求所有候选码,(1)求F的最小依赖集F(2)作出函数依赖图FDG(3)从FDG图中找出无入边的属性集X(4
3、)察看FDG图中有无回路,若无,则输出X并结 束,否则进行下一步(5)从各独立回路中各取一个结点的属性与X组成一个候选码,重复取得所有可能的组合,即R的全部候选码,算法:对左边为多属性的函数依赖集求所有候选码,(1)将R所有属性分为L,R,N,LR四类,并令X代表L,N两类,令Y代表LR类。(2)求X+,若X+包含R全部属性,则X即为R的唯一候选码,结束,否则转下一步。(3)在Y中取一属性A,求(XA)+,若它包含R的全部属性,则转下一步,否则换一个属性重试,直至试完所有Y中的属性。(4)若已找出所有候选码,则结束,否则在Y中依次取两个、三个、,求它们的属性闭包,直至其闭包包含R的全部属性。,
4、属于N-P完全问题(一类直观上难解可又找不出方法来证明它们的确难解的计算问题)多属性下求解候选码的充分条件,第六章 关系数据理论,6.1 数据依赖6.2 规范化6.3 数据依赖的公理系统6.4 模式的分解,6.4 模式的分解,把低一级的关系模式分解为若干个高一级的关系模式的方法并不是唯一的。只有能够保证分解后的关系模式与原关系模式等价,分解方法才有意义。,关系模式分解的标准,三种模式分解的等价定义 分解具有无损连接性 分解要保持函数依赖 分解既要保持函数依赖,又要具有无损连接性,模式的分解(续),定义6.16 关系模式R的一个分解:=R1,R2,Rn U=U1U2Un,且不存在 Ui Uj,F
5、i 为 F在 Ui 上的投影。定义6.17 函数依赖集合XY|XY F+XY Ui 的一个覆盖 Fi 叫作 F 在属性 Ui 上的投影,模式的分解(续),定义6.16 关系模式R的一个分解:=R1,R2,Rn U=U1U2Un,且不存在 Ui Uj,Fi 为 F在 Ui 上的投影。定义6.17 函数依赖集合XY|XY F+XY Ui 的一个覆盖 Fi 叫作 F 在属性 Ui 上的投影,模式的分解(续),例:SL(Sno,Sdept,Sloc)F=SnoSdept,SdeptSloc,SnoSloc SL2NF 存在插入异常、删除异常、冗余度大和修改复杂等问题分解方法可以有多种。,模式的分解(续
6、),SL Sno Sdept Sloc 95001 CS A 95002 IS B 95003 MA C 95004 IS B 95005 PH B,模式的分解(续),1.SL分解为下面三个关系模式:SN(Sno)SD(Sdept)SO(Sloc),分解后的关系为:,SN SD SO Sno Sdept Sloc 95001 CS A 95002 IS B 95003 MA C 95004 PH 95005,模式的分解(续),分解后的数据库丢失了许多信息 例如无法查询95001学生所在系或所在宿舍。如果分解后的关系可以通过自然连接恢复为原来的关系,那么这种分解就没有丢失信息,模式的分解(续),
7、2.SL分解为下面二个关系模式:NL(Sno,Sloc)DL(Sdept,Sloc)分解后的关系为:NL DL Sno Sloc Sdept Sloc 95001 A CS A 95002 B IS B 95003 C MA C 95004 B PH B 95005 B,模式的分解(续),NL DL Sno Sloc Sdept 95001 A CS 95002 B IS 95002 B PH 95003 C MA 95004 B IS 95004 B PH 95005 B IS 95005 B PH,模式的分解(续),NLDL比原来的SL关系多了3个元组 无法知道95002、95004、95
8、005 究竟是哪个系的学生元组增加了,信息丢失了,第三种分解方法,3.将SL分解为下面二个关系模式:ND(Sno,Sdept)NL(Sno,Sloc)分解后的关系为:,模式的分解(续),ND NL Sno Sdept Sno Sloc 95001 CS 95001 A 95002 IS 95002 B 95003 MA 95003 C 95004 IS 95004 B 95005 PH 95005 B,模式的分解(续),ND NL Sno Sdept Sloc 95001 CS A 95002 IS B 95003 MA C 95004 CS A 95005 PH B 与SL关系一样,因此没有
9、丢失信息。,具有无损连接性的模式分解,关系模式R的一个分解=R1,R2,Rn,若R与R1、R2、Rn自然连接的结果相等,则称关系,模式R的这个分解具有无损连接性(Lossless join)具有无损连接性的分解保证不丢失信息无损连接性不一定能解决插入异常、删除异常、修改复杂、数据冗余等问题,模式的分解(续),第三种分解方法具有无损连接性 问题:这种分解方法没有保持原关系中的函数依赖 SL中的函数依赖SdeptSloc,没有投影到关系模式ND、NL上,保持函数依赖的模式分解,设关系模式R被分解为若干个关系模式 R1,R2,Rn(其中U=U1U2Un,且不存在Ui Uj,Fi为F在Ui上的投影),
10、若F所逻辑蕴含的函数依赖一定也由分解得到的某个关系模式中的函数依赖Fi所逻辑蕴含,则称关系模式R的这个分解是保持函数依赖的(Preserve dependency)。,保持函数依赖的模式分解,例 子,R(A,B,C),F=AB,C B分解1=(A,B,AB),(A,C)分解2=(A,B,AB),(B,C,C B)计算分解1,2中3个模式的闭包FAB:A+=AB,B+=B,AB+=AB,则对AB的分解有函数依赖ABAC:A+=A,C+=C,AC+=AC,则对AC的分解没有函数依赖BC:B+=B,C+=CB,BC+=BC,则对BC的分解只有函数依赖CB分解1:只有AB,显然,分解1不具有依赖保持性
11、分解2:保留了所有函数依赖,具有依赖保持性,分析两种分解的依赖保持性?,第四种分解方法,SL(Sno,Sdept,Sloc)F=SnoSdept,SdeptSloc,SnoSloc将SL分解为下面二个关系模式:ND(Sno,Sdept)DL(Sdept,Sloc)这种分解方法就保持了函数依赖。,模式的分解(续),如果一个分解具有无损连接性,则它能够保证不丢失信息。如果一个分解保持了函数依赖,则它可以减轻或解决各种异常情况。分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。具有无损连接性的分解不一定能够保持函数依赖。同样,保持函数依赖的分解也不一定具有无损连接性。,模式的分解(续),第一
12、种分解方法既不具有无损连接性,也未保持函 数依赖,它不是原关系模式的一个等价分解 SN(Sno),SD(Sdept),SO(Sloc)第二种分解方法保持了函数依赖,但不具有无损连 接性。NL(Sno,Sloc),DL(Sdept,Sloc),SL(Sno,Sdept,Sloc)F=SnoSdept,SdeptSloc,SnoSloc,模式的分解(续),第三种分解方法具有无损连接性,但未持函数依赖 ND(Sno,Sdept),NL(Sno,Sloc)第四种分解方法既具有无损连接性,又保持了函数依赖 ND(Sno,Sdept),DL(Sdept,Sloc),SL(Sno,Sdept,Sloc)F=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 模式 分解
![提示](https://www.desk33.com/images/bang_tan.gif)
链接地址:https://www.desk33.com/p-250669.html