ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:30.78KB ,
资源ID:7333525      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7333525.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CH6部分习题解答.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

CH6部分习题解答.docx

1、CH6部分习题解答第六章 关系数据理论第六章讲解关系数据理论。这是关系数据库的又一个重点。学习本章的目的有两个。一个是理论方面的,本章用更加形式化的关系数据理论来描述和研究关系模型。另一个是实践方面的,关系数据理论是我们进行数据库设计的有力工具。因此,人们也把关系数据理论中的规范化理论称为数据库设计理论,有的书把它放在数据库设计部分介绍以强调它对数据库设计的指导作用。一、基本知识点 本章讲解关系数据理论,内容理论性较强,分为基本要求部分(概论6.16.3)和高级部分概论6.4)。前者是计算机大学本科学生应该掌握的内容;后者是研究生应该学习掌握的内容。 需要了解的:什么是一个“不好”的数据库模式

2、;什么是模式的插入异常和删除异常;规范化理论的重要意义。 需要牢固掌握的:关系的形式化定义;数据依赖的基本概念(函数依赖、平凡函数依赖、非平凡的函数依赖、部分函数依赖、完全函数依赖、传递函数依赖的概念,码、候选码、外码的概念和定义,多值依赖的概念);范式的概念;从lNF到4NF的定义;规范化的含义和作用。 需要举一反三的:四个范式的理解与应用,各个级别范式中存在的问题(插入异常、删除异常、数据冗余)和解决方法;能够根据应用语义,完整地写出关系模式的数据依赖集合,并能根据数据依赖分析某一个关系模式属于第几范式。 难点:各个级别范式的关系及其证明。二、习题解答和解析 1.理解并给出下列术语的定义:

3、 函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、lNF、2NF、3NF、BCNF、多值依赖、4NF。 解析 解答本题不能仅仅把概论上的定义写下来。关键是真正理解和运用这些概念。 答 函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。 解析 (1) 函数依赖是最基本的一种数据依赖,也是最重要的一种数据依赖。 (2) 函数依赖是属性之间的一种联系,体现在属性值是否相等。由上面

4、的定义可以知道,如果XY,则r中任意两个元组,若它们在X上的属性值相同,那么在Y上的属性值一定也相同。 (3) 要从属性间实际存在的语义来确定他们之间的函数依赖,即函数依赖反映了(描述了)现实世界的一种语义。 (4) 函数依赖不是指关系模式R在某个时刻的关系(值)满足的约束条件,而是指R任何时刻的一切关系均要满足的约束条件。 答 完全函数依赖、部分函数依赖:在R(U)中,如果XY,并且对于X的任何一个真子集X,都有XY,则称Y对X完全函数依赖,记作: 若XY,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作: 传递依赖:在R(U)中,如果XY,(YX),YX,YZ,ZY,则称Z对X传递函数

5、依赖。 候选码、主码:设K为RU,F中的属性或属性组合,若则K为R的候选码(Candidate key)。若候选码多于一个,则选定其中的一个为主码(Primary key)。 解析 1) 这里我们用函数依赖来严格定义码的概念。在第二章中我们只是描述性地定义码(可以复习2.2.1): 若关系中的某一属性组的值能惟一地标识一个元组,则称该属性组为候选码(Candidate key)。 2) 因为码有了严格定义,在学习了概论5.3数据依赖的公理系统后就可以从RU,F的函数依赖集F出发,用算法来求候选码。 答 外码: 关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码(

6、Foreign key),也称外码。 全码:整个属性组是码,称为全码(All-key)。 答 lNF:如果一个关系模式R的所有属性都是不可分的基本数据项,则RlNF。 解析 第一范式是对关系模式的最起码的要求。不满足第一范式的数据库模式不能称为关系数据库。 答 2NF:若关系模式RlNF,并且每一个非主属性都完全函数依赖于R的码,则R2NF。 3NF:关系模式RU,F中若不存在这样的码X,属性组Y及非主属性Z(ZY)使得XY,(YX),YZ成立,则称RU,F3NF。 BCNF:关系模式RU,FlNF。若XY且YX时X必含有码,则RU,FBCNF。 解析 读者要真正理解这些范式的内涵。各种范式之

7、间的联系:5NF4NFBCNF3NF2NF1NF(概论上图6.2)。能够理解为什么有这种包含关系。 答 多值依赖:设R(U)是属性集U上的一个关系模式。X,Y,Z是U的子集,并且Z=U-X-Y。关系模式R(U)中多值依赖XY成立,当且仅当对R(U)的任一关系r,给定的一对(x,z)值,有一组Y的值,这组值仅仅决定于x值而与z值无关。 4NF:关系模式RU,F1NF,如果对于R的每个非平凡多值依赖XY(YX),X都含有码,则称RU,F4NF。 解析对于多值依赖的定义有多种。可以对比不同的定义来理解多值依赖,选择自己容易理解的一种定义来掌握多值依赖概念。 2.建立一个关于系、学生、班级、学会等诸信

8、息的关系数据库。 描述学生的属性有:学号、姓名、出生年月、系名、班号、宿舍区。 描述班级的属性有:班号、专业名、系名、人数、入校年份。 描述系的属性有:系名、系号、系办公室地点、人数。 描述学会的属性有:学会名、成立年份、地点、人数。 有关语义如下: 一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。 指出各关系的候选码、外部码,有

9、没有全码存在? 答 关系模式:学生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

10、DN,DNSA C: C#CS,C#CNUM,C#CDATE,CSDN,(CS,CDATE)C# /*因为每个专业每年只招一个班 */ D: D#DN,DND#,D#DA,D#DNUM /*按照实际情况,系名和系号是一一对应的*/ P: PNDATE1,PNPA,PNPNUM SP: (S,PN)DATE2 S中存在传递函数依赖: S#DN,S#SA,C#SA /*因为S#C#,C#DN,DNSA*/ C中存在传递函数依赖:C#DN /*因为C#CS,CSDN*/ (S#,PN)DATE2 和 (CS,CDATE)C#均为SP中的函数依赖,是完全函数依赖。 关系 候选码 外部码 全码 S S#

11、 C#,DN 无 C C#,(CS,CDATE) DN 无 D D# 和DN 无 无 P PN 无 无 SP (S#,PN) S#,PN 无 解析读者应该根据题目中给出的有关语义写出关系模式中的数据依赖,有些依赖可以按照实际情况写出,也许题目中并没有明显指出。例如,按照实际情况,系名和系号是一一对应的,因此有D#DN,DND#。 3*.试由Armostrong公理系统推导出下面三条推理规则: (1) 合并规则:若XZ,XY,则有XYZ (2) 伪传递规则:由XY,WXZ有XWZ (3) 分解规则:XY,ZY,有XZ 证明 (1) 已知XZ,由增广律知XYYZ,又因为XY,可得XXXYYZ,最后

12、根据传递律得XYZ。(因为XX等于X) (2) 已知XY,据增广律得XWWY,因为WYZ,所以XWWYZ,通过传递律可知XWZ。 (3) 已知ZY,根据自反律知YZ,又因为XY,所以由传递律可得XZ。 5.试举出3个多值依赖的实例。 答 (l) 关系模式MSC(M,S,C)中,M表示专业,S表示学生,C表示该专业的必修课。假设每个专业有多个学生,有一组必修课。设同专业内所有学生选修的必修课相同,实例关系如下。按照语义对于M的每一个值Mi,S有一个完整的集合与之对应而不问C取何值,所以MS。由于C与S的完全对称性,必然有MC成立。 M S C M1 S1 C1 M1 S1 C2 M1 S2 C1

13、 M1 S2 C2 (2) 关系模式ISA(I,S,A)中,I表示学生兴趣小组,S表示学生,A表示某兴趣小组的活动项目。假设每个兴趣小组有多个学生,有若干活动项目。每个学生必须参加所在兴趣小组的所有活动项目,每个活动项目要求该兴趣小组的所有学生参加。 按照语义有IS,IA成立。 (3) 关系模式RDP(R,D,P)中,R表示医院的病房,D表示责任医务人员,P表示病人。假设每个病房住有多个病人,有多个责任医务人员负责医治和护理该病房的所有病人。按照语义有RD,RP成立。12.下面的结论哪些是正确的,哪些是错误的? 对于错误的结论请给出理由或给出一个反例说明之。 答 (1) 任何一个二目关系都是属

14、于3NF的。 (2) 任何一个二目关系都是属于BCNF的。 (3) 任何一个二目关系都是属于4NF的。R(X,Y)如果XY即X、Y之间存在平凡的多值依赖,R属于4NF。 *(4) 当且仅当函数依赖AB在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。 当AB在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。反之则不然。 正确的应该是:当且仅当多值依赖AB在R上成立,关系R(A,B,C)等于其投影R1(A,B)和R2(A,C)的连接。 (5) 若R.AR.B,R.BR.C,则R.AR.C (6) 若R.AR.B,R.AR.C,则R.AR

15、.(B,C) (7) 若R.BR.A,R.CR.A,则R.(B,C)R.A (8) 若R.(B,C)R.A,则R.BR.A,R.CR.A反例:关系模式SC(S#,C#,G),(S#,C#)G,但是S#G,C#G。补充习题13.设关系模式R(A, B, C, D),F是R上成立的FD集,FABCD,AD。 试说明R不是2NF模式的理由。 试把R分解成2NF模式集。答: 从已知FD集F,可知R的候选键是AB。 另外,ABD是一个局部依赖,因此R不是2NF模式。 此时R应分解成=AD,ABC,是2NF模式集。(注:=AD,ABC表示分解结果由两个尚未命名的关系模式组成;其中,第一个关系模式的属性集为

16、(A,D),AD是其简单记法,该关系模式有待命名;第二个关系模式的属性集为(A,B,C),该关系模式也有待命名。这种记法后面还要用到。)14.设关系模式R(A, B, C),F是R上成立的FD集,FCB,BA。 试说明R不是3NF模式的理由。 试把R分解成3NF模式集。答: 从已知FD集F,可知R的候选键是C。 从CB和BA,可知CA是一个传递依赖,因此R不是3NF模式。 此时R应分解成CB,BA,是3NF模式集。15.设有一个记录各个球队队员每场比赛进球数的关系模式 R(队员编号,比赛场次,进球数,球队名,队长名) 如果规定每个队员只能属于一个球队,每个球队只有一个队长。 试写出关系模式R的

17、基本FD和关键码。 说明R不是2NF模式的理由,并把R分解成2NF模式集。 进而把R分解成3NF模式集,并说明理由。解:(1) 根据每个队员只能属于一个球队,可写出FD: 队员编号球队名; 根据每个球队只有一个队长,可写出FD: 球队名队长名; “每个队员每场比赛只有一个进球数”,这条规则也是成立的,因此还可写FD: ( 队员编号,比赛场次 )进球数。 从上述三个FD可知道,R的码为(队员编号,比赛场次)。 (2) 从(l)可知,R中存在下面两个FD: ( 队员编号,比赛场次 )( 球队名,队长名 ) 队员编号( 球队名,队长名 ) 显然,其中第一个FD是一个局部依赖,因此R不是2NF模式。

18、对R应该进行分解,由第二个FD的属性可构成一个模式,即 R1(队员编号,球队名,队长名); 另一个模式由R的属性集去掉第二个FD右边的属性组成,即 R2(队员编号,比赛场次,进球数)。 (注:请参考讲稿中的逐次分解法。) R1和R2都是2NF模式,因此R1,R2 (3) R2(队员编号,比赛场次,进球数)中,FD是(队员编号,比赛场次)进球数,码为(队员编号,比赛场次),可见R2已是3NF模式。 R1(队员编号,球队名,队长名)中,FD有两个: 队员编号球队名 球队名队长名 码为队员编号,可见存在传递依赖,因此R1不是3NF模式。 对R1应分解成两个模式:R11(队员编号,球队名),R12(球

19、队名,队长名)。这两个模式都是3NF模式。 因此,R分解成3NF模式集时,=R11,R12,R2。 16.设有关系模式 R(职工名,项目名,工资,部门名,部门经理) 如果规定每个职工可参加多个项目,各领一份工资;每个项目只属于一个部门管理;每个部门只有一个经理。 试写出关系模式R的基本FD和关键码。 说明R不是2NF模式的理由,并把R分解成2NF模式集。 进而把R分解成3NF模式集,并说明理由。解:(l) R的基本FD有三个: (职工名,项目名)工资 项目名部门名 部门名部门经理 码为(职工名,项目名)。 (2) 根据(l),R中存在下列两个FD: (职工名,项目名)(部门名,部门经理) 项目

20、名(部门名,部门经理) 其中前一个FD是一个局部依赖,因此R不是2NF模式。 R应分解成两个模式:R1(项目名,部门名,部门经理) R2(职工名,项目名,工资) R1和R2都是2NF模式。 (3) R2已是3NF模式。 在R1中,由于存在两个FD: 项目名部门名 部门名部门经理 即存在一个传递依赖,因此R1不是3NF模式。 对R1应分解成两个模式:R11(项目名,部门名),R12(部门名,部门经理)。这两个模式都是3NF模式。 因此,R分解成3NF模式集时,R11,R12,R2。17.为什么要进行关系模式的分解?分解的依据是什么?答:由于数据之间存在着联系和约束,在关系模式的中可能会存在数据冗

21、余和操作异常现象,因此需把关系模式进行分解,以消除冗余和异常现象。分解的依据是数据依赖和模式的标准(范式)。18.对给定的关系模式R(U,F),U=A,B,C,F=AB,如下的两个分解:(1) 1=AB,BC(2) 2=AB,AC判断这两个分解否无损。解(1) 根据定理判断本题(注:由于仅仅将原关系模式分解为两个关系模式,故可用定理判断。)因 ABBC=B AB-BC=A BC-AB=C故 BAF+ BCF+ 故1为有损连接。(2) 根据定理判断本题因 ABAC=AAB-AC=BAC-AB=C故 ABF+BCF+故2为无损连接。19.对给定的关系模式R(U,F),U=A,B,C,D,E,P,F

22、=AB,CP,EA,CED,如下的分解:= R1(A,B,E),R2(C,D,E,P) (1) 求R的候选关键字,并判分解是否无损连接;(2) R1、R2属于几范式。解 (1) 候选关键字为CE因 (CE)F+ = U故 有CEU,并且在CE中不存在一个真子集能决定R的全体属性U,故CE为R的候选关键字。根据定理判断本题分解是否无损。因 ABECDEP = EABE- CDEP = ABCDEP-ABE=CDP因 EA,AB (已知)故 有EB (传递律)因 EA,EB故 有EAB (合并律)因 EABF+ 故 故为无损连接。(2) R1、R2属于几范式? R12NF因 EA,AB故 EB,存

23、在传递依赖故 R13NF R21NF因 CED,CP故 CE能惟一地确定R2中的每一个元组,故为候选关键字。因 CE是候选关键字,而CP,所以P部分函数依赖于CE故 R22NF。20. 已知关系模式R(A,B,C) F=BC,CB,CA,AB,AC,BCA 求F的最小集Fmin = ?解1:(1) 右端皆为单个属性.(2) 去掉多余依赖。(应优先考虑去掉左端比较复杂的函数依赖.) BC (留)CB (去掉,因为它被去掉后只要还留下CA,AB,仍可以导出CB)CA (留)AB (留)AC (去掉,因为它被去掉后由AB、BC仍可以导出AC)BCA(去掉,因为它被去掉后由CA仍可以导出BCA)于是,

24、 Fmin = BC , CA , AB .解2:(1) 右端皆为单个属性.(2) 去掉多余依赖。这次我们采用另外一种顺序. BC CB (留) CA (去)AB (去)AC (留)BCA(留)于是得到, H= BC , CB , AC,BCA.H不是最小集,因为: H- BCA BA 仍等价于H; H- BCA CA 仍等价于H.故可得: P1= BC,CB,AC,BA P2= BC,CB,AC,CA H和P1是等价的,因为B H+ A,故BA在H+ 中,而H中其余几个函数依赖显然也都在H+中;同理可证H 的每一个函数依赖也都在P1+ 中;因此,H和P1等价。同理,H和P2是等价的。P2已经

25、是最小集。P1仍需继续化简,怎样化简,请读者自己考虑。 这个例子说明了,在求一个函数依赖集的最小集时,由于对函数依赖的处置顺序不同,所得到的结果也不同;最小集的形式也不是唯一的!21. 证明:若R3NF,则每一个非主属性既不部分依赖于码也不传递依赖于码。(注:证明过程可以用反证法来完成,让我来试证。) 证明:(1) 每一非主属性都不传递依赖于码是3NF定义所要求的,因而也是显然的。(2) 每一非主属性都不部分依赖于码。事实上,若存在一非主属性A部分依赖于码X,则必有X的一个真子集XX,且XA, 于是有XX, XX, XA, AX. 这与3NF定义相矛盾。证毕。通过这个证明过程知道,一个3NF的

26、关系模式必然是2NF的,因为它的每一非主属性都不部分依赖于码。22. 证明: BCNF必然是3NF. 证明:也就是要证明:在BCNF情况下,不存在这样的码X,属性组Y,以及非主属性A(AY),使得XY,YX,YA成立。事实上,若存在这样的码X,属性组Y,以及非主属性A(AY),使得XY,YX,YA成立的话,由BCNF定义可知,Y为码或者Y包含码,则必有YX,与上述假设矛盾。 于是,BCNF必是3NF.23.关系R(A,B,C,D,E)满足下列函数依赖:F=AC,CD,BC,DEC,CEA(1) 给出关系R的候选关键字;(2) 判=R1(A,D),R2(A,B),R3(B,C),R4(C,D,E

27、),R5(A,E)是否无损连接分解;(3) 将R分解为BCNF,并具有无损连接性。解 (1) 从函数依赖集F中看,候选关键字至少包含BE,因为BE不依赖于谁,而(BE)+=ABCDE,所以,BE是R的候选关键字。(2) 构造一个二维表,如下图所示。ABCDER1(A,D)R2(A,B)R3(B,C)R4(C,D,E)R5(A,E)a1a1b31b41a1b12a2a2b42b52b13b23a3a3b53a4b24b34a4b54b15b25b35a5a5 根据AC,对上表进行处理,由于属性列A上第1,2,5行相同,但属性列C上对应的1,2,5行上无ai元素,所以,只能将b13,b23,b53

28、改为行号最小值b13。又根据CD将属性列D上b34改为a4,修改后的表如处图所示:ABCDER1(A,D)R2(A,B)R3(B,C)R4(C,D,E)R5(A,E)a1a1b31b41a1b12a2a2b42b52b13b13a3a3b13a4b24a4a4b54b15b25b35a5a5 根据BC,对上表进行处理,由于属性列B上第2,3行相同,但属性列C上对应的3行为a3元素,所以,只能将第2行b13改为a3。又根据DEC,CEA不能修改此表,所以修改后的表如下图所示: ABCDER1(A,D)R2(A,B)R3(B,C)R4(C,D,E)R5(A,E)a1a1b31b41a1b12a2a2b42b52b13a3a3a3b13a4b24a4a4b54b15b25b35a5a5 根据AC,对上表进行处理,由于属性列A上第1,2,5行相同,但属性列C上对应的1,2,5行上有a3元素,所以,只能将第1,5行b13改为a3。又根据CD将属性列D上b24,b54改为a4,修改后的表如下图所示:ABCDER1(A,D)R2(A,B

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

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