CH6(部分)习题解答_第1页
CH6(部分)习题解答_第2页
CH6(部分)习题解答_第3页
CH6(部分)习题解答_第4页
CH6(部分)习题解答_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、第六章关系数据理论第六章讲解关系数据理论。这是关系数据库的又一个重点。学习本章的目的 有两个。一个是理论方面的,本章用更加形式化的关系数据理论来描述和研究关 系模型。另一个是实践方面的,关系数据理论是我们进行数据库设计的有力工具。 因此,人们也把关系数据理论中的规范化理论称为数据库设计理论,有的书把它 放在数据库设计部分介绍以强调它对数据库设计的指导作用。一、基本知识点本章讲解关系数据理论,内容理论性较强,分为基本要求部分(概论6.16.3) 和高级部分概论 6.4) 。前者是计算机大学本科学生应该掌握的内容;后者是研究生应该学习掌握的内容。需要了解的 : 什么是一个“不好”的数据库模式;什么

2、是模式的插入异常和删除异常;规范化理论的重要意义。需要牢固掌握的 : 关系的形式化定义;数据依赖的基本概念( 函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念, 码、 候选码、 外码的概念和定义, 多值依赖的概念) ; 范式的概念; 从 lNF到4NF的定义;规范化的含义和作用。需要举一反三的 : 四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余) 和解决方法;能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。难点 : 各个级别范式的关系及其证明。二、习题解答和解析1 .理解并

3、给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key) 、INF、2NR 3NR BCNF 多值依赖、4NR解析解答本题不能仅仅把概论上的定义写下来。关键是真正理解和运用这些函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对 于 R(U) 的任意一个可能的关系r, 如果 r 中不存在两个元组,它们在X 上的属性值相同,而在Y上的属性值不同,则称“ X函数确定Y”或“Y函数依赖于X”,记作 X- 丫。解析(1) 函数依赖是最基本的一种数据依赖,也是最重要的一种数据依赖。(2) 函数依赖是属性之间的一种联系,体现在属性

4、值是否相等。由上面的定义可以知道,如果X-Y,则r中任意两个元组,若它们在 X上的属性值相同,那 么在Y 上的属性值一定也相同。(3) 要从属性间实际存在的语义来确定他们之间的函数依赖,即函数依赖反映了(描述了)现实世界的一种语义。(4) 函数依赖不是指关系模式 R在某个时刻的关系(值)满足的约束条件,而是指R任何时刻的一切关系均要满足的约束条件。答完全函数依赖、部分函数依赖:在R(U)中,如果X-Y,并且对于*的任何一 个真子集X',都有X'丫,则称Y对X完全函数依赖,记作:尸若 -Y, 1Y不完全函数依赖于X,则称Y对X部分函数依赖,记作传递依赖:在R(U)中,如果Xf Y

5、, (YX), Y»X, Y-Z,ZeY,则称Z对X传 递函数依赖。候选码、主码:设K为R <U,F>中的属性或属性组合,若 及 二 U则K为R 的候选码(Candidate key)。若候选码多于一个,则选定其中的一个为主码(Primary key)。解析1) 这里我们用函数依赖来严格定义码的概念。在第二章中我们只是描述性地定义码(可以复习2.2.1):若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码(Candidate key)2) 因为码有了严格定义,在学习了概论5.3数据依赖的公理系统后就可以从R <U,F>的函数依赖集F出发,用算法

6、来求候选码。答外码:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的 码,则称X是R的外部码(Foreign key),也称外码。全码:整个属性组是码,称为全码(All-key)。INF:如果一个关系模式R的所有属性都是不可分的基本数据项,则 RC INF。解析第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能 称为关系数据库。答2NF若关系模式RC INF,并且每一个非主属性都完全函数依赖于R的码,则RC 2NR3NF关系模式R <U,F>中若不存在这样的码X,属性组Y及非主属性Z(ZY) 使得 X-Y, (YX), 3Z成立,则称 R <U,F

7、> C 3NF。BCNF关系模式R <U,F> CINF。若Xf Y且俗X时X必含有码,则 R <U,F> BCNF解析读者要真正理解这些范式的内涵。各种范式之间的联 系:5NF4NFBCNF 3NF-2NF- 1NF(概论上图6.2)。能够理解为什么有这种 包含关系。多值依赖:设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且 Z=U-X-Y。关系模式R(U)中多值依赖X一一Y成立,当且仅当对R(U)的任一关系r, 给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。4NF关系模式 R <U,F> 1NF,如果对于

8、R的每个非平凡多值依赖X一一Y(YSX),X 都含有码,则称 R <U,F> C4NE解析对于多值依赖的定义有多种。可以对比不同的定义来理解多值依赖,选择自 己容易理解的一种定义来掌握多值依赖概念。2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。描述班级的属性有:班号、专业名、系名、人数、入校年份。描述系的属性有:系名、系号、系办公室地点、人数。描述学会的属性有:学会名、成立年份、地点、人数。有关语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若 干学生。一个系的学生住在同一宿舍区。每个学生可参加若干

9、学会,每个学会有 若干学生。学生参加某学会有一个入会年份。请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递 函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还 是部分函数依赖。指出各关系的候选码、外部码,有没有全码存在 ?答关系模式:学生 S(S#, SN SB, DN C#, SA)班级 C(C#, CS DN CNUM CDATE)系 D(D# , DN DA DNUM)学会 P(PN DATEl, PA, PNUM)学生-学会 SP(S#, PN DATE2)其中,S#-学号,SN-姓名,SB-出生年月,SA-宿舍区C#- 班号,CS-专业名,CNU

10、M-班级人数,CDATE-入校年份D#- 系号,DN-系名,DA-系办公室地点,DNUM-系人数PN- 学会名,DATEl-成立年月,PA-地点,PNUM-学会人数,DATE2-A会年份每个关系模式的极小函数依赖集:S: S# -SN SA SB, S#f C#, C# f DN DN SAC: C# -CS, CACNUMCACDATE ODN (CS, CDAT守C#/*因为每个专业每年只招一个班 */D: D# -DN DND#, D4DA D#DNUM/*按照实际情况,系名和系号是一一对应的*/P: PN -DATE1 PNr> PA PNt>PNUMSP: (S #, P

11、N)- DATE2S 中存在传递函数依赖:S# 一 DN S#一SA C#SA/*因为 SAC#, CADN DNSA*/C 中存在传递函数依赖:C#一DN/*因为 CAC§ CSDN*/(S# , PN尸DATE2和(CS , CDATE>>C#匀为SP中的函数依赖,是完全函数依赖关系候选码外部码全码S S#C#,DN无C C#,(CS, CDATE)DN无D D#和DN无无P PN无无SP (S#,PN)S#,PN无解析读者应该根据题目中给出的有关语义写出关系模式中的数据依赖,有些依赖 可以按照实际情况写出,也许题目中并没有明显指出。例如,按照实际情况,系 名和系号是

12、对应的,因此有 DA DN DND#3*.试由Armostrong公理系统推导出下面三条推理规则:(1) 合并规则:若X-Z, X-Y,则有X-YZ(2) 伪传递规则:由X-Y, WX> Z有XW>Z(3) 分解规则:X-Y, ZUY,有X-Z证明(1)已知XfZ,由增广律知 XY丫乙 又因为X-Y,可得XAXYYZ,最后 根据传递律得X-YZ0 (因为XX等于X)(2)已知XfY,据增广律得 XW>WY因为 WY>Z,所以XW>WY>Z,通过传 递律可知XW> Zo(3)已知Z0Y,根据自反律知Y-Z,又因为X-Y,所以由传递律可得X-Zo5.试举出

13、3个多值依赖的实例。(1) 关系模式MSC(M S, C)中,M表示专业,S表示学生,C表示该专业的必修课。假设每个专业有多个学生,有一组必修课。设同专业内所有学生选修的必 修课相同,实例关系如下。按照语义对于M的每一个值M, S有一个完整的集合与 之对应而不问C取何值,所以MH-S。由于C与S的完全对称性,必然有MH- C 成立。MSCM1:S1C1M1P S1C2M1S2C1M1r S2C2,(2) 关系模式ISA(I , S, A)中,I表示学生兴趣小组,S表示学生,A表示某兴趣小组的活动项目。假设每个兴趣小组有多个学生,有若干活动项目。每个学 生必须参加所在兴趣小组的所有活动项目,每个

14、活动项目要求该兴趣小组的所有 学生参加。按照语义有I 一一 S, I 一一A成立。(3) 关系模式RDP(R D, P)中,R表示医院的病房,D表示责任医务人员,P表示病人。假设每个病房住有多个病人,有多个责任医务人员负责医治和护理该 病房的所有病人。按照语义有 RH- D, R一一 P成立。12.下面的结论哪些是正确的,哪些是错误的?对于错误的结论请 给出理由或 给出一个反例说明之。答(1)任何一个二目关系都是属于3NF的。V(2)任何一个二目关系都是属于 BCNF勺。V(3)任何一个二目关系都是属于4NF的。VR(X, Y)如果X一一Y即X、Y之间存在平凡的多值依赖,R属于4NE*(4)当

15、且仅当函数依赖A- B在R上成立,关系R(A, B, C)等于其投影R1(A, B)和R2(A, C)的连接。X当 K B在R上成立,关系R(A, B, C)等于其投影R1(A, B)和R2(A, C)的连 接。反之则不然。正确的应该是:当且仅当多值依赖Z- B在R上成立,关系R(A, B, C)等于其投影R1(A, B)和R2(A, C)的连接。(1) 若 R.A一R.B, R.BR.C,则 R.A-R.C V(6) 若 R.A一R.B, R.AR.C,则 R.A-R.(B , C) V(7) 若 R.B一R.A, R.C-R.A,则 R.(B , C)一R.A V(8) 若 R.(B, C

16、)一R.A,则 R.B一R.A, R.C- R.A X反例:关系模式 SC(S袍 C#, G), (S#, C#)一G,但是 SG, CG补充习题13 .设关系模式R(A, B, C, D), F是R上成立的FD集,F= ACR Z D。 试说明R不是2NF模式的理由。 试把R分解成2NF模式集。答:从已知FD集F,可知R的候选键是AR另外,A D是一个局部依赖,因此 R不是2NF模式。 此时R应分解成p =AD, ABC, p是2NF模式集。(注:p=AD, ABC盾示分解结果由两个尚未命名的关系模式组成;其中,第 一个关系模式的属性集为(A,D) , AD是其简单记法,该关系模式有待命名;

17、第二个 关系模式的属性集为(A,B,C),该关系模式也有待命名。这种记法后面还要用到。)14 .设关系模式R(A, B, C) , F是R上成立的FD集,F= CB, B-A。 试说明R不是3NF模式的理由。 试把R分解成3NF模式集。从已知FD集F,可知R的候选键是Co从C-B和BfA,可知 gA是一个传递依赖,因此 R不是3NF模式 此时R应分解成p= CB,BA, p是3NF模式集。15 .设有一个记录各个球队队员每场比赛进球数的关系模式R(队员编号,比赛场次,进球数,球队名,队长名 )如果规定每个队员只能属于一个球队,每个球队只有一个队长。 试写出关系模式R的基本FD和关键码。 说明R

18、不是2NF模式的理由,并把R分解成2NF模式集。 进而把R分解成3NF模式集,并说明理由。解:(1)根据每个队员只能属于一个球队,可写出 FD:队员编号-球队名; 根据每个球队只有一个队长,可写出 FD 球队名队长名;“每个队员每场比赛只有一个进球数” , 这条规则也是成立的, 因此还可写 FD:(队员编号,比赛场次)进球数。从上述三个FD可知道,R的码为(队员编号,比赛场次)。(2)从(l)可知,R中存在下面两个FD(队员编号,比赛场次)-(球队名,队长名)队员编号f(球队名,队长名)显然,其中第一个FD是一个局部依赖,因此R不是2NF模式。对R应该进行分解,由第二个FD的属性可构成一个模式

19、,即R1( 队员编号,球队名,队长名 ) ;另一个模式由R的属性集去掉第二个FD右边的属性组成,即R2(队员编号,比赛场次,进球数)。( 注:请参考讲稿中的逐次分解法。 )R1和R2者B是2NF模式,因止匕p = R1, R2(3) R2(队员编号,比赛场次,进球数)中,FD是(队员编号,比赛场次)进 球数,码为(队员编号,比赛场次),可见R2已是3NF模式。R1(队员编号,球队名,队长名)中,FD有两个:队员编号-球队名 球队名队长名码为队员编号,可见存在传递依赖,因此 R1不是3NF模式。对R1应分解成两个模式:R11(队员编号,球队名),R12什求队名,队长名)。这两个模式都是3NF模式

20、。因此,R分解成3NF模式集时,p = R11, R12, R2。16. 设有关系模式R( 职工名,项目名,工资,部门名,部门经理)如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一个经理。 试写出关系模式R的基本FD和关键码。 说明R不是2NF模式的理由,并把R分解成2NF模式集。 进而把R分解成3NF模式集,并说明理由。解:(1) R的基本FD有三个:(职工名,项目名)-工资项目名部门名 部门名部门经理码为 ( 职工名,项目名 ) 。(2) 根据 (l) , R 中存在下列两个FD:( 职工名,项目名)-(部门名,部门经理)项目名(部门名,部门经理)其

21、中前一个FD是一个局部依赖,因此R不是2NF模式R 应分解成两个模式:R1(项目名,部门名,部门经理)R2(职工名,项目名,工资)R1 和R2者B是2NF模式。(3) R2已是3NF模式。在R1中,由于存在两个FD:项目名一部门名部门名一部门经理即存在一个传递依赖,因此 R1不是3NF模式。对R1应分解成两个模式:R11(项目名,部门名),R12(部门名,部门经理) 这两个模式都是3NF模式。因此,R分解成3NF模式集时,p= R11, R12, R2。17 .为什么要进行关系模式的分解?分解的依据是什么?答:由于数据之间存在着联系和约束,在关系模式的中可能会存在数据冗余和操 作异常现象,因此

22、需把关系模式进行分解,以消除冗余和异常现象。分解的依据是数据依赖和 模式的标准(范式)。18 .对给定的关系模式R(U, F), U=A, B, C, F=A-B,如下的两个分解:(1) P 仁AB, BC(2) p 2=AB, AC判断这两个分解否无损。解(1)根据定理判断本题(注:由于仅仅将原关系模式分解为两个关系模式,故可用定理判断。)因 AB n BC=BAB-BC=ABC-AB=C故 B - AE F+B - CEF+故p 1为有损连接。(2)根据定理判断本题因 AB n AC=AAB-AC=BAC-AB=C故 A -BC F+Bf CF+故p 2为无损连接。19 .对给定的关系模式

23、 R(U,F),U=A,B,C,D,E,P,F=A-B,C-P,E-A,CJD,如下的分解:p= R1(A,B,E) , R2(C,D,E,P) (1)求R的候选关键字,并判p分解是否无损连接; R1、R2属于几范式。解(1)候选关键字为CE因(CE) f+ = U故 有CAU,并且在CE中不存在一个真子集能决定 R的全体属性U,故CE 为R的候选关键字。根据定理判断本题分解p是否无损。因 ABEACDEP = EABE- CDEP = AB CDEP-ABE=CDP 因E 一A, A- B (已知) 故有E- B( 传递律)因 E 一A, E一 B 故有E-AB ( 合并律) 因 E -AB

24、C F+ 故故p为无损连接。 (2) R1、R2属于几范式? R1 2NF 因 E 一A, 2 B 故E 一B,存在传递依赖 故 R13NF R2C 1NF 因 CED, C- P 故CE能惟一地确定R2中的每一个元组,故为候选关键字。 因CE是候选关键字,而C-P,所以P部分函数依赖于CE 故 R232NE20 .已知关系模式R(A,B,C)F=B 一 C,C- B,CA,AB,AC,B8 A求F的最小集Fmin = ?解1:(1)右端皆为单个属性.(2)去掉多余依赖。(应优先考虑去掉左端比较复杂的函数依赖.)B - C (留)CfB (去掉,因为它被去掉后只要还留下8A,A-B,仍可以导出

25、C-B)8 A (留)Z B (留)ZC (去掉,因为它被去掉后由 ZB B-C仍可以导出A- C)BgA(去掉,因为它被去掉后由 gA仍可以导出BOA)于是,Fmin = B -C , C -A , A -B .解2: (1)右端皆为单个属性.(2)去掉多余依赖。这次我们采用另外一种顺序B 一 CCH B (留)8 A (去)ZB (去)ZC (留)BCH A(留)于是得到,H= B -C , C -B , A -C,B8A.H不是最小集,因为:H- BC -A U BA 仍等价于 H;H- BC -A U CA 仍等价于 H.故可得:P1= B 一 C,C- B,AC,B-A P2= B

26、一 C,C- B,A-C,C- A H和P1是等价的,因为Bh+ A,故B-A在H中,而H中其余几个函数依赖显然也都在H中;同理可证H的每一个函数依赖也都在 P1+中;因此,H和P1等价。同理,H和P2是等价的。P2已经是最小集。P1仍需继续化简,怎样化简,请读者自己考虑。这个例子说明了,在求一个函数依赖集的最小集时,由于对函数依赖的处置顺序不同,所得到的结果也不同;最小集的形式也不是唯一的!21 .证明:若RC 3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。(注:证明过程可以用反证法来完成,让我来试证。)证明:(1)每一非主属性都不传递依赖于码是 3NF定义所要求的,因而也是显然

27、的。(2)每一非主属性都不部分依赖于码。事实上,若存在一非主属性A部分依赖于码X,则必有X的一个真子集X,X, 且X'4A,于是有X-X', XX, X'-A, AEX'.这与3NF定义相矛盾。证毕。通过这个证明过程知道,一个 3NF的关系模式必然是2NF的,因为它的每一非主 属性都不部分依赖于码。22 .证明:BCNF必然是3NF.证明:也就是要证明:在BCNF青况下,不存在这样的码 X,属性组Y,以及非 主属性A(AHY),使得X- Y,Y5X,YfA成立。事实上,若存在这样的码 X,属性组 Y,以及非主属性 A(A§Y),使得X- Y,Y

28、7;X,Y-A成立的话,由BCNFS义可知,Y为码或者Y包含码,则必有Y- X, 与上述假设矛盾。于是,BCN或、是3NF.23 .关系R(A, B, C, D, E)满足下列函数依赖:F=A-C, C- D, B- C, DE C, C口A(1)给出关系R的候选关键字;9(2) « p =R1(A,D) , R2(A,B) , R3(B,C), R4(C,D,E) , R5(A,E)是否无损连 接分解;(3)将R分解为BCNF并具有无损连接性。解(1)从函数依赖集F中看,候选关键字至少包含BE,因为BE不依赖于谁,而 (BE)+=ABCDE所以,BE是R的候选关键字。(2)构造一个

29、二维表,如下图所示。ABCDER1(A,D)a1b12b13a4b15R2(A,B)a1a2b23b24b25R3(B,C)b31a2a3b34b35R4(C,D,E)b41b42a3a4a5R5(A,E)a1b52b53b54a5根据A-C,对上表进行处理,由于属性列 A上第1,2, 5行相同,但属性 列C上对应的1,2, 5行上无ai元素,所以,只能将b13,b23,b53改为行号最小 值b13。又由g据C- D将属性列D上b34改为a4,修改后的表如处图所示:ABCDER1(A,D)a1b12b13a4b15R2(A,B)a1a2b13b24b25R3(B,C)b31a2a3a4b35R

30、4(C,D,E)b41b42a3a4a5R5(A,E)a1b52b13b54a5根据B-C,对上表进行处理,由于属性列 B上第2,3行相同,但属性列C 上对应的3行为a3元素,所以,只能将第2行b13改为a3。又根据DC, CE A不能修改此表,所以修改后的表如下图所示:ABCDER1(A,D)a1b12b13a4b15R2(A,B)a1a2a3b24b25R3(B,C)b31a2a3a4b35R4(C,D,E)b41b42a3a4a5R5(A,E)a1b52b13b54a5根据A-C,对上表进行处理,由于属性列 A上第1,2, 5行相同,但属性 列C上对应的1,2 , 5行上有a3元素,所以

31、,只能将第1,5行b13改为a3。又根 据C-D将属性列D上b24,b54改为a4,修改后的表如下图所示:ABCDER1(A,D)a1b12a3a4b15R2(A,B)a1a2a3a4b25R3(B,C)b31a2a3a4b35R4(C,D,E)b41b42a3a4a5R5(A,E)a1b52a3a4a51 o 根据C卧A,对上表进行处理,由于属性列 CE上第4, 5行相同,但属性 列A上对应的5行为al元素,所以,将第4行b41改为al。修改后的表如下图所 示:ABCDER1(A,D)a1b12a3a4b15R2(A,B)a1a2a3a4b25R3(B,C)b31a2a3a4b35R4(C,D,E)a1b42a3a4a5R5(A,E)a1b52a3a4a5继续扫描F不能修改此表,由于

温馨提示

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

最新文档

评论

0/150

提交评论