关系数据库设计理论解析.ppt
- 文档编号:9083220
- 上传时间:2023-05-16
- 格式:PPT
- 页数:88
- 大小:531.50KB
关系数据库设计理论解析.ppt
《关系数据库设计理论解析.ppt》由会员分享,可在线阅读,更多相关《关系数据库设计理论解析.ppt(88页珍藏版)》请在冰点文库上搜索。
第六章关系数据库设计理论,主要内容,关系数据库存在问题;函数依赖范式多值依赖与第4范式*关系模式的规范化*数据依赖的公理系统*关系模式的分解算法*,存在的问题(),示例:
考虑为管理职工的工资信息而设计一个关系模式。
存在的问题(),问题:
麻烦!
麻烦!
好麻烦!
唉,剪不断,理还乱插入异常:
如果没有职工具有8级工资,则8级工资的工资数额就难以插入。
删除异常:
如果仅有职工赵明具有4级工资,如果将赵明删除,则有关4级工资的工资数额信息也随之删除了。
数据冗余:
职工很多,工资级别有限,每一级别的工资数额反复存储多次。
更新异常:
如果将5级工资的工资数额调为620,则需要找到每个具有5级工资的职工,逐一修改。
存在的问题(),解决之道:
分解!
分解!
再分解!
哇,原来可以如此简单,8,900,7,800,存在的问题(),有关学生的关系模式S(S#,SN,SD,DEAN,C#,G),快速热身:
它有哪些数据冗余?
望闻问切:
不良的数据依赖,函数依赖(),定义函数依赖:
设R(U)是属性集U上的关系模式,X,YU,r是R(U)上的任意一个关系,如果成立对t,sr,若tX=sX,则tY=sY,那么称“X函数决定Y”,或“Y函数依赖于X”,记作XY。
称X为决定因素。
如S#SN,(S#,C#)G平凡函数依赖:
如果XY,但YX,则称其为非平凡的函数依赖,否则称为平凡的函数依赖。
如(S#,SN)SN是平凡的函数依赖,函数依赖(),部分函数依赖:
在R(U)中,如果XY,且对于任意X的真子集X,都有XY,则称Y对X完全函数依赖,记作XY,否则称为Y对X部分函数依赖,记作XY。
(S#,C#)G,(S#,C#)SN快速热身2:
找出S中的另一部分函数依赖。
传递函数依赖:
在R(U)中,如果XY,YZ,且YX,YX,则称Z对X传递函数依赖。
S#SD,SDDEAN快速热身3:
找出职工工资表中的传递函数依赖。
码,属性集U上的关系模式R(U)常表示为R,F是属性集U上的一组函数依赖。
用函数依赖定义码:
超码:
设K为R的属性或属性组,若KU,则称K为R的超码。
候选码:
设K为R的超码,若KU,则称K为R的候选码。
主码:
若R(U,F)有多个候选码,则可以从中选定一个作为R的主码。
主属性:
包含在每一个候选码中的属性,称作主属性。
全码:
关系模式的码由整个属性组构成。
如(S#,C#,P#),事例,关系模式S(S#,SN,SD,DEAN,C#,G)主码:
(S#,C#)函数依赖:
(S#,C#)GS#SN,(S#,C#)SNS#SD,(S#,C#)SDSDDEAN,范式,定义范式是对关系的不同数据依赖程度的要求;是符合某一种级别的关系模式的集合。
通过模式分解将一个低级范式转换为若干个高级范式的过程称作规范化(概念的纯粹化)。
范式,1NF(),定义关系中每一分量不可再分。
即不能以集合、序列等作为属性值。
1NF(),分量是否需要再分,与具体应用有关。
如果用到值的一部分,则需要进一步分割。
如果只是查询出生日期,则它满足1NF。
如果查询两人生日是否相同,则只比较月、日,需要将生日分解,就不满足1NF。
如果比较两人的生肖呢?
2NF(),关系模式S(S#,SN,SD,DEAN,C#,G)满足1NF的可能不良特性:
插入异常:
如果学生没有选课,关于他的个人信息及所在系的信息就无法插入。
删除异常:
如果删除学生的选课信息,则有关他的个人信息及所在系的信息也随之删除了。
更新异常:
如果学生转系,若他选修了k门课,则需要修改k次。
数据冗余:
如果一个学生选修了k门课,则有关他的所在系的信息重复,2NF(),定义若R1NF,且每个非主属性完全依赖于码,则称R2NF(消除非主属性对码的部分依赖)。
如S2NF,因为(S#,C#)SN,(S#,C#)SD改造非主属性有两种,一种完全依赖于码,一种部分依赖于码。
将S分解为:
SC(S#,C#,G)S_SD(S#,SN,SD,DEAN),3NF(),S_SD(S#,SN,SD,DEAN)不良特性插入异常:
如果系中没有学生,则有关系的信息就无法插入。
删除异常:
如果学生全部毕业了,则在删除学生信息的同时有关系的信息也随之删除了。
更新异常:
如果学生转系,不但要修改SD,还要修改DEAN,如果换系主任,则该系每个学生元组都要做相应修改。
数据冗余:
每个学生都存储了所在系的系主任的信息。
3NF(),定义关系模式R中,若不存在这样的码X,属性组Y及非主属性Z(ZY),使得下式成立,XY,YZ,YX则称R3NF(消除非主属性对码的传递依赖)。
如S_SD3NF,因为有S#SD,SDDEAN改造将S分解为:
STUDENT(S#,SN,SD)DEPT(SD,DEAN),3NF(),快速热身关系模式R(A,B,C,D),码为AB,给出它的一个函数依赖集,使得R属于2NF而不属于3NF。
BCNF(),示例SPC(S#,P#,C#),P#C#,每位老师只教授一门课(S#,P#)C#(S#,C#)P#,某学生选定一门课,就对应一位老师(S#,P#),(S#,C#)为候选码。
思考SPC3NF?
BCNF(),不良特性插入异常:
如果没有学生选修某位老师的任课,则该老师担任课程的信息就无法插入。
删除异常:
删除学生选课信息,会删除掉老师的任课信息。
更新异常:
如果老师所教授的课程有所改动,则所有选修该老师课程的学生元组都要做改动。
数据冗余:
每位学生都存储了有关老师所教授的课程的信息。
症由:
主属性对码的不良依赖。
BCNF(),定义关系模式R中,对于属性组X,Y,若XY且YX时,X必含有候选码,则RBCNF。
如SPCBCNF,因为P#C#,而P#不含有码。
改造将S分解为(S#,P#),(P#,C#)。
性质所有非主属性都完全函数依赖于每个候选码;所有主属性都完全函数依赖于每个不包含它的候选码;没有任何属性完全函数依赖于非码的任何一组属性。
多值依赖(),关系模式TEACH(C#,P#,B#),一门课程由多个教员担任,一门课程使用相同的一套参考书。
它的码是(C#,P#,B#),所以属于BCNF。
多值依赖(),不良特性插入异常:
当某门课程增加一名教员时,该门课程有多少本参考书就必须插入多少个元组;同样当某门课程需要增加一本参考书时,它有多少个教员就必须插入多少个元组。
删除异常:
当删除一门课程的某个教员或者某本参考书时,需要删除多个元组。
更新异常:
当一门课程的教员或参考书作出改变时,需要修改多个元组。
数据冗余:
同一门课的教员与参考书的信息被反复存储多次。
多值依赖(),定义描述型:
关系模式R(U),X、Y、ZU,并且Z=UXY,多值依赖XY成立当且仅当对R(U)的任一关系r,给定的一对(x,z)值有一组Y的值,这组值仅仅决定于x值而与z值无关。
如在关系模式TEACH中,对(C1,B1)有一组P#值(P1,P2),对(C1,B2)也有一组P#值(P1,P2),这组值仅取决于C#的取值,而与B#的取值无关。
因此,P#多值依赖于C#,记作C#P#,同样有C#B#。
多值依赖(),形式化:
关系模式R(U),X、Y、ZU,Z=UXY,对于R(U)的任一关系r,若存在元组t1,t2,使得t1X=t2X,那么就必然存在元组t3,t4,使得:
t3X=t4X=t1X=t2Xt3Y=t1Y,t4Y=t2Yt3Z=t2Z,t4Z=t1Z则称Y多值依赖与X,记作XY。
若(C#,P#,B#)满足C#P#,含有元组t1=(C1,P1,B1),t2=(C1,P2,B2),则也一定含有元组t3=(C1,P1,B2),t2=(C1,P2,B1)。
多值依赖(),找出关系上所满足的多值依赖。
CB?
若使BC成立,需加入哪些元组?
t1t2,t3t4,t3t4,多值依赖(),性质多值依赖具有对称性,即若XY,则XZ,其中Z=UXY。
函数依赖是多值依赖的特例,即若XY,则XY。
若XY,UXY=,则称XY为平凡的多值依赖。
多值依赖Vs函数依赖(),区别函数依赖规定某些元组不能出现在关系中,也称为相等产生依赖。
多值依赖要求某种形式的其它元组必须在关系中,称为元组产生依赖。
有效性范围XY的有效性仅决定于X、Y属性集上的值,它在任何属性集W(XYWU)上都成立。
若XY在R(U)上成立,则对于任何YY,均有XY成立。
多值依赖Vs函数依赖(),XY的有效性与属性集范围有关。
XY在属性集W(XYWU)上成立,但在U上不一定成立。
XY在U上成立XY在属性集W(XYWU)上成立。
若在R(U)上,XY在属性集W(XYWU)上成立,则称XY为R(U)的嵌入式多值依赖。
若XY在R(U)上成立,则不能断言对于YY,是否有XY成立。
多值依赖Vs函数依赖(),4NF,定义关系模式R1NF,若XY(YX)是非平凡的多值依赖,且X含有码,则称R4NF。
如关系模式CPB,C#P#,C#B#,码为(C#,P#,B#),所以CPB4NF。
如果一门课Ci有m个教员,n本参考书,则关系中分量为Ci的元组共有mn个,数据冗余非常大。
改造将CPB分解为CP(C#,P#),CB(C#,B#),在分解后的关系中分量为Ci的元组共有m+n个。
盘点,任何一个二目关系模式R(A,B)一定属于BCNF吗?
一定属于4NF吗?
关系模式R(A,B,C),ABC一定成立吗?
一个全是主属性的关系模式一定可以达到第几范式?
一个全码的关系模式一定可以达到第几范式?
关系模式的规范化,关系模式的规范化,范式之间的关系(),3NF2NF反证:
若R3NF,但R2NF,则按2NF定义,一定有非主属性部分依赖于码,设X为R的码,则存在X的真子集X,以及非主属性Z(ZX),使得XZ。
于是在R中存在码X,属性组X,以及非主属性Z(ZX),使得XX,XZ,XX成立,这与R3NF矛盾。
所以R2NF。
范式之间的关系(),BCNF3NF反证:
若RBCNF,但R3NF,则按3NF定义,一定有非主属性对码的传递依赖,于是存在:
R的码X,属性组Y,以及非主属性Z(ZY),使得XY,YZ,YX成立。
由YZ,按BCNF定义,Y含有码,于是YX成立,这与YX矛盾。
所以R3NF。
4NFBCNF,模式分解中的问题,实例1表(职工,级别,工资)可以有两种分解途径,分解一:
(职工,工资),(工资,级别)分解二:
(职工,级别),(工资,级别)不同行业机构的不同工资级别会有相同工资数额,因此按分解一,有可能导致同一职工对应不同的工资级别,从而丢失了有关职工工资级别的信息(丢失了函数依赖:
职工级别)。
丢失函数依赖,模式分解中存在的问题,R(A,B,C),AB(R),BC(R),AB(R),BC(R),R(A,B,C),AB(R),BC(R),AB(R),BC(R),有损分解,无损分解,数据依赖的公理系统,定义关系模式R,对于其上任意一个关系r,若函数依赖XY都成立,则称F逻辑蕴涵XY。
在关系模式R中,为F所逻辑蕴涵的函数依赖的全体称作F的闭包,记作F+。
例:
F=XY,YZ,则XZF+。
Armstrong公理X,Y,Z是属性集,自反律。
若YX,则XY。
增广律。
若XY,则XZYZ。
传递律。
若XY,YZ,则XZ。
数据依赖的公理系统,Armstrong公理的有效性及完备性A=f|可用Armstrong公理从F中导出的函数依赖fB=f|被F所逻辑蕴涵的函数依赖f有效性:
用Armstrong公理从F中导出的函数依赖必为F所蕴涵。
AB完备性:
F所蕴涵的函数依赖都能用Armstrong公理从F中导出。
BA,数据依赖的公理系统,关于Armstrong公理有效性的证明,按函数依赖定义r是R上的任一关系,t,sr,增广律,自反律,数据依赖的公理系统,由Armstrong公理导出的推理规则合并律。
若XY,XZ,则XYZ。
分解律。
若XYZ,则XY,XZ。
伪传递律。
若XY,WYZ,则XWZ。
传递律,数据依赖的公理系统,合并律,示例R,U=(A,B,C,G,H,I),F=AB,AC,CGH,CGI,BH,AH?
CGHI?
AGI?
数据依赖的公理系统,问题:
有没有一般性的算法判定XY是否能由F根据Armstrong公理导出?
属性集的闭包设F为属性集U上的一组函数依赖,XU,=A|XA能由F根据Armstrong公理导出称为属性集X关于函数依赖集F的闭包。
引理一:
XA1A2Ak成立XAi成立(i=1,2,k)证明:
由合并律由分解律,数据依赖的公理系统,引理二F逻辑蕴涵XYY,Y,对Y中任意属性A,有XA,引理一,XY,必要性:
若Y,XA不能由F导出,引理一,XY也不能由F导出,充分性:
Y中有属性A,F逻辑蕴涵XY,矛盾,数据依赖的公理系统,算法(求属性集的闭包)由引理二,判定XY是否能由F根据Armstrong公理导出,可转化为求,判定Y是否成立。
Input:
X,FOutput:
:
=X;while(发生变化)doforeach函数依赖ABinFdobeginifAthen:
=Bend,开始:
算法会终止吗?
数据依赖的公理系统,示例1R,U=(A,B,C,G,H,I),F=AB,AC,CGH,CGI,BH,计算。
所用依赖ABAGBACAGBCCGHAGBCHCGIAGBCHI=AGBCHI,数据依赖的公理系统,示例2R,U=(A,B,C,D,E),F=ABC,BD,CE,CEB,ACB,计算。
所用依赖ABCABCBDABCDCEABCDE=ABCDE,数据依赖的公理系统,示例2R,U=(A,B,C,D,E,G),F=AE,BEAG,CEA,GD,计算。
所用依赖AEABEBEAGABEGGDABEGD=ABEGD,数据依赖的公理系统,练习R,U=(C,T,H,R,S),F=CT,HRC,HTR,HSR,HR是码吗?
HS呢?
数据依赖的公理系统,Armstrong公理完备性的证明证明:
用反证法,假定存在函数依赖XY被F逻辑蕴涵,但XY不能用Armstrong公理从F中导出。
由引理二,Y,Y,U构造R(U)上的关系r如下:
r(U)t10s11下面证明
(1)r满足F。
(2)r不满足XY。
数据依赖的公理系统,
(1)r满足F设WV是F的一个函数依赖,,r满足函数依赖WV,即r是R上的关系
(2)r不满足XYY,所以Y中至少存在一个属性A在r中有tX=sX,而tAsA,所以tYsY,即XY不成立。
数据依赖的公理系统,函数依赖集的等价变换例:
r是关系模式R(A,B,C)上的一个关系,用SQL检测在r上是否满足函数依赖BC。
满足函数依赖BC,等价于以下查询为空:
selectBfromrgroupbyBhavingcount(distinctC)1可以简化给定的函数依赖集,同时保持其闭包不变,以降低系统检测的开销。
数据依赖的公理系统,定义函数依赖集的等价性函数依赖集F,G,若F+=G+,则称F与G等价。
F+=G+FG+,GF+正则覆盖(最小覆盖)满足下列条件的函数依赖集F称为正则覆盖,记作FC:
单属性化:
F中任一函数依赖XA,A必是单属性。
无冗余化:
F中不存在这样的函数依赖XA,使得F与FXA等价。
既约化:
F中不存在这样的函数依赖XA,在X中有真子集Z,使得F与FXAZA等价。
数据依赖的公理系统,算法求解函数依赖集F的正则覆盖FC单属性化:
逐个检查F中各函数依赖FDi:
XY,若Y=A1A2Ak,k2,则用诸XAi代替Y。
无冗余化:
逐个检查F中各函数依赖XA,令G=FXA,若A,则从F中去掉该函数依赖。
既约化:
逐个检查F中各函数依赖XA,设X=B1Bm,逐个考查Bi,若A,则以(XBi)取代X。
数据依赖的公理系统,示例一F=AB,BA,AC,BC,求FC。
检查AB,G=FAB=BA,AC,BC=A,C,BA,C检查AC,G=FAC=AB,BA,BC=A,B,C,BA,B,C所以从F中删除AC,FC=AB,BA,BC或者FC=AB,BA,AC,数据依赖的公理系统,示例二F=CA,AG,CGB,BA,求FC。
F是无冗余的。
判断CGB,=GB=C,A,G,BB,以C代替CG最后,FC=CA,AG,CB,BA,数据依赖的公理系统,多值依赖的公理系统自反律。
若YX,则XY。
增广律。
若XY,则XZYZ。
传递律。
若XY,YZ,则XZ。
补充律。
若XY,则XUXY。
多值增广律。
若XY,VWU,则XZYZ。
多值传递律。
若XY,YZ,则XZY。
复制律。
若XY,则XY。
联合律。
若XY,WZ,ZY,WY=,则有XZ。
关系模式的分解算法,分解的基本代数运算投影自然连接分解的目标无损连接分解保持函数依赖达到更高级范式,关系模式的分解算法,模式分解函数依赖集合Fi=XY|XYF+XYUi称为F在Ui上的投影关系模式R的一个分解是指=R1,R2,Rn其中U=Ui,并且没有UiUi,1i,jn,Fi是F在Ui上的投影。
如R,U=(A,B,C),F=AB,BC可以有分解:
R1,R2,R3R1,R2,关系模式的分解算法,保持无损的模式分解有损分解的例子,R(A,B,C),AB(R),BC(R),AB(R),BC(R),关系模式的分解算法,无损连接分解定义(分解为两个关系模式)关系模式R(U),U1,U2U,U1U2=U,r是R上的一个关系,r1=U1(r),r2=U2(r),若r=r1r2,则称(r1,r2)是r的一个无损连接分解。
注:
rU1(r)U2(r)。
R(A,B,C),AB(R),BC(R),AB(R),BC(R),关系模式的分解算法,定理若U1U2U1(或U2),则r=U1(r)U2(r)。
证明:
对tU1(r)U2(r),t1,t2r,使得tU1=t1U1,tU2=t2U2t,t1,t2在U1U2上值均相等,U1U2U1,tU1=t2U1,t=t2r,rU1(r)U2(r),关系模式的分解算法,定理关系模式R(U),U1,U2U,U1U2=U,r是R上的一个关系,U1U2U1U2在r上成立的充要条件是U1(r)U2(r)是r的一个无损连接分解。
以(C#,P#,B#)为例,C#P#,C#B#按定理,分解(C#,P#),(C#,B#)是无损的。
关系模式的分解算法,一般定义关系模式R,U=Ui,=R1,R2,Rn是R的一个分解,r是R的一个关系。
定义m(r)=Ri(r),若对于R的任一个关系r,都有r=m(r),则称是R的一个无损连接分解。
关系模式的分解算法,算法:
(判别一个分解的无损连接性)U=A1,A2,An=R1,R2,Rk建立一个n列k行的矩阵TB=Cij|若AjUi,Cij=aj,否则Cij=bij,关系模式的分解算法,对F中每一个函数依赖XY,若TB中存在元组t1,t2,使得t1X=t2X,t1Yt2Y,则对每一个AiY:
若t1Ai,t2Ai中有一个等于aj,则另一个也改为aj;若不成立,则取t2Ai=t1Ai(t2的行号小于t1)。
关系模式的分解算法,对F中每一个多值依赖XY,若TB中存在元组t1,t2,使得t1X=t2X,而(t1X,t1Y,t2RXY)不在TB中,则把它加入TB。
反复执行,直至:
TB中出现一行为a1,a2,an的一行。
TB不再发生变化,且没有一行为a1,an。
在情况下,为无损分解,否则为有损分解。
关系模式的分解算法,示例一:
U=A,B,C,D,E,F=ABC,CD,DE=(A,B,C),(C,D),(D,E),ABC,CD,DE,关系模式的分解算法,示例二:
U=C,T,H,R,S,F=CT,CHR=(C,T),(C,H,R),(C,S),CT,CHR,t=(t1C,t1HR,t2TS),关系模式的分解算法,算法:
(达到BCNF无损连接分解算法)给定关系模式R,令=R检查中各关系模式是否属于BCNF,若是,则算法终止。
设中Ri不属于BCNF,则存在函数依赖XA,且X不是Ri的码,则XA是Ri的真子集,将Ri分解为=S1,S1,其中US1=XA,US2=UiA以代替Ri,返回到,关系模式的分解算法,示例:
U=S#,SD,MN,C#,GF=S#SD,S#MN,SDMN,(S#,C#)GU1=S#,SD,F1=S#SDU2=S#,MN,C#,G,F2=S#MN,(S#,C#)GU1=S#,SD,F1=S#SDU2=S#,MN,F2=S#MNU3=S#,C#,G,F3=(S#,C#)G,关系模式的分解算法,算法:
(达到4NF无损连接分解算法)给定关系模式R,令=R检查中各关系模式是否属于4NF,若是,则算法终止。
设中Ri不属于4NF,则存在非平凡多值依赖XA,X不是Ri的码,则XA是Ri的真子集,将Ri分解为=S1,S1,其中US1=XA,US2=UiA以代替Ri,返回到,关系模式的分解算法,示例:
U=A,B,C,D,E,GF=ABCG,BAC,CGU1=A,E,DU2=A,B,C,G,F2=ABCG,BAC,CGU1=A,E,DU2=C,G,F2=CGU3=A,B,C,F3=BAC,关系模式的分解算法,无损分解的进一步探讨连接依赖定义R1(U1),R2(U2),Rn(Un)是R(U)的一个分解,r是R(U)上的一个关系,若r=Ri(r),则称r满足连接依赖*(R1,R2,Rn)。
示例:
若r满足连接依赖*(ABC,BD,CDE),且含有元组t1,t2,t3,则r中必含有元组:
t=(a1,b1,c1,d2,e3),说明什么?
关系模式的分解算法,连接依赖*(R1,R2)等价于多值依赖R1R2R1。
示例:
验证上述关系满足连接依赖*(AB,BC,AC),但它不等价于任何一组多值依赖。
连接依赖*(R1,R2,Rn)中,若有某个Ri等于R,则称之为平凡的连接依赖。
投影-连接范式(PJNF),定义设R(U;D)是关系模式,若对于R的任一连接依赖*(R1,R2,Rn),必是下述情况之一:
*(R1,R2,Rn)是平凡的连接依赖。
每个Ri是R的超码。
示例关系模式R(ABCEFG;D),D=ABCEF,BCAG,*ABCE,CEF,BEG,*AB,ACE,AE,RPJNF?
A,BC是候选码,*AB,ACE,AE满足PJNF定义。
*ABCE,CEF,BEG不满足PJNF定义。
投影-连接范式(PJNF),PJNF4NF证明:
设R(U;D)PJNF,XY是R上的一个多值依赖,不失一般性,可以假定XY=。
根据定理:
连接依赖*(R,S)等价于多值依赖RSR。
由XY,得到连接依赖*(XY,X(U-Y)。
R(U;D)PJNF,所以该连接依赖满足下述两个条件之一:
XY=R,或X(U-Y)=R,则XY为平凡的多值依赖。
XY和X(U-Y)都含有码。
设X(U-Y)含有码K,则KY=,KY,由联合律(若XY,WZ,ZY,WY=,则有XZ),推得XY。
同理由XY含有码可推得XU-Y,于是XU,X含有码。
所以,R(U;D)4NF。
关系模式的分解算法,示例:
U=(S#,P#,C#),F=(S#,C#)P#,P#C#不属于BCNF,分解为U1=(S#,P#),U2=(P#,C#),F2=P#C#丢失了函数依赖(S#,C#)P#,原来一个学生选修一门课程时,只能对应一个老师;在新的关系模式下现在一个学生选修一门课程时,可能会对应多个老师。
关系模式的分解算法,保持函数依赖的分解定义若F+=(Fi)+,则称R的分解=R1,Rn保持函数依赖。
如表(职工,级别,工资)的分解,分解一:
(职工,工资),(工资,级别)丢失函数依赖,级别工资分解二:
(职工,级别),(工资,级别)保持函数依赖。
关系模式的分解算法,如何判断分解保持函数依赖?
回忆:
F+=(Fi)+F(Fi)+,FiF+如对于ABC,AB,BC的分解,思考:
BCAB,AC+?
检验:
C?
关系模式的分解算法,结论:
若要求分解保持函数依赖,那么分解后的模式总可以达到3NF,但不一定能达到BCNF。
算法:
(达到3NF且保持函数依赖的分解)求F的正则覆盖FC。
找出不在FC中出现的属性,将它们构成一个关系模式,并从U中去掉它们(剩余属性仍记为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 设计 理论 解析