数据库系统概论CH6部分习题解答Word格式.docx

上传人:b****7 文档编号:22071987 上传时间:2023-02-02 格式:DOCX 页数:21 大小:32.47KB
下载 相关 举报
数据库系统概论CH6部分习题解答Word格式.docx_第1页
第1页 / 共21页
数据库系统概论CH6部分习题解答Word格式.docx_第2页
第2页 / 共21页
数据库系统概论CH6部分习题解答Word格式.docx_第3页
第3页 / 共21页
数据库系统概论CH6部分习题解答Word格式.docx_第4页
第4页 / 共21页
数据库系统概论CH6部分习题解答Word格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

数据库系统概论CH6部分习题解答Word格式.docx

《数据库系统概论CH6部分习题解答Word格式.docx》由会员分享,可在线阅读,更多相关《数据库系统概论CH6部分习题解答Word格式.docx(21页珍藏版)》请在冰豆网上搜索。

数据库系统概论CH6部分习题解答Word格式.docx

完全函数依赖、部分函数依赖:

在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)这里我们用函数依赖来严格定义码的概念。

在第二章中我们只是描述性地定义码(可以复习2.2.1):

若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码(Candidatekey)。

2)因为码有了严格定义,在学习了《概论》5.3数据依赖的公理系统后就可以从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(《概论》上图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,如果对于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

S1

C2

S2

……

(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)若R.A→R.B,R.B→R.C,则R.A→R.C √

(6)若R.A→R.B,R.A→R.C,则R.A→R.(B,C)√

(7)若R.B→R.A,R.C→R.A,则R.(B,C)→R.A √

(8)若R.(B,C)→R.A,则R.B→R.A,R.C→R.A ×

反例:

关系模式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}。

  

16.设有关系模式

R(职工名,项目名,工资,部门名,部门经理)

如果规定每个职工可参加多个项目,各领一份工资;

每个项目只属于一个部门管理;

每个部门只有一个经理。

(l)R的基本FD有三个:

(职工名,项目名)→工资

项目名→部门名

部门名→部门经理

码为(职工名,项目名)。

(2)根据(l),R中存在下列两个FD:

(职工名,项目名)→(部门名,部门经理)

项目名→(部门名,部门经理)

其中前一个FD是一个局部依赖,因此R不是2NF模式。

R应分解成两个模式:

R1(项目名,部门名,部门经理)

    R2(职工名,项目名,工资)

R1和R2都是2NF模式。

(3)R2已是3NF模式。

在R1中,由于存在两个FD:

即存在一个传递依赖,因此R1不是3NF模式。

R11(项目名,部门名),R12(部门名,部门经理)。

因此,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

故ρ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)R1、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)R1、R2属于几范式?

①R1∈2NF

因E→A,A→B

故E→B,存在传递依赖

故R1

②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:

这次我们采用另外一种顺序.

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

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

b31

b41

b12

a2

b42

b52

b13

b23

a3

b53

a4

b24

b34

b54

b15

b25

b35

a5

①根据A→C,对上表进行处理,由于属性列A上第1,2,5行相同,但属性列C上对应的1,2,5行上无ai元素,所以,只能将b13,b23,b53改为行号最小值b13。

又根据C→D将属性列D上b34改为a4,修改后的表如处图所示:

②根据B→C,对上表进行处理,由于属性列B上第2,3行相同,但属性列C上对应的3行为a3元素,所以,只能将第2行b13改为a3。

又根据DE→C,CE→A不能修改此表,所以修改后的表如下图所示:

③根据A→C,对上表进行处理,由于属性列A上第1,2,5行相同,但属性列C上对应的1,2,5行上有a3元素,所以,只能将第1,5行b13改为a3。

又根据C→D将属性列D上b24,b54改为a4,修改后的表如下图所示:

R4(C,D,E

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1