第6章(3)关系数据理论--模式分解PPT格式课件下载.ppt
- 文档编号:15562856
- 上传时间:2022-11-05
- 格式:PPT
- 页数:27
- 大小:278.50KB
第6章(3)关系数据理论--模式分解PPT格式课件下载.ppt
《第6章(3)关系数据理论--模式分解PPT格式课件下载.ppt》由会员分享,可在线阅读,更多相关《第6章(3)关系数据理论--模式分解PPT格式课件下载.ppt(27页珍藏版)》请在冰豆网上搜索。
无损分解;
投影;
无损连接性;
保持函数依赖算法:
算法:
1.判断保持函数依赖不变方法2.判别一个分解的无损连接性(算法6.2;
定理6.5)3.转换为2NF既有无损连接性又保持函数依赖的分解4.转换为3NF既有无损连接性又保持函数依赖的分解(算法6.4)5.转换为BCNF的无损连接分解(算法6.5)11/5/2022一、模式分解概念定义定义6.16关系模式R的一个分解:
=R1,R2,RnU=U1U2Un,且不存在UiUj,Fi为F在Ui上的上的投影。
投影。
定义定义6.17函数依赖集合函数依赖集合XY|XYF+XYUi的一个的一个覆盖Fi叫作叫作F在属性在属性Ui上的投影。
上的投影。
例例1:
R(ABCD),F=AB,BC,CD,=AB,ACDF1=?
,F2=?
上例:
F1=AB,F2=AC,CD11/5/2022二、几种模式分解方法例2:
SL(Sno,Sdept,Sloc)F=SnoSdept,SdeptSlocSnoSdeptSloc95001CSA95002ISB95003MAC95004ISB95005PHB11/5/2022第一种分解方法1.SL分解为三个关系模式:
=SN,SD,SOSNSDSOSnoSdeptSloc95001CSA95002ISB95003MAC95004PH95005分解后的关系为:
分解后丢失了许多信息丢失了许多信息.如:
无法查询95001学生所在系或所在宿舍。
分解后的关系若可通过自然连接恢复为原来的关系自然连接恢复为原来的关系,那么这种分解就没有丢失信息.。
11/5/2022第二种分解方法分解后的关系为:
NLDLSnoSlocSdeptSloc95001ACSA95002BISB95003CMAC95004BPHB95005B2.SL分解为下面二个关系模式:
=NL,DL11/5/2022第二种分解方法(续)NLDLSnoSlocSdept95001ACS95002BIS95002BPH95003CMA95004BIS95004BPH95005BIS95005BPH元组增加了,信息丢失了11/5/2022第三种分解方法3.将SL分解为下面二个关系模式:
=ND,NL分解后的关系为:
分解后的关系为:
NDNLSnoSdeptSnoSloc95001CS95001A95002IS95002B95003MA95003C95004IS95004B95005PH95005B11/5/2022第三种分解方法(续)NDNLSnoSdeptSloc95001CSA95002ISB95003MAC95004CSA95005PHB与SL关系一样,因此没有丢失信息11/5/2022具有无损连接性的模式分解R的一个分解的一个分解=R1,Rn若R与R1、R2、Rn自然连接的结果相等,则称R的这个分解具有无损连接性无损连接性(Losslessjoin)具有无损连接性的分解保证不丢失信息显然,第三种分解方法具有无损连接性无损连接性能否解决插入异常、删除异常、修改复杂、数据冗余等问题?
不能不能。
原因原因:
分解没有保持原关系中的函数依赖。
SL中的函数依赖SdeptSloc,没有投影到关系模式ND、NL上11/5/2022保持函数依赖的模式分解设关系模式R被分解为若干个关系模式R1,R2,Rn若若F所逻辑蕴含的函数依赖所逻辑蕴含的函数依赖一定一定也由分解得到的也由分解得到的某个关系某个关系模式模式中的函数依赖中的函数依赖Fi所逻辑蕴含所逻辑蕴含,则称R的这个分解是保持函数依赖的(Preservedependency)。
定义6.19若F+=(Fi)+,则,则R的分解=R1,R2,Rk保持函数依赖不变。
保持函数依赖不变。
-据此,可据此,可判断分解是否保持函数依赖判断分解是否保持函数依赖。
11/5/2022例3:
设关系模式R(ABCD),R分解为=AB,BC,CD。
(1)如果R上成立的函数依赖集为F=BA,CD,分解是否保持函数依赖?
(2)如果R上成立的函数依赖集为F=AB,CD呢?
判断分解是否保持函数依赖判断分解是否保持函数依赖11/5/2022第四种分解方法将SL分解为下面二个关系模式:
ND(Sno,Sdept),F1=SnoSdeptDL(Sdept,Sloc),F2=SdeptSloc可见可见:
l分解具有无损连接性,能够保证不丢失信息。
l分解保持了函数依赖,可以减轻或解决各种异常情况。
l是两个互相独立的标准。
11/5/2022算法算法6.2无损分解的测试
(一)无损分解的测试
(一)构造一张k行n列的表格三、判别一个分解的无损连接性若修改的最后一张表格中有一行是全a,那么称相对于F是无损分解,否则称损失分解。
对于F中一个FDXY,如果表格中有两行在X值上相等,在Y值上不相等,那么把这两行在Y值上也改成相等的值。
一直到表格不能修改为止。
11/5/2022例4:
(1)如果R上成立的函数依赖集为F1=BA,CD,是否具有无损分解?
(2)如果R上成立的函数依赖集为F2=AB,CD呢?
怎样判断分解的无损连结性a4a3b32b31CDb24a3a2b21BCb14b13a2a1ABDCBA(a)初始表格(b)修改后的表格示意图
(一)F1=BA,CDa4a3b32b31CDb24a3a2b21BCb14b13a2a1ABDCBA据BAa1据CDa4第二行全a,故为无损分解11/5/2022a4a3b32b31CDb24a3a2b21BCb14b13a2a1ABDCBAa4a3b32b31CDa4a3a2b21BCb14b13a2a1ABDCBA(a)初始表格(b)修改后的表格示意图
(二)F2=AB,CD11/5/2022无损分解的测试方法
(二)定理6.5R的一个分解=R1,R2具有无损分解的充分必要条件是:
(U1U2)(U1U2)F+或或(U1U2)(U2U1)F+仅适用于分解为两个关系模式的情况提问:
例5:
R,U为ABC,F=AB,BC
(1)1=AB,BC是否为无损分解?
是否保持函数依赖不变?
(2)2=AB,AC是否为无损分解?
11/5/2022四、模式分解算法四、模式分解算法算法:
分解成2NF模式集的算法设关系模式R(U),主码是W,R上还存在FDXZ,并且Z是非主属性和XW,那么WZ就是一个局部函数依赖。
此时应把R分解成两个模式R1(XZ),主码是X;
R2(U-Z),主码仍是W,外码是X如果R1和R2还不是2NF,则重复上述过程,一直到数据库模式中每一个关系模式都是2NF为止。
11/5/2022分解成2NF模式集的算法示例例6:
关系模式SLC(Sno,Sdept,Sloc,Cno,Grade)Sloc为学生住处,假设每个系的学生住在同一个地方。
F=(Sno,Cno)Grade,SnoSdept,SdeptSlocSLC码为:
(Sno,Cno)据算法:
SLC分解为两个关系模式,以消除这些部分函数依赖SL(Sno,Sdept,Sloc)SC(Sno,Cno,Grade)11/5/2022四、模式分解算法四、模式分解算法算法算法6.4:
将:
将R无损且保持依赖地分解成无损且保持依赖地分解成3NF模式集模式集对于R,先求出Fmin把Fmin中左部相同的FD用合并性合并起来。
对Fmin中,每个FDXY去构成一个模式XY。
在构成的模式集中,若每个模式都不包含都不包含R的的候选候选码码,把候选码作为一个模式放入模式集中。
这样得到的模式集是关系模式R的一个分解,并且这个分解既是无损分解,又能保持FD。
11/5/2022例7:
设关系模式R(ABCDE),R的Fmin=AB,CD,将R分解为3NF。
开始提出的问题:
SL(Sno,Sdept,Sloc),F=SnoSdept,SdeptSloc据算法算法6.4,将,将SL分解为:
ND(Sno,Sdept)F1=SnoSdeptDL(Sdept,Sloc)F2=SdeptSloc无损且保持依赖地分解成无损且保持依赖地分解成3NF模式集示例模式集示例11/5/2022对于关系模式R的分解(初始时=R),如果中有一个关系模式Ri不是BCNF。
据定义可知,Ri中存在一个非平凡FDXY,有X不包含码。
此时把Ri分解成XY和RiY两个模式。
重复上述过程,一直到中每一个模式都是BCNF。
算法6.5:
无损分解无损分解成BCNF模式集例8:
在关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。
4每一教师只教一门课。
每门课由若干教师教,某一学生选定某门课,就确定了一个固定的教师。
某个学生选修某个教师的课就确定了所选课的名称:
码?
(S,J)T,(S,T)J,TJ11/5/2022BCNF解决方法:
将STJ分解为二个关系模式:
ST(S,T)BCNF,TJ(T,J)BCNF没有任何属性对码的部分函数依赖和传递函数依赖STSTTJTJ11/5/2022分解算法l若要求分解既具有无损连接性,又保持函数依赖,则模式分解一定能够达到3NF,但不一定能够达到BCNF。
l若要求分解具有无损连接性,那么模式分解一定能够达到BCNF。
11/5/2022模式的分解小结目的目的:
保持函数依赖无损分解;
1.判断保持函数依赖方法2.判别一个分解的无损连接性(算法6.2;
定理6.5)3.转换为2NF既有无损连接性又保持函数依赖的分解4.转换为3NF既有无损连接性又保持函数依赖的分解(算法6.4)5.转换为BCNF的无损连接分解(算法6.5)11/5/2022小结4规范化理论为数据库设计提供了理论的指南和工具也仅仅是指南和工具4并不是规范化程度越高,模式就越好必须结合应用环境和现实世界的具体情况合理地选择数据库模式11/5/2022下课了。
休息一会儿。
11/5/2022
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据 理论 模式 分解