CH6部份习题解答.docx
- 文档编号:16764255
- 上传时间:2023-07-17
- 格式:DOCX
- 页数:21
- 大小:30.96KB
CH6部份习题解答.docx
《CH6部份习题解答.docx》由会员分享,可在线阅读,更多相关《CH6部份习题解答.docx(21页珍藏版)》请在冰点文库上搜索。
CH6部份习题解答
第六章关系数据理论
第六章讲解关系数据理论。
这是关系数据库的又一个重点。
学习本章的目的有两个。
一个是理论方面的,本章用加倍形式化的关系数据理论来描述和研究关系模型。
另一个是实践方面的,关系数据理论是咱们进行数据库设计的有力工具。
因此,人们也把关系数据理论中的标准化理论称为数据库设计理论,有的书把它放在数据库设计部份介绍以强调它对数据库设计的指导作用。
一、大体知识点
本章讲解关系数据理论,内容理论性较强,分为大体要求部份(《概论》~和高级部份《概论》。
前者是运算机大学本科学生应该把握的内容;后者是研究生应该学习把握的内容。
①需要了解的:
什么是一个“不行”的数据库模式;什么是模式的插入异样和删除异样;标准化理论的重要意义。
②需要牢固把握的:
关系的形式化概念;数据依托的大体概念(函数依托、一般函数依托、非一般的函数依托、部份函数依托、完全函数依托、传递函数依托的概念,码、候选码、外码的概念和概念,多值依托的概念);范式的概念;从lNF到4NF的概念;标准化的含义和作用。
③需要触类旁通的:
四个范式的明白得与应用,各个级别范式中存在的问题(插入异样、删除异样、数据冗余)和解决方式;能够依照应用语义,完整地写出关系模式的数据依托集合,并能依照数据依托分析某一个关系模式属于第几范式。
④难点:
各个级别范式的关系及其证明。
二、习题解答和解析
1.明白得并给出以下术语的概念:
函数依托、部份函数依托、完全函数依托、传递依托、候选码、主码、外码、全码(All-key)、lNF、2NF、3NF、BCNF、多值依托、4NF。
解析
解答此题不能仅仅把《概论》上的概念写下来。
关键是真正明白得和运用这些概念。
答
函数依托:
设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。
关于R(U)的任意一个可能的关系r,若是r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,那么称“X函数确信Y”或“Y函数依托于X”,记作X→Y。
解析
(1)函数依托是最大体的一种数据依托,也是最重要的一种数据依托。
(2)函数依托是属性之间的一种联系,体此刻属性值是不是相等。
由上面的概念能够明白,若是X→Y,那么r中任意两个元组,假设它们在X上的属性值相同,那么在Y上的属性值必然也相同。
(3)要从属性间实际存在的语义来确信他们之间的函数依托,即函数依托反映了(描述了)现实世界的一种语义。
(4)函数依托不是指关系模式R在某个时刻的关系(值)知足的约束条件,而是指R任何时刻的一切关系均要知足的约束条件。
答
完全函数依托、部份函数依托:
在R(U)中,若是X→Y,而且关于X的任何一个真子集X’,都有X’
Y,那么称Y对X完全函数依托,记作:
假设X→Y,但Y不完全函数依托于X,那么称Y对X部份函数依托,记作:
传递依托:
在R(U)中,若是X→Y,(Y
X),Y
X,Y→Z,Z
Y,那么称Z对X传递函数依托。
候选码、主码:
设K为R〈U,F〉中的属性或属性组合,假设
那么K为R的候选码(Candidatekey)。
假设候选码多于一个,那么选定其中的一个为主码(Primarykey)。
解析
1)那个地址咱们用函数依托来严格概念码的概念。
在第二章中咱们只是描述性地概念码(能够温习):
假设关系中的某一属性组的值能惟一地标识一个元组,那么称该属性组为候选码(Candidatekey)。
2)因为码有了严格概念,在学习了《概论》数据依托的公理系统后就能够够从R〈U,F〉的函数依托集F动身,用算法来求候选码。
答
外码:
关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,那么称X是R的外部码(Foreignkey),也称外码。
全码:
整个属性组是码,称为全码(All-key)。
答
lNF:
若是一个关系模式R的所有属性都是不可分的大体数据项,那么R∈lNF。
解析
第一范式是对关系模式的最最少的要求。
不知足第一范式的数据库模式不能称为关系数据库。
答
2NF:
假设关系模式R∈lNF,而且每一个非主属性都完全函数依托于R的码,那么R∈2NF。
3NF:
关系模式R〈U,F〉中假设不存在如此的码X,属性组Y及非主属性Z(Z
Y)使得X→Y,(Y
X),Y→Z成立,那么称R〈U,F〉∈3NF。
BCNF:
关系模式R〈U,F〉∈lNF。
假设X→Y且Y
X时X必含有码,那么R〈U,F〉∈BCNF。
解析
读者要真正明白得这些范式的内涵。
各类范式之间的联系:
5NF
4NF
BCNF
3NF
2NF
1NF(《概论》上图。
能够明白得什么缘故有这种包括关系。
答
多值依托:
设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,若是关于R的每一个非一般多值依托X→→Y(Y
X),X都含有码,那么称R〈U,F〉∈4NF。
解析
关于多值依托的概念有多种。
能够对照不同的概念来明白得多值依托,选择自己容易明白得的一种概念来把握多值依托概念。
2.成立一个关于系、学生、班级、学会等诸信息的关系数据库。
描述学生的属性有:
学号、姓名、诞生年月、系名、班号、宿舍区。
描述班级的属性有:
班号、专业名、系名、人数、入校年份。
描述系的属性有:
系名、系号、系办公室地址、人数。
描述学会的属性有:
学会名、成立年份、地址、人数。
有关语义如下:
一个系有假设干专业,每一个专业每一年只招一个班,每一个班有假设干学生。
一个系的学生住在同一宿舍区。
每一个学生可参加假设干学会,每一个学会有假设干学生。
学生参加某学会有一个入会年份。
请给出关系模式,写出每一个关系模式的极小函数依托集,指出是不是存在传递函数依托,关于函数依托左部是多属性的情形讨论函数依托是完全函数依托,仍是部份函数依托。
指出各关系的候选码、外部码,有无全码存在?
答
关系模式:
学生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--专业名,CNUM--班级人数,CDATE--入校年份
D#--系号,DN--系名,DA--系办公室地址,DNUM--系人数
PN--学会名,DATEl--成立年月,PA--地址,PNUM--学会人数,DATE2--入会年份
每一个关系模式的极小函数依托集:
S:
S#→SN,S#→SB,S#→C#,C#→DN,DN→SA
C:
C#→CS,C#→CNUM,C#→CDATE,CS→DN,(CS,CDATE)→C#
/*因为每一个专业每一年只招一个班*/
D:
D#→DN,DN→D#,D#→DA,D#→DNUM
/*依如实际情形,系名和系号是一一对应的*/
P:
PN→DATE1,PN→PA,PN→PNUM
SP:
(S#,PN)→DATE2
S中存在传递函数依托:
S#→DN,S#→SA,C#→SA
/*因为S#→C#,C#→DN,DN→SA*/
C中存在传递函数依托:
C#→DN
/*因为C#→CS,CS→DN*/
(S#,PN)→DATE2和(CS,CDATE)→C#均为SP中的函数依托,是完全函数依托。
关系候选码外部码全码
SS#C#,DN无
CC#,(CS,CDATE)DN无
DD#和DN 无无
PPN 无无
SP(S#,PN)S#,PN无
解析
读者应该依照题目中给出的有关语义写出关系模式中的数据依托,有些依托能够依如实际情形写出,或许题目中并无明显指出。
例如,依如实际情形,系名和系号是一一对应的,因此有D#→DN,DN→D#。
3*.试由Armostrong公理系统推导出下面三条推理规那么:
(1)归并规那么:
假设X→Z,X→Y,那么有X→YZ
(2)伪传递规那么:
由X→Y,WX→Z有XW→Z
(3)分解规那么:
X→Y,Z
Y,有X→Z
证明
(1)已知X→Z,由增广律知XY→YZ,又因为X→Y,可得XX→XY→YZ,最后依照传递律得X→YZ。
(因为XX等于X)
(2)已知X→Y,据增广律得XW→WY,因为WY→Z,因此XW→WY→Z,通过传递律可知XW→Z。
(3)已知Z
Y,依照自反律知Y→Z,又因为X→Y,因此由传递律可得X→Z。
5.试举出3个多值依托的实例。
答
(l)关系模式MSC(M,S,C)中,M表示专业,S表示学生,C表示该专业的必修课。
假设每一个专业有多个学生,有一组必修课。
设同专业内所有学生选修的必修课相同,实例关系如下。
依照语义关于M的每一个值Mi,S有一个完整的集合与之对应而不问C取何值,因此M→→S。
由于C与S的完全对称性,必然有M→→C成立。
M
S
C
M1
S1
C1
M1
S1
C2
M1
S2
C1
M1
S2
C2
……
……
……
(2)关系模式ISA(I,S,A)中,I表示学生爱好小组,S表示学生,A表示某爱好小组的活动项目。
假设每一个爱好小组有多个学生,有假设干活动项目。
每一个学生必需参加所在爱好小组的所有活动项目,每一个活动项目要求该爱好小组的所有学生参加。
依照语义有I→→S,I→→A成立。
(3)关系模式RDP(R,D,P)中,R表示医院的病房,D表示责任医务人员,P表示病人。
假设每一个病房住有多个病人,有多个责任医务人员负责医治和护理该病房的所有病人。
依照语义有R→→D,R→→P成立。
12.下面的结论哪些是正确的,哪些是错误的?
关于错误的结论请给出理由或给出一个反例说明之。
答
(1)任何一个二目关系都是属于3NF的。
√
(2)任何一个二目关系都是属于BCNF的。
√
(3)任何一个二目关系都是属于4NF的。
√
R(X,Y)若是X→→Y即X、Y之间存在一般的多值依托,R属于4NF。
*(4)当且仅当函数依托A→B在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。
×
当A→B在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。
反之那么不然。
正确的应该是:
当且仅当多值依托A→→B在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。
(5)若→,→,那么→ √
(6)若→,→,那么→R.(B,C)√
(7)若→,→,那么R.(B,C)→ √
(8)假设R.(B,C)→,那么→,→ ×
反例:
关系模式SC(S#,C#,G),(S#,C#)→G,可是S#
G,C#
G。
补充习题
13.设关系模式R(A,B,C,D),F是R上成立的FD集,F={AB→CD,A→D}。
①试说明R不是2NF模式的理由。
②试把R分解成2NF模式集。
答:
①从已知FD集F,可知R的候选键是AB。
另外,AB→D是一个局部依托,因此R不是2NF模式。
②现在R应分解成ρ={AD,ABC},ρ是2NF模式集。
(注:
ρ={AD,ABC}表示分解结果由两个尚未命名的关系模式组成;其中,第一个关系模式的属性集为(A,D),AD是其简单记法,该关系模式有待命名;第二个关系模式的属性集为(A,B,C),该关系模式也有待命名。
这种记法后面还要用到。
)
14.设关系模式R(A,B,C),F是R上成立的FD集,F={C→B,B→A}。
①试说明R不是3NF模式的理由。
②试把R分解成3NF模式集。
答:
①从已知FD集F,可知R的候选键是C。
从C→B和B→A,可知C→A是一个传递依托,因此R不是3NF模式。
②现在R应分解成ρ={CB,BA},ρ是3NF模式集。
15.设有一个记录各个球队队员每场竞赛进球数的关系模式
R(队员编号,竞赛场次,进球数,球队名,队长名)
若是规定每一个队员只能属于一个球队,每一个球队只有一个队长。
①试写出关系模式R的大体FD和关键码。
②说明R不是2NF模式的理由,并把R分解成2NF模式集。
③进而把R分解成3NF模式集,并说明理由。
解:
(1)依照每一个队员只能属于一个球队,可写出FD:
队员编号→球队名;
依照每一个球队只有一个队长,可写出FD:
球队名→队长名;
“每一个队员每场竞赛只有一个进球数”,这条规那么也是成立的,因此还可写FD:
(队员编号,竞赛场次)→进球数。
从上述三个FD可明白,R的码为(队员编号,竞赛场次)。
(2)从(l)可知,R中存在下面两个FD:
(队员编号,竞赛场次)→(球队名,队长名)
队员编号→(球队名,队长名)
显然,其中第一个FD是一个局部依托,因此R不是2NF模式。
对R应该进行分解,由第二个FD的属性可组成一个模式,即
R1(队员编号,球队名,队长名);
另一个模式由R的属性集去掉第二个FD右边的属性组成,即
R2(队员编号,竞赛场次,进球数)。
(注:
请参考《讲稿》中的逐次分解法。
)
R1和R2都是2NF模式,因此ρ={R1,R2}
(3)R2(队员编号,竞赛场次,进球数)中,FD是(队员编号,竞赛场次)→进球数,码为(队员编号,竞赛场次),可见R2已是3NF模式。
R1(队员编号,球队名,队长名)中,FD有两个:
队员编号→球队名
球队名→队长名
码为队员编号,可见存在传递依托,因此R1不是3NF模式。
对R1应分解成两个模式:
R11(队员编号,球队名),R12(球队名,队长名)。
这两个模式都是3NF模式。
因此,R分解成3NF模式集时,ρ={R11,R12,R2}。
R(职工名,项目名,工资,部门名,部门领导)
若是规定每一个职工可参加多个项目,各领一份工资;每一个项目只属于一个部门治理;每一个部门只有一个领导。
①试写出关系模式R的大体FD和关键码。
②说明R不是2NF模式的理由,并把R分解成2NF模式集。
③进而把R分解成3NF模式集,并说明理由。
解:
(l)R的大体FD有三个:
(职工名,项目名)→工资
项目名→部门名
部门名→部门领导
码为(职工名,项目名)。
(2)依照(l),R中存在以下两个FD:
(职工名,项目名)→(部门名,部门领导)
项目名→(部门名,部门领导)
其中前一个FD是一个局部依托,因此R不是2NF模式。
R应分解成两个模式:
R1(项目名,部门名,部门领导)
R2(职工名,项目名,工资)
R1和R2都是2NF模式。
(3)R2已是3NF模式。
在R1中,由于存在两个FD:
项目名→部门名
部门名→部门领导
即存在一个传递依托,因此R1不是3NF模式。
对R1应分解成两个模式:
R11(项目名,部门名),R12(部门名,部门领导)。
这两个模式都是3NF模式。
因此,R分解成3NF模式集时,ρ={R11,R12,R2}。
17.什么缘故要进行关系模式的分解?
分解的依据是什么?
答:
由于数据之间存在着联系和约束,在关系模式的中可能会存在数据冗余和操作异样现象,因此需把关系模式进行分解,以排除冗余和异样现象。
分解的依据是数据依托和模式的标准(范式)。
18.对给定的关系模式R(U,F),U={A,B,C},F={A→B},如下的两个分解:
(1)ρ1={AB,BC}
(2)ρ2={AB,AC}
判断这两个分解否无损。
解
(1)依照定理判定此题
(注:
由于仅仅将原关系模式分解为两个关系模式,故可用定理判定。
)
因AB∩BC=B
AB-BC=A
BC-AB=C
故B→A
F+
B→C
F+
故ρ1为有损连接。
(2)依照定理判定此题
因AB∩AC=A
AB-AC=B
AC-AB=C
故A→B∈F+
B→C
F+
故ρ2为无损连接。
19.对给定的关系模式R(U,F),U={A,B,C,D,E,P},F={A→B,C→P,E→A,CE→D},如下的分解:
ρ={R1(A,B,E),R2(C,D,E,P)}
(1)求R的候选关键字,并判ρ分解是不是无损连接;
(2)R一、R2属于几范式。
解
(1)候选关键字为CE
因(CE)F+=U
故有CE→U,而且在CE中不存在一个真子集能决定R的全部属性U,故CE为R的候选关键字。
依照定理判定此题分解ρ是不是无损。
因ABE∩CDEP=E
ABE-CDEP=AB
CDEP-ABE=CDP
因E→A,A→B(已知)
故有E→B(传递律)
因E→A,E→B
故有E→AB(归并律)
因E→AB∈F+
故故ρ为无损连接。
(2)R一、R2属于几范式?
①R1∈2NF
因E→A,A→B
故E→B,存在传递依托
故R1
3NF
②R2∈1NF
因CE→D,C→P
故CE能惟一地确信R2中的每一个元组,故为候选关键字。
因CE是候选关键字,而C→P,因此P部份函数依托于CE
故R2
2NF。
20.已知关系模式R(A,B,C)
F={B→C,C→B,C→A,A→B,A→C,BC→A}
求F的最小集Fmin=?
解1:
(1)右端皆为单个属性.
(2)去掉多余依托。
(应优先考虑去掉左端比较复杂的函数依托.)
B→C(留)
C→B(去掉,因为它被去掉后只要还留下C→A,A→B,仍能够导出C→B)
C→A(留)
A→B(留)
A→C(去掉,因为它被去掉后由A→B、B→C仍能够导出A→C)
BC→A(去掉,因为它被去掉后由C→A仍能够导出BC→A)
于是,Fmin={B→C,C→A,A→B}.
解2:
(1)右端皆为单个属性.
(2)去掉多余依托。
这次咱们采纳另外一种顺序.
B→C
C→B(留)
C→A(去)
A→B(去)
A→C(留)
BC→A(留)
于是取得,H={B→C,C→B,A→C,BC→A}.
H不是最小集,因为:
H-{BC→A}∪{B→A}仍等价于H;
H-{BC→A}∪{C→A}仍等价于H.
故可得:
P1={B→C,C→B,A→C,B→A}
P2={B→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.证明:
假设R∈3NF,那么每一个非主属性既不部份依托于码也不传递依托于码。
(注:
证明进程能够用反证法来完成,让我来试证。
)
证明:
(1)每一非主属性都不传递依托于码是3NF概念所要求的,因此也是显然的。
(2)每一非主属性都不部份依托于码。
事实上,假设存在一非主属性A部份依托于码X,那么必有X的一个真子集X’
X,且X’
A,于是有X→X’,X’
X,X’→A,A
X’.这与3NF概念相矛盾。
证毕。
通过那个证明进程明白,一个3NF的关系模式必然是2NF的,因为它的每一非主属性都不部份依托于码。
22.证明:
BCNF必然是3NF.
证明:
也确实是要证明:
在BCNF情形下,不存在如此的码X,属性组Y,和非主属性A(A
Y),使得X→Y,Y
X,Y→A成立。
事实上,假设存在如此的码X,属性组Y,和非主属性A(A
Y),使得X→Y,Y
X,Y→A成立的话,由BCNF概念可知,Y为码或Y包括码,那么必有Y→X,与上述假设矛盾。
于是,BCNF必是3NF.
23.关系R(A,B,C,D,E)知足以下函数依托:
F={A→C,C→D,B→C,DE→C,CE→A}
(1)给出关系R的候选关键字;
(2)判ρ={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)构造一个二维表,如以下图所示。
A
B
C
D
E
R1(A,D)
R2(A,B)
R3(B,C)
R4(C,D,E)
R5(A,E)
a1
a1
b31
b41
a1
b12
a2
a2
b42
b52
b13
b23
a3
a3
b53
a4
b24
b34
a4
b54
b15
b25
b35
a5
a5
①依照A→C,对上表进行处置,由于属性列A上第1,2,5行相同,但属性列C上对应的1,2,5行上无ai元素,因此,只能将b13,b23,b53改成行号最小值b13。
又依照C→D将属性列D上b34改成a4,修改后的表如处图所示:
A
B
C
D
E
R1(A,D)
R2(A,B)
R3(B,C)
R4(C,D,E)
R5(A,E)
a1
a1
b31
b41
a1
b12
a2
a2
b42
b52
b13
b13
a3
a3
b13
a4
b24
a4
a4
b54
b15
b25
b35
a5
a5
②依照B→C,对上表进行处置,由于属性列B上第2,3行相同,但属性列C上对应的3行为a3元素,因此,只能将第2行b13改成a3。
又依照DE→C,CE→A不能修改此表,因此修改后的表如以下图所示:
A
B
C
D
E
R1(A,D)
R2(A,B)
R3(B,C)
R4(C,D,E)
R5(A,E)
a1
a1
b31
b41
a1
b12
a2
a2
b42
b52
b13
a3
a3
a3
b13
a4
b24
a4
a4
b54
b15
b25
b35
a5
a5
③依照A→C,对上表进行处置,由于属性列A上第1,2,5行相同,但属性列C上对应的1,2,5行上有a3元素,因此,只能将第1,5行b13改成a3。
又依照C→D将属性列D上b24,b54改成a4,修改后的表如以下图所示:
A
B
C
D
E
R1(A,D)
R2(A,B)
R3(B,C)
R
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CH6 部份 习题 解答