习题集第5章关系理论.doc

上传人:桔**** 文档编号:551686902 上传时间:2024-01-24 格式:DOC 页数:12 大小:106.50KB
返回 下载 相关 举报
习题集第5章关系理论.doc_第1页
第1页 / 共12页
习题集第5章关系理论.doc_第2页
第2页 / 共12页
习题集第5章关系理论.doc_第3页
第3页 / 共12页
习题集第5章关系理论.doc_第4页
第4页 / 共12页
习题集第5章关系理论.doc_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《习题集第5章关系理论.doc》由会员分享,可在线阅读,更多相关《习题集第5章关系理论.doc(12页珍藏版)》请在金锄头文库上搜索。

1、第7章 关系数据库设计理论7.1 学习要点关系数据库设计理论是关系数据库的又一个重点。关系数据库的逻辑设计主要是设计关系模式,而深入了解函数依赖和码的概念则是设计和分解关系模式的基础。学习本章的目的有两个。一个是理论方面的,本章用更加形式化的关系数据理论来描述和研究关系模型。另一个是实践方面的,关系数据库设计理论是我们进行数据库设计的有力工具。1、 知道什么是函数依赖、完全函数依赖、部分函数依赖和传递函数依赖,能确定两个或多个属性间的函数依赖,计算属性的闭集;2、 理解关系的码和超码、主属性和非主属性;3、理解1NF、2NF、3NF和BCNF的定义,并能辨别某关系属于哪种范式类型;4、掌握规范

2、化一个关系模式的原则方法,能够将某1NF关系规范化为3NF或BCNF;5、理解多值依赖和连接依赖,初步掌握分解成第四范式的方法。7.2 习题讲解1. 理解并给出下列名词的涵义:函数依赖、部分函数依赖、传递函数依赖、超码、多值依赖。答:函数依赖是数据库中两个属性集之间的约束。设R(U)是属性集U上的关系模式,X、Y是U的子集,r是R的任一具体关系。设t1、t2是关系r中的任意两个元组,如果t1X=t2X,有t1Y=t2Y,则称X函数决定Y,或Y函数依赖于X,记作XY。在关系模式R(U)中,X, Y是U的子集,若XY,且存在XX,使XY,则称XY是部分函数依赖(partial functional

3、 dependency),记作XY。在关系模式R(U)中,X, Y是U的子集,若XY,YZ,并且Y不函数依赖于X,则称Z传递函数依赖于X。包含候选码的属性或属性组称为超码(Super key)。设有关系模式R(U),X、Y为U的子集,Z=U-XY,r是R的任一关系,如果r中存在两个元组t1、t2满足t1 X= t2 X,则r中必然存在两个元组t3、t4,使得 (1) t3 X= t4 X= t1 X= t2 X (2) t3 Y= t1 Y且t4 Y= t2 Y (3) t3 Z= t2 Z且t4 Z= t1 Z则称XY是多值依赖(multivalued dependency, MVD), X

4、多值决定Y。2设有关系模式R(ABCDE),有函数依赖集F=AB, ABD, EAD,EC和G= ABD, EAC ,判断F和G是否等价。答:AG+=ABD, EG+=ABCDE,可知F中的函数依赖AB、ABD、EAD、EC都属于G+,所以FG+;AF+=ABD, EF+=ABCDE,可知G中的函数依赖ABD, EAC都属于F+,所以GF+。根据引理5.3,F与G等价。 3设有一关系模式R(ABCD),其函数依赖集F=ABC,BC,ABC,ACD,求F的最小依赖集Fmin。答:(1) 首先用分解规则将F中所有的函数依赖的右部属性单一化。得F= AB ,AC,BC,ABC, ACD 。(2) 去

5、掉F中多余的依赖。具体做法是:从第一个函数依赖(假设为XY)开始,把它从F中去掉,求X+,若X+包含Y,则XY是多余的,要去掉;若X+不包含Y,则不能去掉XY。检查全部依赖后可得G。显然G符合最小函数依赖集定义5.6的条件(2)。这里,对于AB,由于(A)+ =ACD不包含B,所以不能去掉;而由于从F中去掉AC 后,A+ =ABCD,包含了C,所以AC是多余的,从F中去掉;接下去BC不能去掉,而且ABC 明显多余,从F中去掉;(AC)+ =ABC不包含D,所以ACD不能去掉,最后得G=AB,BC,ACD 。 (3) 去掉F2中的函数依赖左边的多余的属性。具体做法是:检查F中所有左边是非单属性的

6、函数依赖,如XYA,要判断Y是否为多余属性,只要在F中求X+,若X+包含A,则Y是多余属性,否则Y不是多余属性。该题G中ACD的C属性多余,去掉后得到的函数依赖集Fmin=AB,BC,AD 。 4设有关系模式R(ABCDE),其函数依赖F=ABC,CDE,BD,EA,试求 (1) 计算B+。 (2) 求R的所有码。答:(1)根据算法5.1,令X(0) = B 在F中找出左边是B的子集的函数依赖,有BD; X(1) =BD 因为X(1)X(0), 继续在F中找出左边是BD的子集的函数依赖,由于不存在这样的函数依赖,所以不必再计算下去了。结果为:B+ = BD。(2)因为A+ = ABCDE,E+

7、 = ABCDE,(BC)+ = ABCDE,(CD)+ = ABCDE,B+ = BD,C+ = C,D+ = D,所以候选码为A、E、BC、CD。 5. 试验证上题4中的R的以下两个分解是否具有无损连接性: r1=R1(ABC), R2(ADE) r2=R1(ABC), R2(CDE)。答:对于r1=R1(ABC), R2(ADE),R1R2=A,R1R2=BC,R2R1=DE,根据A+ = ABCDE知(R1R2)(R1R2)和(R1R2)(R2R1)都满足,根据定理5.4,分解具有无损连接性。对于r2=R1(ABC), R2(CDE),R1R2=C,R1R2=AB,R2R1=DE,根据

8、C+ = C知(R1R2)(R1R2)和(R1R2)(R2R1)都不满足,根据定理5.4,分解不具有无损连接性。 6设有关系模式R(ABCDEGHI),其函数依赖F=ABC,ADE,BGH,DI,试求 (1) 求R的所有码。 (2) 将R分解成2NF。 (3) 将R无损分解成3NF,并且具有保持依赖性。答:(1)因为A+ = ADEI,B+ = BGH,(AB)+ = ABCDEGHI,A、B没有在函数依赖的右边出现,所以候选码为AB。(2)因为2NF要求每一个非主属性完全函数依赖于码,而AB为码,非主属性C完全函数依赖于码,非主属性DEGHI都部分依赖于码,所以将R分解为三个模式R1、R2和

9、R3:R1(ABC);R2(ADEI);R3(BGH)。这样,R1中的非主属性C完全函数依赖于码AB;R2中的非主属性DEI完全函数依赖于码A;R3中的非主属性GH完全函数依赖于码B。因此,R1、R2和R3都满足2NF。(3)首先求出F的最小依赖集Fmin,即Fmin=ABC,ADE,BGH,DI。根据算法5.3,得=ABC, ADE, BGH, DI,由于R的码是AB,所以根据算法5.4可得,s=AB= ABC, ADE, BGH, DI, AB,由于ABABC,因此s= ABC, ADE, BGH, DI,s是R的同时具有无损连接性和依赖保持性的3NF分解。 7设有关系模式R(ABCD),

10、其函数依赖F=AC,CA,BAC,DAC,试求 (1) 求R的所有码。 (2) 将R无损分解成BCNF。 (3) 将R无损分解3NF,并且具有保持依赖性。答:(1)因为(BD)+ = ABCD,B、D没有在函数依赖的右边出现,所以候选码为BD。(2)根据算法5.5:初始化=R; R的码是BD,因此A、C、B和D不是超码。首先由左边不包含码的非平凡函数依赖AC,从R中分出AC(A, C),得=R1(ABD), AC(A,C)。 然后,R1的码是BD,因此B和D不是超码。由左边不包含码的非平凡函数依赖BAC,从R1中分出BA(B, A),得=BA (B, A), BD(B, D), AC(A, C

11、)。BA、BD和AC都是BCNF,并且具有无损连接性。不具有依赖保持性。另外,s=DA (D, A), BD(B, D), AC(A, C)也是具有无损连接性的分解,但同样不具有依赖保持性。(3)首先求出F的最小依赖集Fmin,即Fmin=AC, CA, BA, DA。根据算法5.3,得=AC, CA, BA, DA,由于R的码是BD,所以根据算法5.4可得,s=BD= AC, CA, BA, DA, BD,由于AC=CA,因此s= AC, BA, DA, BD,s是R的同时具有无损连接性和依赖保持性的3NF分解。另外=AC, BC, DC, BD也是R的同时具有无损连接性和依赖保持性的3NF

12、分解。 8在1NFBCNF范围内,指出下列关系模式是第几范式,并说明理由。 (1) R(ABC), F=AB,BA,AC。 (2) R(ABC), F=AB,BA,CA。 (3) R(ABCD), F=BD,ABC。 (4) R(ABC), F=BC,ACB 。 (5) R(ABCD), F=BD,DB,ABC。 (6) R(ABCDE), F=ABCE,EAB,CD。答:(1)候选码为A、B,可知F中每个非平凡函数依赖的左边都包含码,所以RBCNF。(2)候选码为C,可知非主属性都完全函数依赖于码,但存在非主属性B传递函数依赖于码C,所以R2NF。(3)候选码为AB,可知非主属性D部分函数依

13、赖于码,所以R1NF。(4)候选码为AB、AC,可知A、B、C都是主属性,不存在非主属性部分函数依赖或传递对函数依赖于码,另外非平凡函数依赖BC的左边不包含码,所以R3NF。(5)候选码为AB、AD,可知不存在非主属性C部分函数依赖或传递对函数依赖于码,另外非平凡函数依赖BD的左边不包含码,所以R3NF。(6)候选码为E、AB,可知非主属性都完全函数依赖于码,但存在非主属性D传递函数依赖于码,所以R2NF。9设关系模式R(ABC)上有一多值依赖AB,已知R的当前关系存在三个元组,如图7.1所示,试问该关系中至少还应存在哪些元组才能满足多值依赖的要求。答:ABCa1b1c1a1b2c2a1b3c

14、3图7.1 R的当前关系根据多值依赖的定义,可知当前关系中还应该存在6个元组:(a1, b1, c2), (a1, b1, c3), (a1, b2, c1), (a1, b2, c3), (a1, b3, c1), (a1, b3, c2)。7.3 自测题一、选择题. 设学生关系模式为:学生(学号,姓名,年龄,性别,成绩,专业),则该关系模式的主码是( )。. 姓名. 学号,姓名. 学号. 学号,姓名,年龄. 设一关系模式为R(A,B,C,D,E)及函数依赖F=AB,BE,EA,DE,则关系模式的R候选码是( )。. AD. CD. EB. EC. 下列有关范式的叙述中正确的是( )。. 如果关系模式R1NF,且R中主属性完全函数依赖于主码,则R是2NF. 如果关系模式R3NF,X,YU,若XY,则R是BCNF. 如果关系模式RBCNF,若XY(YX)是平凡的多值依赖,则R是4NF. 一个关系模式如果属于4NF,则一定属于BCNF;反之不成立. 给定关系模式SCP(Snum, Cnum, P),其中Snum表示学号,Cnum表示课程号,P表示

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号