CH5习题答案

一、填空题

1.数据冗余不仅浪费存储空间,还可能导致操作异常和_数据不一致_。操作异常包括_插入异常_、  修改异常 删除异常  

2.满足1NF、2NF和3NF的模式集合之间,是一种__包含_关系。

3.在函数依赖的范围内,___BC__NF达到了最高的规范化程度。  

4.若关系R所有的属性都是不可再分的数据项,则称R属于第__范式。

5.1NF的关系消除非主属性对候选键的   部分  函数依赖后,可将范式等级提高到2NF。

6.关系模式由2NF转化为3NF是消除了非主属性对码的__传递函数依赖_____。

7.关系模式由3NF转化为BCNF是消除了  主属性对于候选键的部分和传递函数依赖 

8.F中的函数依赖所蕴含的函数依赖的集合称为F的 闭包 Armstrong公理  为计算F+提供了一个有效且完备的基础理论。

9.当且仅当两个函数依赖集的  闭包 相等时,这两个函数依赖集等价。

10.关系模式的规范化是通过  模式分解 来实现的。

二、选择题

1.关系数据库规范化理论是为解决关系数据库中   A   问题而引入的。

A.插入、修改、删除异常和数据冗余    B.提高查询速度

C.减少数据操作的复杂性                      D.保证数据的安全性和完整性

2.设有关系模式EMP(职工号,姓名,年龄,技能)。假设职工号惟一,每个职工有多项技能,则EMP表的主键是   D  

    A.职工号       B.姓名,技能         C.技能       D.职工号,技能

3.设关系模式R(A,B)上的函数依赖为A→B,则R最高属于   D 

    A.2NF        B.3NF          C.BCNF           D.4NF

4.3NF___D__规范为4NF。

A.消除非主属性对码的部分函数依赖

B.消除非主属性对码的传递函数依赖

C.消除主属性对码的部分和传递函数依赖 

D.消除非平凡且非函数依赖的多值依赖

5.关系模式R中若没有非主属性,则___B__。

A.R属于2NF但不一定属于3NF          B.R属于3NF但不一定属于BCNF

C.R属于BCNF但不一定属于4NF      D.R属于4NF   

6.设R(U)是属性集U上的关系模式。X、Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称___A__。

A. Y函数依赖于X        B. Y对X完全函数依赖

C. X为U的候选码        D. R属于2NF

7.具有多值依赖的关系模式仍存在如下问题___D___。

A. 插入异常            B. 删除异常         C. 数据冗余太大

D. 插入异常、删除异常、数据冗余太大

8.当B属性函数依赖于A属性时,属性A与B的联系是___B__。

A.1对多          B.多对1           C.多对多      D.以上都不是

9.关系模式分解的无损连接和保持函数依赖两个特性之间___D___。

    A.前者蕴含后者                  B.后者蕴含前者

    C.二者同时成立,或同时不成立    D.没有必然联系    

10.设关系模式R(A,B,C,D),F是R上成立的FD集,F={ AB→C,D→B },那么F 在模式ACD上的投影πACD(F)为__C___。                                                                                                                                                          

A.{ AB→C,D→B }                         B.{ AC→D }

C.{ AD→C }                                     D.φ(即不存在非平凡的FD)

三、简答题

1.理解并给出下列术语的定义:

函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、候选键、1NF、2NF、3NF、BCNF、多值依赖、4NF。

2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。

描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区;

描述班级的属性有:班号、专业名、系名、人数、入校年份;

描述系的属性有:系名、系号、系办公室地点、人数;

描述学会的属性有:学会名、成立年份、地点、人数。

有关语义如下:一个系有若干专业,每个专业每年只招一个班,每班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。

请给出关系模式,写出每个关系模式的最小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系的候选键、外键,有没有全键存在?

解答:

按所提供的信息,可直接设计如下关系模式:

学生(< 学号,姓名,出生年月,系名班号,宿舍区>,{学号→姓名,学号→出生年月,学号→班号,班号→系名,系名→宿舍区});

存在传递函数依赖:

学号→班号,班号→系名,系名→宿舍区

班级(<班号,专业名,系名,人数,入校年份>,{班号→专业名,专业名→系名,班号→人数,班号→入校年份,(专业名,入校年份)→班号});

存在传递函数依赖:

班号→专业名,专业名→系名;

系(<系名系号,系办公地点,人数>,{系名→系号,系号→系名,系名→系办公地点,系名→人数});

学会( < 学会名,成立年份,地点,人数>,{学会名→成立年份,学会名→地点,学会名→人数});

学生学会(<学生学会,入会时间>,{(学生,学会) →入会时间}),

学生、学会是该模式的外码,(学生,学会) →入会时间 是完全函数依赖。

标注红色的属性为主码,带下划线的为外码。

需要强调的是,由于学生和班级的关系模式中存在着传递函数依赖,所以这两个关系模式不满足3NF,模式设计的不好,可采用分解的方法,将该两个模式规范化为3NF,即可得到

学生(< 学号,姓名,出生年月,班号>,{学号→姓名,学号→出生年月,学号→班号 });

班级(<班号专业名,人数,入校年份>,{班号→专业名,班号→人数,班号→入校年份,(专业名,入校年份)→班号});

专业(<专业名,系名>,专业名→系名);

系(<系名系号,系办公地点,人数,宿舍区>,{系名→系号,系号→系名,系名→系办公地点,系名→人数,系名→宿舍区});

通过该习题,可以让学生体会规范化理论的指导意义。

3.下面的结论哪些是正确的?哪些是错误的?对于错误的请给出一个反例说明。

(1)任何一个二目关系是属于3NF的。

(2)任何一个二目关系是属于BCNF的。

(3)任何一个二目关系是属于4NF的。

(4)当且仅当函数依赖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。

解答:

(1)正确,只有两个属性,无传递依赖。

(2)正确,只有两个属性,根据定义, 不存在决定因素为非码的依赖。

(3)正确,只有两个属性,所以无非平凡的多值依赖。

(4)错误。若函数依赖A→B在R上成立,因为 U1=AB,U2=AC,则U1∩U2=A,U1-U2=B,(U1∩U2)→(U1-U2)∈F+,由教材定理5.6,R1(A,B)和R2(A,C)是关系R(A,B,C)的无损分解,因此关系R(A,B,C)等于其投影R1(A,B)和R2(A,C) 的连接。

反之,关系R(A,B,C) 等于其投影R1(A,B)和R2(A,C)的连接,即分解无损,则(U1∩U2)→(U1-U2)∈F+或(U1∩U2)→(U2-U1)∈F+,

即A→B或A→C。

(5)正确, 传递律

(6)正确,合并规则

(7)正确,增广律

(8)错误,例如:SC(SNO,CNO,GRADE),(SNO,CNO) →GRADE,但SNO→GRADE,CNO→GRADE不成立。

四、计算题

1. 设关系模式R(U,F),其中,U=(H,I,J,K,L,M),F={H→I,K→H,LM→K,I→L,KH→M}。求R的候选键。

解答:

J为N类属性,必包含在任一候选码中。没有L类属性。根据候选码的定义:不存在其真子集决定全属性。可通过去掉U中的冗余属性,求得模式的候选码。(利用教材算法5.2)

Key = { H,I,J,K,L,M }

∵{ Key–H}F+ =  U    ∴Key =Key–H=JIKLM

∵{ Key–I}F+ =  U     ∴Key =Key–I=JKLM

∵{ Key–K }F+ =  U    ∴Key =Key–K=JLM

∵{ Key–L }F+ = {J,M} ≠U   ∴该关键字中必定含有属性L

∵{ Key–M }F+ = {J,L} ≠U   ∴该关键字中必定含有属性M

最后得到该关系的一个关键字{ J, L,M }

同理,处理属性的顺序不同,可求得其他候选码JK,JHM,JIM。

2.设有关系模式R(XYZ),F是R上的FD集,F={ XY→Z, Z→X}。R被分解为ρ={R1(XY),R2(XZ)}。试判断该分解是否保持函数依赖?

解答:

(1)首先根据分解的定义,确定分解后的函数依赖,然后再加以判断。利用Armstrong公理的传递律,可将ρ分解为

ρ={  R1<(XY)>, R2<(XZ),{ Z→X }>}

注:  R1<(XY)>上没有非平凡的函数依赖。

(2)只需判断XY→Z是否为G所覆盖即可

     G={ Z→X }

     求得(XY)G+={XY},Z不属于(XY)G+,XY→Z不为G所覆盖。

故ρ不保持函数依赖。

3. 关系模式R(U,F),其中U={C,T,H,I,S,G},F={CS→G,C→T,TH →I,HI →C,HS →I},将其分解成满足3NF且具有无损连接性和保持函数依赖的关系模式。

此题与例题5-28重复了,且已满足3NF,取消。

4. 有关系模式R(U,F),U={A,B,C,D,E },F={A→C,C→D,B →C,DE→C,CE→A},

(1)给出R候选键;

(2)判断ρ={AD,AB,BC,CDE,AE}是否为无损连接分解;

(3)将R分解为BCNF,并使之具有无损连接性。

解答:

(1)经判断,F已为最小函数依赖集,BE为L类属性,且BE+F = U,所以BE为 R的候选键。

(2)首先构造一个二位表如下:

属性

模式

A

B

C

D

E

R1(AD)

A1

B12

B13

A4

B15

R2(AB)

A1

A2

B23

B24

B25

R3(BC)

B31

A2

A3

B34

B35

R4(CDE)

B41

B42

A3

A4

A5

R5(AE)

A1

B52

B53

B54

A5

对F进行扫描,对于A→C,表修改如下:

属性

模式

A

B

C

D

E

R1(AD)

A1

B12

B13

A4

B15

R2(AB)

A1

A2

B13

B24

B25

R3(BC)

B31

A2

A3

B34

B35

R4(CDE)

B41

B42

A3

A4

A5

R5(AE)

A1

B52

B13

B54

A5

对于 C→D,表修改如下:

属性

模式

A

B

C

D

E

R1(AD)

A1

B12

B13

A4

B15

R2(AB)

A1

A2

B13

A4

B25

R3(BC)

B31

A2

A3

A4

B35

R4(CDE)

B41

B42

A3

A4

A5

R5(AE)

A1

B52

B13

A4

A5

对于B →C,表修改如下:

属性

模式

A

B

C

D

E

R1(AD)

A1

B12

B13

A4

B15

R2(AB)

A1

A2

A3

A4

B25

R3(BC)

B31

A2

A3

A4

B35

R4(CDE)

B41

B42

A3

A4

A5

R5(AE)

A1

B52

B13

A4

A5

对于DE→C,表修改如下:

属性

模式

A

B

C

D

E

R1(AD)

A1

B12

A3

A4

B15

R2(AB)

A1

A2

A3

A4

B25

R3(BC)

B31

A2

A3

A4

B35

R4(CDE)

B41

B42

A3

A4

A5

R5(AE)

A1

B52

A3

A4

A5

对于CE→A,

属性

模式

A

B

C

D

E

R1(AD)

A1

B12

A3

A4

B15

R2(AB)

A1

A2

A3

A4

B25

R3(BC)

B31

A2

A3

A4

B35

R4(CDE)

A1

B42

A3

A4

A5

R5(AE)

A1

B52

A3

A4

A5

表有改动,循环扫描

对A→C, C→D, B →C,DE→C,CE→A再次扫描,表不改变,算法结束。不存在一行全为A,所以分解是有损的。

(3)BE为 R的候选键。由此可判断R不属于BCNF。

考虑A→C,A不是R的码,将R分解为ρ={R1<{AC },{ A→C }>,R2<{ABDE},{ A→D, B →D, BE→A }>};(∵A→C, B →C ,C →D∴A→D, B →D , BE→A, 但依赖DE→C丢失)

R1是BCNF, R2不是,需进一步分解。

考虑A→D,A不是R2的码,将R2分解为ρ={R21<{AD },{ A→D }>,R22<{ABE},{ BE→A }>};(依赖B →D丢失)

R21 和R22均是BCNF,不需进一步分解。

因此,将R分解为ρ={ R1<{AC },{ A→C }>,R21<{AD },{ A→D }>,R22<{ABE},{ BE→A }>}

或ρ={ R1<{AC },{ A→C }>,R21<{BD },{ B→D }>,R22<{ABE},{ BE→A }>}

5.设有关系模式R(U,F),其中U=ABCDE,F = { A→B,BC→E ,ED→AB }。

(1)

 

(2)求R的所有候选键,并说明理由;

(3)R最高满足第几范式?为什么?

(4)若R不属于BCNF,试改进该关系数据库设计,使它满足BCNF。

解答:

(1) (CD) +F =CD

(BCD) +F =ABCDE

 (ACD) +F =ABCDE

(CDE) +F =ABCDE

(2) CD为左部属性,其属性集闭包不包含所有属性,(BCD) +F,(ACD) +F ,(CDE) +F均包含所有属性,所以BCD 、ACD、CDE均是 R的候选码。

(3)R最高满足第3范式。因为R中的所有属性均为主属性,没有任何非主属性对码传递依赖或部分依赖。但存在主属性对码传递依赖或部分依赖,所以R不属于BCNF。

(4)F = { A→B,BC→E ,ED→AB },由Armstrong公理还可推出AC→E。

考虑A→B,A不是R的码,将R分解为    

ρ={R1<{AB },{ A→B }>, R2<{ACDE},{ AC→E, ED→A}>};

R1是BCNF, R2不是,需进一步分解。

考虑ED→A,ED不是R2的码,将R2分解为  

ρ={R21<{EDA },{ED→A }>, R22<{EDC}>};R22上没有非平凡的函数依赖。

或考虑AC→E,将R2分解为  

ρ={R21<{ACE },{ AC→E }>, R22<{ACD}>};

R21、R22均是BCNF,不需进一步分解。

因此,可将R分解为ρ={R1<{AB},{A→B}>,R21<{EDA},{ED→A}>, R22<{EDC}>}(可表示为ρ={ AB,EDA,EDC});或将R分解为ρ={R1<{AB },{ A→B }>,R21<{ACE},{AC→E}>, R22<{ACD}>}(可表示为ρ={AB,ACE,ACD})。

同理,也可将R 分解为ρ={BCE,AB,ACD }等。

6.假设为自学考试成绩管理设计了一个关系R(S#,SN,C#,CN,G,U),其属性的含义依次为考生号、姓名、课程号、课程名、分数和主考学校名称。规定每个学生学习一门课程只有一个分数;一个主考学校主管多门课程的考试,且一门课程只能属于一个主考学校管理;每名考生有惟一的考号,每门课程有惟一的课程号。

(1)根据题目所描述的语义写出关系模式R的基本函数依赖集。

(2)确定关系模式R的候选键。

(3)说明关系模式R最高达到第几范式?为什么? 

(4)将R规范化为3NF,并具有无损连接性和保持函数依赖特性。

解答:

(1)根据题目所描述的语义写出关系模式R的基本函数依赖集。

答:F={(S#,C#)→G,C#→U,S#→SN,C#→CN}

(2).可确定关系模式R的候选键为 (S#,C#)。

(3)最高达到第一范式。因为(S#,C#)是主键,但存在函数依赖C#→U,S#→SN,C#→CN,即U、SN、CN这些非主属性均部分函数依赖于主键,所以只能达到第一范式。

(4)根据算法5.4,可将关系模式分解为

ρ={S({S#,SN},{ S#→SN }),C({C#,CN,U},{ C#→U,C#→CN}),SC({S#,C#,G},(S#,C#)→G)}

五、证明题

1.在关系模式R(U,F)中, X→A∈ F,求证:F与G=F-{X→A}等价的充要条件是A∈X0

证明:由引理5.3可知:F+=G+的充分必要条件是F⊆G+且G⊆ F+。

因为 G=F-{X→A},所以  G⊆ F+ 

而要证 F⊆G+ ,只要证X→A∈G+,即  A∈X+。

因此,F与G=F-{X→A}等价的充要条件是A∈X+

亦可按引理5.3的证明来证。

2.在关系模式R(U,F)中,X Í U,Z是X的真子集,求证:F与{F-{X→A}}∪{Z→A}等价的充要条件是A∈z。

    证明同上。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值