关系数据理论练习题及答案详细完整版.docx
《关系数据理论练习题及答案详细完整版.docx》由会员分享,可在线阅读,更多相关《关系数据理论练习题及答案详细完整版.docx(19页珍藏版)》请在冰豆网上搜索。
关系数据理论练习题及答案详细完整版
第一部分:
一、求最小依赖集
例:
设有依赖集:
F={AB→C,C→A,BC→D,ACD→B,D→EG,BE→C,CG→BD,CE→AG},计算与其等价的最小依赖集。
解:
1、将依赖右边属性单一化,结果为:
F1={AB→C,C→A,BC→D,ACD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→A,CE→G}
2、在F1中去掉依赖左部多余的属性。
对于CE→A,由于C→A成立,故E是多余的;对于ACD→B,由于(CD)+=ABCEDG,故A是多余的。
删除依赖左部多余的依赖后:
F2={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→B,CG→D,CE→G}
3、在F2中去掉多余的依赖。
对于CG→B,由于(CG)+=ABCEDG,故CG→B是多余的。
删除依赖左部多余的依赖后:
F3={AB→C,C→A,BC→D,CD→B,D→E,D→G,BE→C,CG→D,CE→G}
CG→B与CD→B不能同时存在,但去掉任何一个都可以,说明最小依赖集不唯一。
二、求闭包
例:
关系模式R(U,F),其中U={A,B,C,D,E,I},F={A→D,AB→E,BI→E,CD→I,E→C},计算(AE)+。
解:
令X={AE},X(0)=AE;
计算X
(1);逐一扫描F集合中各个函数依赖,在F中找出左边是AE子集的函数依赖,其结果是:
A→D,E→C。
于是X
(1)=AE∪DC=ACDE;
因为X(0)≠X
(1),且X
(1)≠U,所以在F中找出左边是ACDE子集的函数依赖,其结果是:
CD→I。
于是X
(2)=ACDE∪I=ACDEI。
虽然X
(2)≠X
(1),但在F中未用过的函数依赖的左边属性已没有X
(2)的子集,所以不必再计算下去,即(AE)+=ACDEI。
三、求候选键
例1:
关系模式R(U,F),其中U={A,B,C,D},F={A→B,C→D},试求此关系的候选键。
解:
首先求属性的闭包:
(A)+=AB,(B)+=B,(C)+=CD,(D)+=D
(AB)+=AB,(AC)+=ABCD=U,(AD)+=ABD,(BC)+=BCD,(BD)+=BD,(CD)+=CD
(ABD)+=ABD,(BCD)+=BCD,
因(AC)+=ABCD=U,且(A)+=AB,(C)+=CD,由闭包的定义,AC→A,AC→B,AC→B,AC→D,由合并规则得AC→ABCD=U;
由候选码的定义可得AC为候选码。
后选关键字的求解理论和算法
对于给定的关系R(A1,A2,…,An)和函数依赖集F,可将其属性分为四类:
L类:
仅出现在F的函数依赖左部的属性;
R类:
仅出现在F的函数依赖右部的属性;
N类:
在F的函数依赖左右两边均未出现的属性;
LR类:
在F的函数依赖左右两边均出现的属性。
定理1对于给定的关系模式R及其函数依赖集F,若X(X属于R)是L类属性,则X必为R的任一候选关键字的成员。
例1:
关系模式R(U,F),其中U={A,B,C,D},F={A→B,C→D},试求此关系的候选键。
例2设有关系模式R(A,B,C,D),其函数依赖集F={D→B,B→D,AD→B,AC→D},求R的所有候选键。
推论对于给定的关系模式R及其函数依赖集F,若X(X属于R)是L类属性,且X+包含了R的全部属性,则X必为R的惟一候选关键字。
定理2对于给定的关系模式R及其函数依赖集F,若X(X属于R)是R类属性,则X不在任何候选关键字中。
例3关系模式R(U,F),其中U={A,B,C,D,E,P},F={A→B,C→D,E→A,CE→D},试求此关系的候选键。
定理3对于给定的关系模式R及其函数依赖集F,若X(X属于R)是N类属性,则X必为R的任一候选关键字的成员。
例4设有关系模式R(A,B,C,D,E,P),其函数依赖集F={A→D,E→D,D→B,BC→D,DC→A},求R的所有候选关键字。
推论对于给定的关系模式R及其函数依赖集F,若X(X属于R)是N类和L类组成的属性集,且X+包含了R的全部属性,则X必为R的惟一候选关键字
四、关系模式规范化程度的判断(在BCNF内判断)
例5关系模式R(U,F),其中U={A,B,C,D},函数依赖集F={B→D,AB→C},试求R最高属于第几范式。
解:
根据判定定理及推论得:
AB必是候选码的成员,且(AB)+=ABCD=U,所以AB为候选码。
则AB→D,又因B→D,存在非主属性对码的部分依赖,所以最高为1NF。
例6关系模式R(U,F),其中U={A,B,C,D,E},函数依赖集F={AB→CE,E→AB,C→D},试求R最高属于第几范式。
解:
根据判定定理及推论得:
属性D肯定不在候选码中,通过计算可得:
(AB)+=ABCDE=U,且(E)+=ABCDE=U,所以AB、E为候选码;
由于F中不存在部分依赖,故R至少属于2NF;
因AB→C,AB→E,C→D,存在非主属性对码的传递依赖,所以最高为2NF。
例7关系模式R(U,F),其中U={A,B,C},函数依赖集F={A→B,B→A,A→C},试求R最高属于第几范式。
解:
根据判定定理及推论得:
属性C肯定不在候选码中,通过计算可得:
(A)+=ABC=U,且(B)+=ABC=U,所以A、B为候选码;
由于候选码仅有一个属性,不存在部分依赖,故R至少属于2NF;
B→A,A→C,由于A→B,所以不存在非主属性对码的传递依赖,所以R也是3NF。
又因为F满足BCNF的定义,故R也是BCNF。
例8关系模式R(U,F),其中U={A,B,C},函数依赖集F={A→B,B→A,C→A},试求R最高属于第几范式。
解:
根据判定定理及推论得:
属性C肯定在候选码中,又因(C)+=ABC=U,所以C为候选码;
由于候选码仅有一个属性,不存在部分依赖,故R至少属于2NF;
C→A,A→B,存在非主属性对码的传递依赖,所以R最高为2NF。
例9关系模式R(U,F),其中U={A,B,C,D},函数依赖集F={A→C,D→B},试求R最高属于第几范式。
解:
根据判定定理及推论得:
属性AD肯定在候选码中,又因(AD)+=ABCD=U,所以AD为候选码;
而AD→B,D→B,存在非主属性对码的部分依赖,所以R最高为1NF。
例10关系模式R(U,F),其中U={A,B,C,D},函数依赖集F={A→C,CD→B},试求R最高属于第几范式。
解:
根据判定定理及推论得:
属性AD肯定在候选码中,又因(AD)+=ABCD=U,所以AD为候选码;
而AD→C,A→C,存在非主属性对码的部分依赖,所以R最高为1NF。
第二部分:
练习一:
指出下列关系模式是第几范式
(1)R(X,Y,Z)FD={XYZ}
其典型实例就是我们的SC(Sno,Cno,Grade)
参考解答:
R(X,Y,Z)的主码为XY,非主属性为Z。
关系模式R(X,Y,Z)中不存在非主属性对码的部分函数依赖——>属于二范式
关系模式R(X,Y,Z)中不存在非主属性对码的传递函数依赖——>属于三范式
关系模式R(X,Y,Z)中起决定作用的只有码——>属于BC范式
故在函数依赖范围内,关系模式R(X,Y,Z)属于BC范式
(2)R(X,Y,Z)FD={XZY,YZ}
参考解答:
R(X,Y,Z)的主码为XZ,非主属性为Y
属于第三范式:
因为其中不存在非主属性(Y)对码(XZ)的部分函数依赖和传递函数依赖;
但不属于BC范式:
因为起决定作用的除了码以外还有非主属性(Y)
(3)R(X,Y,Z)FD={YZ,YX,XYZ}
参考解答:
R(X,Y,Z)的候选码为Y和X,非主属性为Z
不存在非主属性对码的部分函数依赖和传递函数依赖,故属于三范式
又,起决定作用的只有码,所以也是BC范式
(4)R(X,Y,Z)FD={XY,XZ}
参考解答:
典型实例Student(Sno,Sname,Ssex)
R(X,Y,Z)的候选码为X,非主属性为Y和Z
不存在非主属性对码的部分函数依赖和传递函数依赖,故属于三范式
又,起决定作用的只有码,所以也是BC范式
(5)R(W,X,Y,Z)FD={XZ,WXY}
参考解答:
典型实例S_C(Sno,Cno,Grade,,Cname)
R(W,X,Y,Z)的候选码为WX,非主属性为Y和Z
因为非主属性Z不是完全依赖于码(WX),而是依赖于码中的一部分(X),
所以存在非主属性对码的部分函数依赖,故没有达到二范式,仅属于一范式
(6)R(A,B,C,D),FD={BD,ABC}
参考解答:
典型实例S_C(Sno,Cno,Grade,,Cname)
R(W,X,Y,Z)的候选码为WX,非主属性为Y和Z
因为非主属性Z不是完全依赖于码(WX),而是依赖于码中的一部分(X),
所以存在非主属性对码的部分函数依赖,故没有达到二范式,仅属于一范式
(7)R(A,B,C)FD={AB,BA,CA}
参考解答:
典型实例:
若规定一个系的学生都住在一个住处,一个住处也只能入住一个系,则典型实例为:
S_Loc(Sdept,Sloc,Sno)
主码为C,非主属性为AB,
因存在非主属性(B)对码C的传递函数依赖,故不是三范式,最多是二范式
又,不存在非主属性对码的部分函数依赖,故属于二范式
练习二:
设关系模式R(A,B,C,D,E),
FD={A->D,E->D,D->B,BC->D,EC->A}。
试求:
(1)R的候选码
(2)R所属的范式
(3)将R分解为BCNF,且具有无损连接性
参考解答:
(1)可知:
EC->A->D->B
所以:
候选码为EC,非主属性为ABD
(2)因存在非主属性(B和D)对码(EC)的传递函数依赖,故未答三范式,最多是二范式
又,不存在非主属性对码的部分函数依赖,所以是二范式
(3)分解为3个模式:
R1(E,C,A)FD={EC->A}
R2(A,D)FD={A->D}
R3(D,B)FD={D->B}
练习三。
设有关系模式:
TEACHER(教师编号,教师姓名,电话,所在部门,借阅图书编号,书名,借书日期,还书日期,备注)
(1)教师编号是候选码吗?
说明理由
(2)该关系模式的主码是什么?
(3)该关系模式是否存在部分函数依赖?
如果存在,请写出至少两个?
(4)该关系模式满足第几范式?
(5)将该关系模式分解为3NF。
参考解答
(1)教师编号不是候选码。
(2)假定对任一本书一个人一天只能借一次,则主码为:
教师编号,借阅图书编号,借书日期;
非主属性为:
教师姓名、电话、所在部门、书名、还书日期、备注
(3)存在。
(教师编号,借阅图书编号,借书日期)->教师姓名
(教师编号,借阅图书编号,借书日期)->教师电话
(教师编号,借阅图书编号,借书日期)->所在部门
(教师编号,借阅图书编号,借书日期)->书名
(4)因为存在非主属性对于码的部分函数依赖,所以,未达到二范式,只属于一范式。
(5)教师(教师编号,教师姓名,电话,所在部门)
图书(图书编号,图书名)
借阅(教师编号,图书编号,借书日期,还书日期,备注)
练习四:
假设某商业集团数据库中有一关系模式
R(商店编号,商品编号,数量,部门编号,负责人),若规定:
(1)每个商店能销售多种商品(每种商品有一个编号);商店的每种商品只在一个部门销售;
(2)每个商店的每个部门只有一个负责人;
(3)每个商店的每种商品只有一个库存数量;
问题:
(1)写出关系R的基本函数依赖
(2)找出R的候选码
(3)R的范式,若不属于3NF,则分解为3NF
参考解答:
(1)每个商店的每种商品只在一个部门销售:
商店编号,商品编号->部门编号
每个商店的每个部门只有一个负责人:
商店编号,部门编号->负责人
每个商店的每种商品只有一个库存数量:
商店编号,商品编号->库存量
(2)主码为:
商店号,商品编号,
非主属性为:
数量,部门编号,负责人
(3)因存在非主属性(负责人)对主码(商品编号,商店号)的传递函数依赖
故未达到三范式,只达到二范式。
分解该关系模式:
R1(商店编号,商品编号,部门编号,数量)
R2(商店编号,部门编号,负责人)
分解后其实已达到BC范式。
第三部分:
单项选择题
1.为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是()。
A.关系规范化理论B.关系代数理论
C.数理逻辑D.关系运算理论
2.规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:
每一个属性都是()。
A.长度不变的B.不可分解的
C.互相关联的D.互不相关的
3.已知关系模式R(A,B,C,D,E)及其上的函数相关性集合F={A→D,B→C,E→A},该关系模式的候选关键字是()。
A.ABB.BEC.CDD.DE
4.设学生关系S(SNO,SNAME,SSEX,SAGE,SDPART)的主键为SNO,学生选课关系SC(SNO,CNO,SCORE)的主键为SNO和CNO,则关系R(SNO,CNO,SSEX,SAGE,SDPART,SCORE)的主键为SNO和CNO,其满足()。
A.1NFB.2NF
C.3NFD.BCNF
5.设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:
C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:
D={C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R},关系模式W的一个关键字是()。
A.(S,C)B.(T,R)
C.(T,P)D.(T,S)
6.关系模式中,满足2NF的模式()。
A.可能是1NFB.必定是1NF
C.必定是3NFD.必定是BCNF
7.关系模式R中的属性全是主属性,则R的最高范式必定是()。
A.1NFB.2NF
C.3NFD.BCNF
8.消除了部分函数依赖的1NF的关系模式,必定是()。
A.1NFB.2NFC.3NFD.BCNF
9.如果A->B,那么属性A和属性B的联系是()。
A.一对多B.多对一
C.多对多D.以上都不是
10.关系模式的候选关键字可以有1个或多个,而主关键字有()。
A.多个B.0个
C.1个D.1个或多个
11.候选关键字的属性可以有()。
A.多个B.0个
C.1个D.1个或多个
12.关系模式的任何属性()。
A.不可再分B.可以再分C.命名在关系模式上可以不唯一D.以上都不是
13.设有关系模式W(C,P,S,G,T,R),其中各属性的含义是:
C表示课程,P表示教师,S表示学生,G表示成绩,T表示时间,R表示教室,根据语义有如下数据依赖集:
D={C→P,(S,C)→G,(T,R)→C,(T,P)→R,(T,S)→R},若将关系模式W分解为三个关系模式W1(C,P),W2(S,C,G),W2(S,T,R,C),则W1的规范化程序最高达到()。
A.1NFB.2NF C.3NFD.BCNF
14.在关系数据库中,任何二元关系模式的最高范式必定是()。
A.1NFB.2NFC.3NFD.BCNF
15.在关系规范式中,分解关系的基本原则是()。
I.实现无损连接
II.分解后的关系相互独立
III.保持原有的依赖关系
A.Ⅰ和ⅡB.Ⅰ和ⅢC.ⅠD.Ⅱ
16.不能使一个关系从第一范式转化为第二范式的条件是()。
A.每一个非属性都完全函数依赖主属性
B.每一个非属性都部分函数依赖主属性
C.在一个关系中没有非属性存在
D.主键由一个属性构成
17.任何一个满足2NF但不满足3NF的关系模式都不存在()。
A.主属性对键的部分依赖
B.非主属性对键的部分依赖
C.主属性对键的传递依赖
D.非主属性对键的传递依赖
18.设数据库关系模式R=(A,B,C,D,E),有下列函数依赖:
A→BC,D→E,C→D;下述对R的分解中,哪些分解是R的无损连接分解()。
I.(A,B,C)(C,D,E)
II.(A,B)(A,C,D,E)
III.(A,C)(B,C,D,E)
IV.(A,B)(C,D,E)
A.只有ⅣB.Ⅰ和ⅡC.Ⅰ、Ⅱ和ⅢD.都不是
19.设U是所有属性的集合,X、Y、Z都是U的子集,且Z=U-X-Y。
下面关于多值依赖的叙述中,不正确的是()。
A.若X→→Y,则X→→Z
B.若X→Y,则X→→Y
C.若X→→Y,且Y′∈Y,则X→→Y′
D.若Z=∮,则X→→Y
20.若关系模式R(U,F)属于3NF,则()。
A.一定属于BCNF
B.消除了插入的删除异常
C.仍存在一定的插入和删除异常
D.属于BCNF且消除了插入和删除异常
21.下列说法不正确的是()。
A.任何一个包含两个属性的关系模式一定满足3NF
B.任何一个包含两个属性的关系模式一定满足BCNF
C.任何一个包含三个属性的关系模式一定满足3NF
D.任何一个关系模式都一定有码
22.设关系模式R(A,B,C),F是R上成立的FD集,F={B→C},则分解P={AB,BC}相对于F()。
A.是无损联接,也是保持FD的分解
B.是无损联接,也不保持FD的分解
C.不是无损联接,但保持FD的分解
D.既不是无损联接,也不保持FD的分解
23.关系数据库规范化是为了解决关系数据库中()的问题而引入的。
A.插入、删除和数据冗余
B.提高查询速度
C.减少数据操作的复杂性
D.保证数据的安全性和完整性
24.关系的规范化中,各个范式之间的关系是()。
A.1NF∈2NF∈3NF
B.3NF∈2NF∈1NF
C.1NF=2NF=3NF
D.1NF∈2NF∈BCNF∈3NF
25.数据库中的冗余数据是指可()的数据。
A.容易产生错误
B.容易产生冲突
C.无关紧要
D.由基本数据导出
26.学生表(id,name,sex,age,depart_id,depart_name),存在函数依赖是id→name,sex,age,depart_id;dept_id→dept_name,其满足()。
A.1NFB.2NFC.3NFD.BCNF
27.设有关系模式R(S,D,M),其函数依赖集:
F={S→D,D→M},则关系模式R的规范化程度最高达到()。
A.1NFB.2NFC.3NFD.BCNF
28.设有关系模式R(A,B,C,D),其数据依赖集:
F={(A,B)→C,C→D},则关系模式R的规范化程度最高达到()。
A.1NFB.2NFC.3NFD.BCNF
29.下列关于函数依赖的叙述中,哪一条是不正确的()。
A.由X→Y,Y→Z,则X→YZ
B.由X→YZ,则X→Y,Y→Z
C.由X→Y,WY→Z,则XW→Z
D.由X→Y,Z∈Y,则X→Z
30.X→Y,当下列哪一条成立时,称为平凡的函数依赖()。
A.X∈YB.Y∈XC.X∩Y=∮D.X∩Y≠∮
31.关系数据库的规范化理论指出:
关系数据库中的关系应该满足一定的要求,最起码的要求是达到1NF,即满足()。
A.每个非主键属性都完全依赖于主键属性
B.主键属性唯一标识关系中的元组
C.关系中的元组不可重复
D.每个属性都是不可分解的
32.根据关系数据库规范化理论,关系数据库中的关系要满足第一范式,部门(部门号,部门名,部门成员,部门总经理)关系中,因哪个属性而使它不满足第一范式()。
A.部门总经理B.部门成员C.部门名D.部门号
33.有关系模式A(C,T,H,R,S),其中各属性的含义是:
C:
课程T:
教员H:
上课时间R:
教室S:
学生
根据语义有如下函数依赖集:
F={C→T,(H,R)→C,(H,T)RC,(H,S)→R}
(1)关系模式A的码是()。
A.CB.(H,S)C.(H,R)D.(H,T)
(2)关系模式A的规范化程度最高达到()。
A.1NFB.2NFC.3NFD.BCNF
(3)现将关系模式A分解为两个关系模式A1(C,T),A2(H,R,S),则其中A1的规范化程度达到()。
A.1NFB.2NFC.3NFD.BCNF
选择题答案:
(1)A
(2)B(3)B(4)A(5)D
(6)B(7)C(8)B(9)B(10)C
(11)D(12)A(13)D(14)D(15)B
(16)B(17)D(18)B(19)C(20)C
(21)C(22)A(23)A(24)A(25)D
(26)B(27)B(28)B(29)B(30)B
(31)D(32)B(33)BBD
简答题
1.理解并给出下列术语的定义:
函数依赖、部分函数依赖、完全函数依赖、候选码、主码、外码、全码。
解析:
解答本题不能仅仅把《概论》上的定义写下来。
关键是真正理解和运用这些概念。
● 函数依赖的定义是什么?
答:
函数依赖:
设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部分函数依赖;
●