数据库系统原理(机械工业出版社)第七章答案_第1页
数据库系统原理(机械工业出版社)第七章答案_第2页
数据库系统原理(机械工业出版社)第七章答案_第3页
数据库系统原理(机械工业出版社)第七章答案_第4页
数据库系统原理(机械工业出版社)第七章答案_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本章(bn zhn)教学目标、重点和难点教学目标:使学生了解关系模式规范化的必要性,理解(lji)函数依赖、多值依赖及其关系范式定义,掌握关系范式判断方法。教学重点:关系模式规范化,函数依赖、多值依赖、1-4NF的定义,关系范式判断方法。 教学难点:1-4NF的定义,关系范式判断方法,关系模式的分解。 共六十五页第7章 关系规范化理论(lln)和优化技术7.1 关系数据模式的规范化理论7.2 关系(gun x)模式的分解算法共六十五页7.1 关系数据模式(msh)的规范化理论范式(Normal Form)是指规范化的关系模式。由满足最基本规范化的关系模式叫第一范式,第一范式的关系模式再满足另外

2、一些约束条件就产生了第二范式、第三范式、BC范式等等。一个低一级的关系范式通过模式分解可以(ky)转换成若干高一级范式的关系模式的集合,这种过程叫关系模式的规范化。 共六十五页7.1.1 关系(gun x)模式规范化的必要性1. 关系模式应满足的基本要求1) 元组的每个分量必须是不可分的数据项。2) 数据冗余应尽可能少。3) 不能因为数据更新操作而引起数据不一致问题。4) 当执行数据插入(ch r)操作时,数据不能产生插入(ch r)异常现象。5) 数据不能在执行删除操作时产生删除异常问题。6) 数据库设计应考虑查询要求,数据组织应合理。共六十五页2. 关系规范化可能出现(chxin)的问题数

3、据冗余大, 插入(ch r)异常, 删除异常, 更新异常。 学号姓名年龄性别系名系主任课程名成绩98001李华20男计算机系王民程序设计8898001李华20男计算机系王民数据结构7498001李华20男计算机系王民数据库8298001李华20男计算机系王民电路6598002张平21女计算机系王民程序设计9298002张平21女计算机系王民数据结构8298002张平21女计算机系王民数据库7898002张平21女计算机系王民电路8398003陈兵20男数学系赵敏高等数学7298003陈兵20男数学系赵敏数据结构9498003陈兵20男数学系赵敏数据库8398003陈兵20男数学系赵敏离散数学8

4、7共六十五页3. 模式(msh)分解是关系规范化的主要方法上述的关系模式: 教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩). 可以按“一事(ysh)一地”的原则分解成“学生”、“教学系”和“选课”三个关系,其关系模式为: 学生(学号,姓名,年龄,性别,系名称); 教学系(系名,系主任); 选课(学号,课程名,成绩).共六十五页7.1.2 函数依赖(yli)及其关系的范式1. 关系模式的简化表示法关系模式的完整表示是一个五元(w yun)组: RU,D,Dom,F.其中:R为关系名;U为关系的属性集合;D为属性集U中属性的数据域;Dom为属性到域的映射;F为属性集U的数据依赖集。关系

5、模式可以用三元组来为: RU,F.共六十五页2. 函数依赖(yli)的概念1) 设RU是属性集U上的关系模式,X、Y是U的子集。若对于RU的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而Y上的属性值不等,则称X函数确定Y函数,或Y函数依赖于X函数,记作XY。例如,对于教学关系模式:教学U,F;U=学号,姓名,年龄,性别,系名,系主任,课程名,成绩;F=学号姓名,学号年龄,学号性别,学号系名,系名系主任,(学号,课程名)成绩. XY,但Y X,则称XY是非(shfi)平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。 XY,但YX,则称XY是平凡的函数依赖。 若XY,则

6、X叫做决定因素(Determinant),Y叫做依赖因素(Dependent)。 若XY,YX,则记作XY。 若Y不函数依赖于X,则记作X Y。共六十五页完全函数(hnsh)依赖、传递函数(hnsh)依赖 2) 在RU中,如果XY,并且对于X的任何一个真子集X,都有X Y,则称Y对X完全函数依赖,记作:XY;若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作: XY。例如(lr),在教学关系模式:(学号,课程名)成绩,(学号,课程名)姓名3) 在RU中,如果XY,(YX),Y X,YZ,则称Z对X传递函数依赖。传递函数依赖记作X Z。传递例如,在教学模式中,因为:学号系名,系名系主任

7、;所以:学号 系主任。 PFFP传递传递共六十五页3. 1NF 的定义(dngy)、 2NF 的定义如果关系模式R,其所有的属性均为简单(jindn)属性,即每个属性都是不可再分的,则称R属于第一范式,记作R1NF。 若R1NF,且每一个非主属性完全依赖于码,则R2NF。在教学中:属性集=学号,姓名,年龄,系名,系主任,课程名,成绩.函数依赖集=学号姓名,学号年龄,学号性别,学号系名, 系名系主任,(学号,课程名)成绩.主码=(学号,课程名). 非主属性=(姓名,年龄,系名,系主任,成绩)。非主属性对码的函数依赖: (学号,课程名)姓名,(学号,课程名)年龄,(学号,课程号)性别 , (学号,

8、课程名)系名,(学号,课程名)系主任;(学号,课程名)成绩.显然,教学模式不服从2NF,即:教学2NF。PPPPP共六十五页5. 3NF 的定义(dngy)关系模式RU,F中若不存在这样的码X、属性组Y及非主属性Z(ZY)使得XY、Y X、YZ成立,则称RU,F3NF。可以证明,若R3NF,则每一个非主属性既不部分函数依赖于码,也不传递函数依赖于码。 考查学生_系关系,由于存在:学号系名,系名系主任。则: 学号 系主任。所以学生_系3NF。如果分解为: 学生(学号,姓名,年龄,性别,系名); 教学(jio xu)系(系名,系主任).显然分解后的各子模式均属于3NF。传递共六十五页6. BCNF

9、的定义(dngy)关系模式RU,F1NF。若XY且YX时X必含有(hn yu)码,则RU,FBCNF。也就是说,关系模式RU,F中,若每一个决定因素都包含码,则RU,FBCNF。由BCNF的定义可以得到结论,一个满足BCNF的关系模式有:1) 所有非主属性对每一个码都是完全函数依赖。2) 所有的主属性对每一个不包含它的码,也是完全依赖。3) 没有任何属性完全函数依赖于非码的任何一组属性。共六十五页7. BCNF和3NF的比较(bjio) 1) BCNF不仅强调其他属性对码的完全的直接的依赖,而且强调主属性对码的完全的直接的依赖,它包括3NF,即RBCNF,则R一定属于3NF。2) 3NF只强调

10、非主属性对码的完全直接依赖,这样就可能出现(chxin)主属性对码的部分依赖和传递依赖。共六十五页例如,关系模式STJ(S,T,J)中,S表示学生,T表示教师,J表示课程。语义为:每一教师只能讲授一门课程,每门课程由若干教师讲授;每个学生选修某门课程就对应一个固定的教师。由语义可以得到STJ模式的函数依赖为: F=(S,J)T,TJ显然:(S,J)和(T,S)都是关系的码;关系的主属性集为S,T,J,非主属性为(空集)。由于STJ模式中无非主属性,所以(suy)它属于3NF;但因为存在TJ,由于T不是码,故STJBCNF。共六十五页7.1.3 多值依赖(yli)及关系的第4范式1. 研究多值依

11、赖(yli)的必要性例如,给定一个关系模式JPW(产品,零件,工序),其中每种产品由多种零件构成,每个零件在装配时需要多道工序。设产品电视机需要的零件和工序如图所示。 显像管电视机开关电源焊接调试测试装配调试焊接调试共六十五页2. 多值依赖的定义(dngy)和性质设有关系模式RU,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) 函数依赖可以看作是多值依赖的特殊情况

12、。即若XY,则XY。这是因为当XY时,对X的每一个值x,Y有一个确定的值y与之对应,所以(suy)XY。3) 在多值依赖中,若XY且Z=U-X-Y,则称XY为非平凡的多值依赖,否则称为平凡的多值依赖。共六十五页7.2 关系模式的分解算法(sun f)7.2.1 关系模式分解的算法基础1. 函数(hnsh)依赖的逻辑蕴含设F是RU函数依赖集,X和Y是属性集U的子集。如果从F中的函数依赖能推出XY,则称F逻辑蕴含XY,或称XY是F的逻辑蕴含。共六十五页(1) Armstrong公理系统:设U为属性(shxng)集,F是U上的函数依赖集,于是有关系模式RU,F。 1) 自反律:若YXU,则XY为F所

13、蕴含。2) 增广律:若XY为F所蕴含,且ZU,则XZYZ为F所蕴含。3) 传递律:若XY及YZ为F所蕴含,则XZ为F所蕴含。(2) Armstrong公理的三个推理1) 合并规则:由XY,XZ,有XYZ。2) 伪传递规则:由XY,WYZ,有XWZ。3) 分解规则:由XY及ZY,有XZ。2. Armstrong公理(gngl)系统共六十五页3. 函数(hnsh)依赖集闭包F+和属性集闭包XF+ (1) 函数依赖集闭包F+和属性(shxng)集闭包XF+的定义定义:在关系模式RU,F中,为F所逻辑蕴含的函数依赖的全体叫做F的闭包,记作F+。定义:设有关系模式RU,F,X是U的子集,称所有从F推出的

14、函数依赖集XAi中Ai的属性集为X的属性闭包,记作XF+。即: XF+= Ai | AiU,XAiF+共六十五页(2) 属性(shxng)集闭包XF+的求法 1) 选X作为闭包XF+的初值XF(0)。2) XF(i+1)是由XF(i)并上集合A所组成,其中(qzhng)A为F中存在的函数依赖YZ,而AZ,YXF(i)。3) 重复步骤2)。一旦发现XF(i)= XF(i+1),则XF(i)为所求XF+。共六十五页例子(l zi)【例】已知关系(gun x)RU,F,其中U=A,B,C,D,E,F=ABC,BD,CE,ECB,ACB,求(AB)F+。设X=AB XF(0)=AB XF(1)=ABC

15、D XF(2)=ABCDE XF(3)= XF(2)=ABCDE (AB)F+=ABCDE=A,B,C,D,E共六十五页4. 函数(hnsh)依赖集的最小化(1) 最小函数依赖集的定义1) F中任一函数依赖的右部仅含有一个属性。2) F中不存在这样的函数依赖XA,使得F与F-XA等价(dngji)。3) F中不存在这样的函数依赖XA,X有真子集Z使得 F-XAZ-A与F等价。共六十五页(2) 最小函数(hnsh)依赖集的求法 1) 逐一检查F中各函数(hnsh)依赖XY,若Y=A1A2Ak,k2,则用XAj|j=1,2,k来取代XY。2) 逐一检查F中各函数依赖XA,令G=F-XA,若AXG+

16、,则从F中去掉此函数依赖。3) 逐一取出F中各函数依赖XA,设X=B1B2Bm,逐一检查Bi(i=1,2,m),如果A(X-Bi)F+,则以X-Bi取代X。共六十五页【例】设F=ABC,BAC,CA,对F进行极小(j xio)化处理。解:1) 把F中的函数依赖转换成右部都是单属性的函数依赖,分解(fnji)后的函数依赖集仍用F表示。 F=AB,AC,BA,BC,CA2) 去掉F中冗余的函数依赖。判断AB。设:G1= AC,BA,BC,CA,得:AG1+=AC BAG1+ AB不冗余判断AC。设:G2= AB,BA,BC,CA,得:AG2+=ABC CAG2+ AC冗余判断BA。设:G3= AB

17、,BC,CA,得:BG3+=BCA ABG3+ BA冗余判断BC。设:G4= AB,CA,得:BG4+=B CBG4+ BC不冗余判断CA。设:G5= AB,BC ,得:CG5+=C ACG5+ CA不冗余 Fm= AB,BC,CA共六十五页【例】求F=ABC,AB,BA的最小函数(hnsh)依赖集Fm。解:(1)去掉F中冗余的函数依赖。判断(pndun)ABC是否冗余。 设:G1= AB,BA,得:(AB)G1+=AB C (AB)G1+ ABC不冗余判断AB是否冗余。设:G2= ABC,BA,得:AG2+=A BABG2+ AB不冗余判断BA是否冗余。设:G3= ABC,AB ,得:BG3

18、+=B ABG3+ BA不冗余经过检验后的函数依赖集仍然为 F=ABC,AB,BA。共六十五页【例】求F=ABC,AB,BA的最小函数(hnsh)依赖集Fm。解 (2) 去掉(q dio)各函数依赖左部冗余的属性。本题只需考虑ABC的情况。方法1:在决定因素中去掉B,若CAF+,则以AC代替ABC。求得:AF+=ABC CAF+ 以AC代替ABC故:Fm=AC,AB,BA方法2:在决定因素中去掉A,若CBF+,则以BC代替ABC。求得:BF+=ABC CBF+ 以BC代替ABC故:Fm=BC,AB,BA共六十五页7.2.3 判定分解(fnji)服从规范的方法1. 关系分解的无损连接性 设关系模

19、式R,如果把它分解为两个(或多个)子模式R1和R2,相应一个R关系中的数据就要被分成R1 、R2两个(或多个)子表。假如将这些(zhxi)子表自然连接,即进行R1 R2操作,得到的结果与原来关系中的数据一致,信息并没有丢失,则称该分解具有无损连接性,否则如果RR1 R2,则称该分解不具有无损连接性。共六十五页2. 判断分解成两个关系具有无损(w sn)连接性的方法定理:RU,F的一个分解= R1U1,F1,R2U2,F2具有无损连接性的充分必要条件是: U1U2U1-U2F+. 或 U1U2U2-U1F+.3. 判断分解保持函数依赖的方法设U,F的分解=R1U1,F1,R1U2,F2,RkUK

20、,FK,若F+=(Fi)+,则称分解保持函数依赖。 共六十五页【例】关系模式R=CITY,ST,ZIP,其中CITY为城市,ST为街道,ZIP为邮政编码,F=(CITY,ST)ZIP,ZIPCITY。如果将R分解成R1和R2,R1=ST,ZIP,R2=CITY,ZIP,检查分解是否具有无损连接和保持(boch)函数依赖。解:1) 检查无损连接性。求得:R1R2=ZIP;R2-R1=CITY. (ZIPCITY)F+. 分解具有无损连接性2) 检查分解是否保持函数依赖求得:R1(F)=;R2(F)= ZIPCITY. R1(F)R2(F)= ZIPCITYF+. 该分解不保持函数依赖。 共六十五

21、页7.2.4 关系(gun x)模式的分解方法1. 将关系模式转化为3NF的保持函数依赖的分解1) 对RU,F中的F进行极小化处理。处理后的函数依赖集仍用F表示。2) 找出不再在F中出现的属性,把这样的属性构成(guchng)一个关系模式,并把这些属性从U中去掉。3) 若F中有一个函数依赖涉及R全部属性,则R不能再分解。4) 如果F中含有XA,则分解应包含模式XA,如果XA1,XA2,XAn均属于F,则分解应包含模式XA1A2An。【例】设RU,F,U=C,T,H,R,S,G,X,Y,Z,F=CT,CSG,HRC,HSR,THR,CX,将R分解为3NF,且保持函数依赖。解:设该函数依赖集已经是

22、最小化的,则分解为: =YZ,CTX,CSG,HRC,HSR,THR.共六十五页2. 将关系转化为3NF、且既具有无损连接性又能保持(boch)函数依赖的分解 对于给定的关系模式RU,F,将其转换为3NF,且既具有(jyu)无损连接性又能保持函数依赖的分解算法为:1) 设X是RU,F的码,RU,F先进行保持函数依赖的分解,结果为= R1U1,F1,R2U2,F2,RkUk,Fk,令=R*X,Fx。2) 若有某个Ui,X Ui,将R*X,Fx从中去掉,就是所求的分解。共六十五页【例】有关系(gun x)模式RU,F,U=C,T,H,R,S,G,F=CT,CSG,HRC,HSR,THR,将R分解为

23、3NF,且既具有无损连接性又能保持函数依赖。解:求得关系模式R的码为HS,它的一个保持函数依赖的3NF为: =CT,CSG,HRC,HSR,THR. HSHSR = CT,CSG,HRC,HSR,THR为满足要求的分解。共六十五页3. 将关系(gun x)模式转换为BCNF的无损连接的分解 1) 令= RU,F。2) 检查(jinch)中各关系模式是否均属于BCNF。若是,则算法终止。 3) 假设中RiUi,Fi不属于BCNF,那么必定有XAFi+,(AX),且X非Ri的码。对Ri进行分解:=S1,S2,US1=XA,US2= Ui-A,以代替RiUi,Fi,返回第2)步。共六十五页【例】关系

24、模式RU,F,U=CTHRSG,F= CT,HRC, HTR,CSG,HSR,把R分解成具有无损连接的BCNF。解:令= CTHRSG1) 由于R的码为HS,选择CSG分解。得出(d ch):=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

25、.其中:S5=HRC, F5= HRC; S6=HRS, F6=HSR.4) 最后的分解为:=CSG,CT,HRC,HRS. 共六十五页习题(xt)7共六十五页共六十五页7.2答: 正确。因为学号能够多值决定课程号,且除了学号和课程号外还有成绩属性,它不是平凡的多值依赖。7.3设有关系模式(msh)R(A,B,C),数据依赖集F=ABC,CA,R属于第几范式?为什么?7.3答: BCNF。由于A多值依赖于C,而C不是码,故不服从4NF。但在函数依赖式中,C依赖于码AB,故该模式服从BCNF。共六十五页7.4答: 正确(zhngqu)。正确(zhngqu)。正确(zhngqu)。正确(zhngq

26、u)。正确(zhngqu)。正确(zhngqu)。正确(zhngqu)。不正确(zhngqu)。例如,(学号,课程号)成绩,则不存在:学号成绩,课程号成绩。共六十五页7.7答: 把查询转换成语法树表示。 把语法树转换成标准(优化)形式。 选择低层的存取路径。 生成查询计划,选择代价最小的查询计划。7.8试述查询优化的一般准则。7.8答: 选择运算尽可能先做。 在执行连接前对关系适当地预处理,即在连接属性上建立索引(suyn)和对关系进行排序。 把投影运算和选择运算同时进行。 把投影同其前或其后的双目运算结合起来。 把某些选择同在它前面要执行的笛卡儿积结合起来成为一个连接运算。 找出公共子表达式

27、。共六十五页共六十五页共六十五页共六十五页共六十五页共六十五页共六十五页共六十五页共六十五页共六十五页7.13答: 是BCNF。二元关系中或为全码,或为一个单属性码候选(hu xun)码。是BCNF。关系模式中只有一个候选码。不是BCNF。因为模式中存在候选码为AD、BCD和BE,显然C对AD是部分依赖。共六十五页共六十五页共六十五页共六十五页共六十五页共六十五页共六十五页7.22答:1)关系STUDENT是1NF。2) 消除部分函数依赖S#,CNAMESNAME,SDEPT,MNAME将关系分解为:R1(S#,SNAME,SDEPT,MNAME);R2(S#,CNAME,GRADE). 由于

28、在关系R1中,存在非主属性对候选码的传递函数依赖(S#SDEPT,SDEPT MNAME),所以(suy)以上关系模式还不是BCNF。进一步分解R1为:R11 (S#,SNAME,SDEPT);R12 (SDEPT,MNAME).R11,R12都是3NF。 对于关系模式:R2(S#,CNAME,GRADE),F2=(S#,CNAME)GRADE;R11(S#,SNAME,SDEPT),F11=S#SNAME,S#SDEPT ;R12(SDEPT,MNAME),F12=SDEPTMNAME.上述函数依赖都是非平凡的,并且决定因素是候选码,所以上述关系模式属于BCNF。共六十五页7.23设有关系模

29、式R(A,B,C,D),其函数依赖集:F=AC,CA,BAC,DAC。1)求F的最小等价依赖集FC。2)将R分解为满足3NF且具有无损连接(linji)并保持函数依。答:FC= AC,CA,BA,DAF1=A,C,F2=B,A,F3=D,A,F4=B,D7.24设有关系模式R(U,F),其中:U=C,T,H,R,S,G,F=CSG,CT,TH R,HRC,HSR。请根据算法将R分解为满足BCNF且具有无损连。答:F1=C,S,G,F2=C,T,F3=C,H,R,F4=C,H,S共六十五页共六十五页7.26答:1)由于基本的FD有3个:(职工编号,日期)日产量;职工编号车间编号;车间编号车间主任。得出R的关键码为(职工编号,日期)。2) 由于R中有两个(lin )FD:(职工编号,日期)(车间编号,车间主任);职工编号(车间编号,车间主任)。前一个FD是局部依赖,所以R不是2NF模式。 R应分解成:R1(职工编号,车间编号,车间主任);R2(职工编号,日期,日产量).此处,R1和R2都是2NF模式。3) R2已是3NF模式。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论