文档库

最新最全的文档下载
当前位置:文档库 > 数据库原理及应用(课后练习)---第4章 关系数据库设计理论

数据库原理及应用(课后练习)---第4章 关系数据库设计理论

第4章关系数据库设计理论第4章关系数据库设计理论

习题

一、选择题

1、C

2、B

3、C

4、C

5、A

6、B

7、A

8、B

9、D

10、B

二、填空题

1、数据依赖主要包括_函数_依赖、_多值_依赖和连接依赖。

2、一个不好的关系模式会存在_插入异常_、_删除异常_和__修改复杂_等弊端。

3、设X→Y为R上的一个函数依赖,若_对任意X的真子集X’,均无X’→Y 存在__,则称Y完全函数依赖于X。

4、设关系模式R上有函数依赖X→Y和Y→Z成立,若_Y不包含于X_且_Y→X不成立_,则称Z传递函数依赖于X。

5、设关系模式R的属性集为U,K为U的子集,若_K→U为完全函数依赖_,则称K 为R的候选键。

6、包含R中全部属性的候选键称_主属性_。不在任何候选键中的属性称__非主属性_。

7、Armstrong公理系统是_有效__的和_完备__的。

8、第三范式是基于_函数_依赖的范式,第四范式是基于_多值_依赖的范式。

9、关系数据库中的关系模式至少应属于_第一_范式。

10、规范化过程,是通过投影分解,把_一个范式级别较低的_的关系模式“分解”为_若干个范式级别较高__的关系模式。

111

数据库原理及应用

112

三、简答题

1、解释下列术语的含义:函数依赖、平凡函数依赖、非平凡函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、范式、无损连接性、依赖保持性。

解:

函数依赖:设关系模式R (U ,F ),U 是属性全集,F 是U 上的函数依赖集,X 和Y 是U 的子集,如果对于R (U )的任意一个可能的关系r ,对于X 的每一个具体值,Y 都有唯一的具体的值与之对应,则称X 函数决定Y ,或Y 函数依赖于X ,记X →Y 。我们称X 为决定因素,Y 为依赖因素。当Y 不函数依赖于X 时,记作:X Y 。当X →Y 且Y →X 时,则记作:X ?Y 。

平凡函数依赖:当属性集Y 是属性集X 的子集时,则必然存在着函数依赖X →Y ,这种类型的函数依赖称为平凡的函数依赖。

非平凡函数依赖:如果Y 不是X 子集,则称X →Y 为非平凡的函数依赖。

完全函数依赖与部分函数依赖:设有关系模式R (U ),U 是属性全集,X 和Y 是U 的子

集,X →Y ,并且对于X 的任何一个真子集X ',都有X 'Y ,则称Y 对X 完全函数依赖(Full

Functional Dependency ),记作X ?→?f

Y 。如果对X 的某个真子集X ',有X '→Y ,则称Y 对X 部分函数依赖(Partial Functional Dependency ),记作X ?→?

p

Y 。 传递函数依赖:设有关系模式R (U ),U 是属性全集,X ,Y ,Z 是U 的子集,若X →Y (Y X ),但Y X ,又Y →Z ,则称Z 对X 传递函数依赖(Transitive Functional Dependency ),记作:X ?→?

t

Z 。 范式:在关系数据库的规范化过程中,为不同程度的规范化要求设立的不同的标准或准则称为范式(Normal Form )。满足最低要求的叫第一范式,简称1NF 。在第一范式中满足进一步要求的为第二范式(2NF),其余以此类推。R 为第几范式就可以写成R ∈xNF (x 表示某范式名)。

当把某范式看成是满足该范式的所有关系模式的集合时,各个范式之间的集合关系可以表示为:5NF ?4NF ?BCNF ?3NF ?2NF ?1NF 。

一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫规范化。

无损连接性:设R (X ,Y ,Z ),X 、Y 、Z 为不相交的属性集合,如果有X →Y 、X →Z ,则有R (X ,Y ,Z )=R[X ,Y]∞R[X ,Z],其中R[X ,Y]表示关系R 在属性(X ,Y )上的投影,即R 等于两个分别含决定因素X 的投影关系(分别是R[X ,Y]与R[X ,Z])在X 上的自然连接,这样便保证了关系R 分解后不会丢失原有的信息,这称作关系分解的无损连接性。

依赖保持性:设有关系模式R (U ,F ),Z ?U ,则Z 所涉及到的F 中所有函数依赖为F

第4章关系数据库设计理论

在Z上的投影,记为∏Z(F),有∏Z(F)={X→Y|(X→Y)∈F+且XY?Z}为函数依赖集F 在Z上的投影。

设R(U,F)的一个分解ρ={R1,R2,…,Rk},如果F等价于∏R1(F)∪∏R2(F)∪…∪∏Rk(F),则称分解ρ具有函数依赖保持性。

检验一个分解是否具有依赖保持性,实际上是检验∏R1(F)∪∏R2(F)∪…∪∏Rk(F)是否覆盖F。

2、给出2NF、3NF、BCNF的形式化定义,并说明它们之间的区别和联系。

解:

1)2NF

如果关系模式R∈1NF,R(U,F)中的所有非主属性都完全函数依赖于任意一个候选关键字,则称关系R 是属于第二范式(Second Normal Form),简称2NF,记作R∈2NF。

2)3NF

如果关系模式R∈2NF,R(U,F)中所有非主属性对任何候选关键字都不存在传递函数依赖,则称R是属于第三范式(Third Normal Form),简称3NF,记作R∈3NF。

3)BCNF

如果关系模式R∈1NF,且所有的函数依赖X→Y(Y不包含于X,即Y X),决定因素X 都包含了R的一个候选码,则称R属于BC范式(Boyce-Codd Normal Form),记作R∈BCNF。

4)区别和联系

(1)BCNF?3NF?2NF

(2)BCNF、3NF与2NF均是针对函数依赖而定义划分的。2NF 、3NF和BCNF是在函数依赖的条件下对模式分解所能达到的分离程度的测度。一个模式中的关系模式如果都属于BCNF,那么在函数依赖范畴内,它已实现了彻底的分离,已消除了插入和删除异常。

3、什么叫关系模式分解?为什么要做关系模式分解?模式分解要遵循什么准则?解:

1)关系模式分解:一个低一级范式的关系模式,通过模式分解可以转换为若干个高一级范式的关系模式的集合,这种过程就叫关系模式分解又叫关系模式规范化。

2)做关系模式分解是因为:不好的关系往往内容“包罗万象”,内容太杂了。实现了信息的某种程度的分离,必须把“包罗万象”的关系模式,分解为若干内容单一,结合紧密的关系模式,才能使关系表现出更好的操作性能,避免出现各种异常问题的产生。

3)模式分解要按需遵循模式分解的无损连接性或模式分解的依赖保持性。

4、试证明全码的关系必是3NF,也必是BCNF。

证明:

1)

113

数据库原理及应用

114 设有关系R(U,F),因为R含全码,所以U中的属性均为主属性,即R不含任何非主

属性。根据3NF的定义,R中没有非主属性对码有传递函数依赖存在。根据定义可下结论:R∈3NF。证毕。

2)

采用反证法,假设R?BCNF。则按照定义R中必含有X→Y (Y X),其中X?U,Y包含于U,X不含码。在X→Y的两边同时并上U-Y,得:X(U-Y)→U。显然X(U-Y)≠U 或X(U-Y) ?U。这与题中已知条件关系R为全码相矛盾。假设R?BCNF不成立,本题得证。

5、要建立关于系、学生、班级、研究会等信息的一个关系数据库。规定:一个系有若干专业、每个专业每年只招一个班,每个班有若干学生,一个系的学生住在同一个宿舍区。每个学生可参加若干研究会,每个研究会有若干学生。学生参加某研究会,有一个入会年份。

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

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

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

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

试给出上述数据库的关系模式;写出每个关系的最小依赖集(即基本的函数依赖集,不是导出的函数依赖);指出是否存在传递函数依赖;对于函数依赖左部是多属性的情况,讨论其函数依赖是完全函数依赖还是部分函数依赖,指出各关系的候选键、外部键。

解:

1)关系模式为:

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

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

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

入会({学号,研究会名,入会年份},{(学号,研究会名)→入会年份})

研究会({研究会名,成立年份,地点,人数},{研究会名→成立年份,研究会名→地点})

说明:人数可以不作为属性,能统计得到;宿舍区应作为系的属性;学生关系中的系号可由班号属性通过班级关系得到,冗余可去。

2)传递函数依赖有:系号→系办公室地点;学号→宿舍区;

3)以上关系模式中没有部分函数依赖。

系关系中候选键为:系号;外部键为:无

班级关系中候选键为:班号、(专业名,入校年份);外部键为:系号

学生关系中候选键为:学号;外部键为:班号

第4章关系数据库设计理论

入会关系中候选键为:(学号,研究会名)外部键为:学号或研究会名

研究会关系中候选键为:研究会名;外部键为:无

6、设有关系模式R(A,B,C,D,E,F),函数依赖集F={(A,B)→E,(A,C)→F,(A,D)→B,B→C,C→D},求出R的所有候选关键字。

解:

R的候选关键字有:(A、C)、(A、B)、(A、D)

7、设有关系模式R(X,Y,Z),函数依赖集为F={(X,Y)→Z}。请确定SC 的范式等级,并证明。

解:

R的候选关键字有:(X,Y)

R达到BCNF范式等级,按BCNF定义判定即可,具体略。

8、设有关系模式R(A,B,C,D,E,F),函数依赖集F={A→(B,C),(B,C)→A,(B,C,D)→(E,F),E→C}。试问:关系模式R是否为BCNF范式,并证明结论。

解:

R达不到BCNF范式。R的候选关键字有:(A,D)、(B,C,D)、(B,E,D)

按BCNF定义判定即可,具体略。

9、设有关系模式R(E,F,G,H),函数依赖F={E→G,G→E,F→(E,G),H→(E,G),(F,H)→E}

(1)求出R的所有候选关键字;

(2)根据函数依赖关系,确定关系模式R属于第几范式;

(3)将R分解为3NF,并保持无损连接性和函数依赖保持性;

(4)求出F的最小函数依赖集。

解:

(1)R的候选关键字为:(F,H)

(2)R为:1NF

(3)分解为:

({E,G},{E→G,G→E })、({F,E},{F→E})、({H,G},{H→G})、({F,H},{})

(4)最小函数依赖集为:{ E→G,G→E,F→G,H→G }

按定理4.3,求最小函数依赖集步骤:

F={E→G,G→E,F→(E,G),H→(E,G),(F,H)→E}

={E→G,G→E,F→G,H→E,H→G,(F,H)→E}

={E→G,G→E,F→G,H→G}

115

数据库原理及应用

116

10、试问下列关系模式最高属于第几范式,并解释其原因。(1)R(A,B,C,D),F={B→D,AB→C}。

(2)R(A,B,C,D,E),F={AB→CE,E→AB,C→D}。(3)R(A,B,C,D),F={B→D,D→B,AB→C}。

(4)R(A,B,C),F={A→B,B→A,A→C}。

(5)R(A,B,C),F={ A→B,B→A,C→A }。

(6)R(A,B,C,D),F={A→C,D→B}。

(7)R(A,B,C,D),F={A→C,CD→B}。

解:

只依次写出候选关键字与范式等级(范式按定义判定,具体略)(1)AB 1NF

(2)AB,E 2NF

(3)AB,AD 3NF

(4)A,B BCNF

(5)C 2NF

(6)AD 1NF

(7)AD 1NF