《关系数据库理论 .ppt》由会员分享,可在线阅读,更多相关《关系数据库理论 .ppt(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、现在学习的是第1页,共28页7.1 关系数据模式的规范化理论关系数据模式的规范化理论 7.1.1 关系模式规范化的必要性关系模式规范化的必要性 7.1.2 函数依赖及其关系的范式函数依赖及其关系的范式 7.1.3 多值依赖及关系的第四范式多值依赖及关系的第四范式7.2 关系模式的分解算法关系模式的分解算法 7.2.1 关系模式分解的算法基础关系模式分解的算法基础 7.2.3 判定分解服从规范的方法判定分解服从规范的方法 7.2.4 关系模式的分解方法关系模式的分解方法现在学习的是第2页,共28页n范式(范式(Normal Form)是指规范化的关系模式。由满足)是指规范化的关系模式。由满足最基
2、本规范化的关系模式叫第一范式,第一范式的关系模最基本规范化的关系模式叫第一范式,第一范式的关系模式再满足另外一些约束条件就产生了第二范式、第三范式、式再满足另外一些约束条件就产生了第二范式、第三范式、BC范式等等。一个低一级的关系范式通过模式分解可范式等等。一个低一级的关系范式通过模式分解可以转换成若干高一级范式的关系模式的集合,这种过程以转换成若干高一级范式的关系模式的集合,这种过程叫关系模式的规范化。叫关系模式的规范化。 现在学习的是第3页,共28页1. 关系模式应满足的基本要求1) 元组的每个分量必须是不可分的数据项。元组的每个分量必须是不可分的数据项。2) 数据冗余应尽可能少。数据冗余
3、应尽可能少。3) 不能因为数据更新操作而引起数据不一致问题。不能因为数据更新操作而引起数据不一致问题。4) 当执行数据插入操作时,数据不能产生插入异常现象。当执行数据插入操作时,数据不能产生插入异常现象。5) 数据不能在执行删除操作时产生删除异常问题。数据不能在执行删除操作时产生删除异常问题。6) 数据库设计应考虑查询要求,数据组织应合理。数据库设计应考虑查询要求,数据组织应合理。现在学习的是第4页,共28页数据冗余大。数据冗余大。 插入异常。插入异常。 删除异常。删除异常。 更新异常。更新异常。 学号学号姓名姓名年龄年龄性别性别系名系名系主任系主任课程名课程名成绩成绩98001李华李华20男
4、男计算机系计算机系王民王民程序设计程序设计8898001李华李华20男男计算机系计算机系王民王民数据结构数据结构7498001李华李华20男男计算机系计算机系王民王民数据库数据库8298001李华李华20男男计算机系计算机系王民王民电路电路6598002张平张平21女女计算机系计算机系王民王民程序设计程序设计9298002张平张平21女女计算机系计算机系王民王民数据结构数据结构8298002张平张平21女女计算机系计算机系王民王民数据库数据库7898002张平张平21女女计算机系计算机系王民王民电路电路8398003陈兵陈兵20男男数学系数学系赵敏赵敏高等数学高等数学7298003陈兵陈兵20
5、男男数学系数学系赵敏赵敏数据结构数据结构9498003陈兵陈兵20男男数学系数学系赵敏赵敏数据库数据库8398003陈兵陈兵20男男数学系数学系赵敏赵敏离散数学离散数学87现在学习的是第5页,共28页上述的关系模式上述的关系模式: : 教学教学( (学号,姓名,年龄,性别,系名,系主任,课程学号,姓名,年龄,性别,系名,系主任,课程名,成绩名,成绩).). 可以按可以按“一事一地一事一地”的原则分解成的原则分解成“学生学生”、“教学系教学系”和和“选课选课”三个关系,其关系模式为:三个关系,其关系模式为: 学生学生( (学号,姓名,年龄,性别,系名称学号,姓名,年龄,性别,系名称) ); 教学
6、系教学系( (系名,系主任系名,系主任) ); 选课选课( (学号,课程名,成绩学号,课程名,成绩).).现在学习的是第6页,共28页1. 关系模式的简化表示法关系模式的简化表示法关系模式的完整表示是一个五元组:关系模式的完整表示是一个五元组: RU,D,Dom,F.其中:其中:R为关系名;为关系名;U为关系的属性集合;为关系的属性集合;D为属性集为属性集U中属性中属性的数据域;的数据域;Dom为属性到域的映射;为属性到域的映射;F为属性集为属性集U的数据依的数据依赖集。赖集。关系模式可以用三元组来为:关系模式可以用三元组来为: RU,F.现在学习的是第7页,共28页1) 设设RU是属性集是属
7、性集U上的关系模式,上的关系模式,X、Y是是U的子集。若对于的子集。若对于RU的任意一个可能的关系的任意一个可能的关系r,r中不可能存在两个元组在中不可能存在两个元组在X上的属性值相等,而上的属性值相等,而Y上的属性值不等,则称上的属性值不等,则称X函数确定函数确定Y函数,或函数,或Y函数依赖于函数依赖于X函数,记作函数,记作XY。例如,对于教学关系模式:教学例如,对于教学关系模式:教学U,F;U=学号,姓名,年龄,性别,系名,系主任,课程名,成绩学号,姓名,年龄,性别,系名,系主任,课程名,成绩;F=学号学号姓名,学号姓名,学号年龄,学号年龄,学号性别,学号性别,学号系名,系名系名,系名系主
8、任,系主任,(学号,学号,课程名课程名)成绩成绩. XY,但,但Y X,则称,则称XY是非平凡的函数依赖。若不特别声明,是非平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。总是讨论非平凡的函数依赖。 XY,但,但Y X,则称,则称XY是平凡的函数依赖。是平凡的函数依赖。 若若XY,则,则X叫做决定因素(叫做决定因素(Determinant),),Y叫做依赖因素叫做依赖因素(Dependent)。)。 若若XY,YX,则记作,则记作XY。 若若Y不函数依赖于不函数依赖于X,则记作,则记作X Y。现在学习的是第8页,共28页n2) 在在RU中,如果中,如果XY,并且对于,并且对于X的任何一
9、个真子集的任何一个真子集X,都,都有有X Y,则称,则称Y对对X完全函数依赖,记作:完全函数依赖,记作:XY;若;若XY,但,但Y不完全函数依赖于不完全函数依赖于X,则称,则称Y对对X部分函数依赖,记作:部分函数依赖,记作: XY。例如,在教学关系模式:例如,在教学关系模式:(学号,课程名学号,课程名)成绩,成绩,(学号,课程学号,课程名名)姓名姓名3) 在在RU中,如果中,如果XY,(YX),Y X,YZ,则称,则称Z对对X传传递函数依赖。传递函数依赖记作递函数依赖。传递函数依赖记作X Z。传递例如,在教学模式中,因为:学号传递例如,在教学模式中,因为:学号系名,系名系名,系名系主任;所以:
10、系主任;所以:学号学号 系主任。系主任。 PFFP传递传递现在学习的是第9页,共28页 如果关系模式如果关系模式R,其所有的属性均为简单属性,即每个属性都是不,其所有的属性均为简单属性,即每个属性都是不可再分的,则称可再分的,则称R属于第一范式,记作属于第一范式,记作R 1NF。 若若R 1NF,且每一个非主属性完全依赖于码,则,且每一个非主属性完全依赖于码,则R 2NF。在教学中:属性集在教学中:属性集=学号,姓名,年龄,系名,系主任,课程名,成绩学号,姓名,年龄,系名,系主任,课程名,成绩.函数依赖集函数依赖集=学号学号姓名,学号姓名,学号年龄,学号年龄,学号性别,学号性别,学号系名,系名
11、, 系名系名系主任,系主任,(学号,课程名学号,课程名)成绩成绩.主码主码=(学号,课程名学号,课程名). F非主属性非主属性=(姓名,年龄,系名,系主任,成绩姓名,年龄,系名,系主任,成绩)。非主属性对码的函数依赖:非主属性对码的函数依赖: (学号,课程名学号,课程名)姓名,姓名,(学号,课程名学号,课程名)年龄,年龄,(学号,学号,课程号课程号)性别性别 , (学号,课程名学号,课程名)系名,系名,(学号,课程名学号,课程名)系主任;系主任;(学号,课程学号,课程名名)成绩成绩.显然,教学模式不服从显然,教学模式不服从2NF,即:教学,即:教学 2NF。PPPPP现在学习的是第10页,共2
12、8页 关系模式关系模式RU,F中若不存在这样的码中若不存在这样的码X、属性组、属性组Y及非主及非主属性属性Z(ZY)使得使得XY、Y X、YZ成立,则称成立,则称RU,F 3NF。可以证明,若可以证明,若R 3NF,则每一个非主属性既不部分函数依赖于码,也,则每一个非主属性既不部分函数依赖于码,也不传递函数依赖于码。不传递函数依赖于码。 考查学生考查学生_系关系,由于存在:学号系关系,由于存在:学号系名,系名系名,系名系主任。系主任。则:则: 学号学号 系主任。所以学生系主任。所以学生_系系 3NF。如果分解为:如果分解为: 学生学生(学号,姓名,年龄,性别,系名学号,姓名,年龄,性别,系名)
13、; 教学系教学系(系名,系主任系名,系主任).显然分解后的各子模式均属于显然分解后的各子模式均属于3NF。传递现在学习的是第11页,共28页n关系模式关系模式RU,F 1NF。若。若XY且且YX时时X必含有码,则必含有码,则RU,F BCNF。也就是说,关系模式也就是说,关系模式RU,F中,若每一个决定因素都包含码,则中,若每一个决定因素都包含码,则RU,F BCNF。由。由BCNF的定义可以得到结论,一个满足的定义可以得到结论,一个满足BCNF的关系模式有:的关系模式有:1) 所有非主属性对每一个码都是完全函数依赖。所有非主属性对每一个码都是完全函数依赖。2) 所有的主属性对每一个不包含它的
14、码,也是完全依赖。所有的主属性对每一个不包含它的码,也是完全依赖。3) 没有任何属性完全函数依赖于非码的任何一组属性。没有任何属性完全函数依赖于非码的任何一组属性。现在学习的是第12页,共28页 1) BCNF不仅强调其他属性对码的完全的直接的依赖,而且强不仅强调其他属性对码的完全的直接的依赖,而且强调主属性对码的完全的直接的依赖,它包括调主属性对码的完全的直接的依赖,它包括3NF,即,即R BCNF,则则R一定属于一定属于3NF。2) 3NF只强调非主属性对码的完全直接依赖,这样就可能出现主只强调非主属性对码的完全直接依赖,这样就可能出现主属性对码的部分依赖和传递依赖。属性对码的部分依赖和传
15、递依赖。例如,关系模式例如,关系模式STJ(S,T,J)中,中,S表示学生,表示学生,T表示教师,表示教师,J表表示课程。语义为:每一教师只能讲授一门课程,每门课程由若干教师讲授;示课程。语义为:每一教师只能讲授一门课程,每门课程由若干教师讲授;每个学生选修某门课程就对应一个固定的教师。由语义可以得到每个学生选修某门课程就对应一个固定的教师。由语义可以得到STJ模式模式的函数依赖为:的函数依赖为: F=(S,J)T,TJ显然:显然:(S,J)和和(T,S)都是关系的码;关系的主属性集为都是关系的码;关系的主属性集为S,T,J,非主属性为,非主属性为 (空集)。(空集)。P由于由于STJ模式中无
16、非主属性,所以它属于模式中无非主属性,所以它属于3NF;但因为存在;但因为存在TJ,由于由于T不是码,故不是码,故STJ BCNF。现在学习的是第13页,共28页1. 研究多值依赖的必要性研究多值依赖的必要性例如,给定一个关系模式例如,给定一个关系模式JPW(产品,零件,工序产品,零件,工序),其中每种产品由多种零件构,其中每种产品由多种零件构成,每个零件在装配时需要多道工序。设产品电视机需要的零件和工序如图成,每个零件在装配时需要多道工序。设产品电视机需要的零件和工序如图所示。所示。 显像管电视机开关电源焊接调试测试装配调试焊接调试现在学习的是第14页,共28页 设有关系模式设有关系模式RU
17、,U是属性集,是属性集,X、Y是是U的子集。如果的子集。如果R的任的任一关系,对于一关系,对于X的一个确定值,都存在的一个确定值,都存在Y的一组值与之对应,且的一组值与之对应,且Y的的这组值又与这组值又与Z=U-X-Y中的属性值不相关,此时称中的属性值不相关,此时称Y多值依赖于多值依赖于X,或或X多值决定多值决定Y,记为,记为XY。多值依赖具有以下性质:多值依赖具有以下性质:1) 多值依赖具有对称性。即若多值依赖具有对称性。即若XY,则,则XZ,其中,其中Z=U-X-Y。2) 函数依赖可以看作是多值依赖的特殊情况。即若函数依赖可以看作是多值依赖的特殊情况。即若XY,则,则XY。这是因为当。这是
18、因为当XY时,对时,对X的每一个值的每一个值x,Y有一个确定的有一个确定的值值y与之对应,所以与之对应,所以XY。3) 在多值依赖中,若在多值依赖中,若XY且且Z=U-X-Y,则称,则称XY为非平为非平凡的多值依赖,否则称为平凡的多值依赖。凡的多值依赖,否则称为平凡的多值依赖。现在学习的是第15页,共28页1. 函数依赖的逻辑蕴含函数依赖的逻辑蕴含设设F是是RU函数依赖集,函数依赖集,X和和Y是属性集是属性集U的子集。如果从的子集。如果从F中的函数依赖能推出中的函数依赖能推出XY,则称,则称F逻辑蕴含逻辑蕴含XY,或称,或称XY是是F的逻辑蕴含。的逻辑蕴含。2. Armstrong公理系统公理
19、系统(1) Armstrong公理系统公理系统:设设U为属性集,为属性集,F是是U上的函数依赖集,于是有关系模上的函数依赖集,于是有关系模式式RU,F。 1) 自反律:若自反律:若Y X U,则,则XY为为F所蕴含。所蕴含。2) 增广律:若增广律:若XY为为F所蕴含,且所蕴含,且Z U,则,则XZYZ为为F所蕴含。所蕴含。3) 传递律:若传递律:若XY及及YZ为为F所蕴含,则所蕴含,则XZ为为F所蕴含。所蕴含。(2) Armstrong公理的三个推理公理的三个推理1) 合并规则:由合并规则:由XY,XZ,有,有XYZ。2) 伪传递规则:由伪传递规则:由XY,WYZ,有,有XWZ。3) 分解规则
20、:由分解规则:由XY及及Z Y,有,有XZ。现在学习的是第16页,共28页 (1) 函数依赖集闭包函数依赖集闭包F+和属性集闭包和属性集闭包XF+的定义的定义定义:在关系模式定义:在关系模式RU,F中,为中,为F所逻辑蕴含的函数依赖的全体叫做所逻辑蕴含的函数依赖的全体叫做F的闭包,的闭包,记作记作F+。定义:设有关系模式定义:设有关系模式RU,F,X是是U的子集,称所有从的子集,称所有从F推出的函数依赖集推出的函数依赖集XAi中中Ai的属性集为的属性集为X的属性闭包,记作的属性闭包,记作XF+。即:。即: XF+= Ai | AiU,XAiF+(2) 属性集闭包属性集闭包XF+的求法的求法1)
21、 选选X作为闭包作为闭包XF+的初值的初值XF(0)。2) XF(i+1)是由是由XF(i)并上集合并上集合A所组成,其中所组成,其中A为为F中存在的函数依赖中存在的函数依赖YZ,而,而A Z,Y XF(i)。3) 重复步骤重复步骤2)。一旦发现。一旦发现XF(i)= XF(i+1),则,则XF(i)为所求为所求XF+。现在学习的是第17页,共28页n【例例7-1】已知关系已知关系RU,F,其中,其中U=A,B,C,D,E,F=ABC,BD,CE,ECB,ACB,求,求(AB)F+。设设X=AB XF(0)=AB XF(1)=ABCD XF(2)=ABCDE XF(3)= XF(2)=ABCD
22、E (AB)F+=ABCDE=A,B,C,D,E现在学习的是第18页,共28页(1) 最小函数依赖集的定义最小函数依赖集的定义1) F中任一函数依赖的右部仅含有一个属性。中任一函数依赖的右部仅含有一个属性。2) F中不存在这样的函数依赖中不存在这样的函数依赖XA,使得,使得F与与F-XA等价。等价。3) F中不存在这样的函数依赖中不存在这样的函数依赖XA,X有真子集有真子集Z使得使得 F-XAZ-A与与F等价。等价。(2) 最小函数依赖集的求法最小函数依赖集的求法1) 逐一检查逐一检查F中各函数依赖中各函数依赖XY,若,若Y=A1A2Ak,k2,则用,则用XAj|j=1,2,k来取代来取代XY
23、。2) 逐一检查逐一检查F中各函数依赖中各函数依赖XA,令,令G=F-XA,若,若AXG+,则从,则从F中去掉中去掉此函数依赖。此函数依赖。3) 逐一取出逐一取出F中各函数依赖中各函数依赖XA,设,设X=B1B2Bm,逐一检查,逐一检查Bi(i=1,2,m),如果),如果A(X-Bi)F+,则以,则以X-Bi取代取代X。现在学习的是第19页,共28页解:解:1) 根据分解规则把根据分解规则把F中的函数依赖转换成右部都是单属性的函数依赖集合,分中的函数依赖转换成右部都是单属性的函数依赖集合,分解后的函数依赖集仍用解后的函数依赖集仍用F表示。表示。 F=AB,AC,BA,BC,CA2) 去掉去掉F
24、中冗余的函数依赖。中冗余的函数依赖。判断判断AB。设:。设:G1= AC,BA,BC,CA,得:得:AG1+=AC B AG1+ AB不冗余不冗余判断判断AC。设:。设:G2= AB,BA,BC,CA,得:得:AG2+=ABC C AG2+ AC冗余冗余判断判断BA。设:。设:G3= AB,BC,CA,得:得:BG3+=BCA A BG3+ BA冗余冗余判断判断BC。设:。设:G4= AB,CA,得:得:BG4+=B C BG4+ BC不冗余不冗余判断判断CA。设:。设:G5= AB,BC , 得:得:CG5+=C A CG5+ CA不冗余不冗余 Fm= AB,BC,CA现在学习的是第20页,
25、共28页解:解:(1)去掉去掉F中冗余的函数依赖。中冗余的函数依赖。判断判断ABC是否冗余。设:是否冗余。设:G1= AB,BA,得:得:(AB)G1+=AB C (AB)G1+ ABC不冗余不冗余判断判断AB是否冗余。设:是否冗余。设:G2= ABC,BA,得:得:AG2+=A B ABG2+ AB不冗余不冗余判断判断BA是否冗余。设:是否冗余。设:G3= ABC,AB ,得:得:BG3+=B A BG3+ BA不冗余不冗余经过检验后的函数依赖集仍然为经过检验后的函数依赖集仍然为F=ABC,AB,BA。(2) 去掉各函数依赖左部冗余的属性。去掉各函数依赖左部冗余的属性。本题只需考虑本题只需考
26、虑ABC的情况。的情况。方法方法1:在决定因素中去掉:在决定因素中去掉B,若,若C AF+,则以,则以AC代替代替ABC。求得:求得:AF+=ABC C AF+ 以以AC代替代替ABC故:故:Fm=AC,AB,BA方法方法2:在决定因素中去掉:在决定因素中去掉A,若,若C BF+,则以,则以BC代替代替ABC。求得:求得:BF+=ABC C BF+ 以以BC代替代替ABC故:故:Fm=BC,AB,BA现在学习的是第21页,共28页1. 关系分解的无损连接性关系分解的无损连接性 设关系模式设关系模式R,如果把它分解为两个(或多个)子模式,如果把它分解为两个(或多个)子模式R1和和R2,相应一个,
27、相应一个R关系中的关系中的数据就要被分成数据就要被分成R1 、R2两个(或多个)子表。假如将这些子表自然连接,即进行两个(或多个)子表。假如将这些子表自然连接,即进行R1R2操作,得到的结果与原来关系中的数据一致,信息并没有丢失,则称该分解具有无操作,得到的结果与原来关系中的数据一致,信息并没有丢失,则称该分解具有无损连接性,否则如果损连接性,否则如果RR1R2,则称该分解不具有无损连接性。,则称该分解不具有无损连接性。2. 判断分解成两个关系具有无损连接性的方法判断分解成两个关系具有无损连接性的方法定理:定理:RU,F的一个分解的一个分解 = R1U1,F1,R2U2,F2具有无损具有无损连
28、接性的充分必要条件是:连接性的充分必要条件是: U1U2U1-U2F+. 或或 U1U2U2-U1F+.3. 判断分解保持函数依赖的方法判断分解保持函数依赖的方法设设U,F的分解的分解 =R1U1,F1,R1U2,F2,RkUK,FK,若若F+=(Fi)+,则称分解,则称分解 保持函数依赖。保持函数依赖。 现在学习的是第22页,共28页n【例例7-5】关系模式关系模式R=CITY,ST,ZIP,其中,其中CITY为城市,为城市,ST为街道,为街道,ZIP为邮政编码,为邮政编码,F=(CITY,ST)ZIP,ZIPCITY。如果将。如果将R分解成分解成R1和和R2,R1=ST,ZIP,R2=CI
29、TY,ZIP,检查分解是否具有无损连接和保持函数依,检查分解是否具有无损连接和保持函数依赖。赖。解:解:1) 检查无损连接性。检查无损连接性。求得:求得:R1R2=ZIP;R2-R1=CITY. (ZIPCITY)F+. 分解具有无损连接性分解具有无损连接性2) 检查分解是否保持函数依赖检查分解是否保持函数依赖求得:求得:R1(F)=;R2(F)= ZIPCITY. R1(F)R2(F)= ZIPCITYF+. n 该分解不保持函数依赖。该分解不保持函数依赖。 现在学习的是第23页,共28页1. 将关系模式转化为将关系模式转化为3NF的保持函数依赖的分解的保持函数依赖的分解1) 对对RU,F中
30、的中的F进行极小化处理。处理后的函数依赖集仍进行极小化处理。处理后的函数依赖集仍用用F表示。表示。2) 找出不再在找出不再在F中出现的属性,把这样的属性构成一个关系模式,并中出现的属性,把这样的属性构成一个关系模式,并把这些属性从把这些属性从U中去掉。中去掉。3) 若若F中有一个函数依赖涉及中有一个函数依赖涉及R全部属性,则全部属性,则R不能再分解。不能再分解。4) 如果如果F中含有中含有XA,则分解应包含模式,则分解应包含模式XA,如果,如果XA1,XA2,XAn均属于均属于F,则分解应包含模式,则分解应包含模式XA1A2An。【例例7-6】设设RU,F,U=C,T,H,R,S,G,X,Y,
31、Z,F=CT,CSG,HRC,HSR,THR,CX,将,将R分分解为解为3NF,且保持函数依赖。,且保持函数依赖。解:设该函数依赖集已经是最小化的,则分解解:设该函数依赖集已经是最小化的,则分解 为:为: =YZ,CTX,CSG,HRC,HSR,THR.现在学习的是第24页,共28页对于给定的关系模式对于给定的关系模式RU,F,将其转换为,将其转换为3NF,且既具有无损连,且既具有无损连接性又能保持函数依赖的分解算法为:接性又能保持函数依赖的分解算法为:1) 设设X是是RU,F的码,的码,RU,F先进行保持函数依赖的分先进行保持函数依赖的分解,结果为解,结果为 = R1U1,F1,R2U2,F
32、2,RkUk,Fk,令,令= R*X,Fx。2) 若有某个若有某个Ui,X Ui,将,将R*X,Fx从从中去掉,中去掉,就是所求就是所求的分解的分解。【例例7-7】有关系模式有关系模式RU,F,U=C,T,H,R,S,G,F=CT,CSG,HRC,HSR,THR,将,将R分解为分解为3NF,且既具有无损连接性又,且既具有无损连接性又能保持函数依赖。能保持函数依赖。解:求得关系模式解:求得关系模式R的码为的码为HS,它的一个保持函数依赖的,它的一个保持函数依赖的3NF为:为: =CT,CSG,HRC,HSR,THR. HS HSR = = CT,CSG,HRC,HSR,THR为满足要求的分解。为
33、满足要求的分解。现在学习的是第25页,共28页 1) 令令 = RU,F。 2) 检查检查 中各关系模式是否均属于中各关系模式是否均属于BCNF。若是,则算法终止。若是,则算法终止。 3) 假设假设 中中RiUi,Fi不属于不属于BCNF,那么必定有,那么必定有XA Fi+,(A X),且,且X非非Ri的码。对的码。对Ri进行分解:进行分解:=S1,S2,US1=XA,US2= Ui-A,以,以代替代替RiUi,Fi,返回第,返回第2)步。步。现在学习的是第26页,共28页【例例7-8】关系模式关系模式RU,F,U=CTHRSG,F= CT,HRC, HTR,CSG,HSR,把,把R分解成具有
34、无损连接的分解成具有无损连接的BCNF。解:令解:令 = CTHRSG1) 由于由于R的码为的码为HS,选择,选择CSG分解。得出:分解。得出: =S1,S2.其中:其中:S1=CSG, F1= CSG; S2=CTHRS, F2= CT,HRC,HTR,HSR.S2不服从不服从BCNF,需要继续分解。,需要继续分解。2) 对对S2分解。分解。S2的码为的码为HS,选择,选择CT分解。得:分解。得: = S1,S3,S4.其中:其中:S3=CT, F3= CT; S4=CHRS, F4= HRC,HSR.S4不服从不服从BCNF,还需要继续分解。,还需要继续分解。3) 对对S4分解。码为分解。码为HS,选择,选择HRC分解:分解: = S1,S3,S5,S6.其中:其中:S5=HRC, F5= HRC; S6=HRS, F6=HSR.4) 最后的分解为:最后的分解为: =CSG,CT,HRC,HRS. 现在学习的是第27页,共28页现在学习的是第28页,共28页