《数据库系统原理与实践习题答案第07章.pdf》由会员分享,可在线阅读,更多相关《数据库系统原理与实践习题答案第07章.pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库系统原理与实践习题答案第07章请勿盗版 尊重作者 第7章1、解释下列名词:函数依赖、部分函数依赖、完全函数依赖、传递函数依赖、侯选码、主码、1NF、2NF、3NF、BCNF、多值依赖、4NF、最小函数依赖集。答:函数依赖:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集。对于R(U)的任意一个可能的关系r,如果r中不存在两个元组,它们在X上的属性值相同,而在Y上的属性值不同,则称“X函数确定Y”或“Y函数依赖于X”,记作XY。非平凡的函数依赖:X Y ,但 Y 不是 X 的子集,则称 X Y 是非平凡的函数依赖。若不特别声明,总是讨论非平凡的函数依赖。在关系模式R(U)中,如
2、果XY,并且对于X的任何一个真子集X,都有X Y,则称Y完全函数依赖(Full Functional Dependency)于X,记作X F Y。若XY,但Y不完全函数依赖于X,则称Y部分函数依赖(Partial Functional Dependency)于X,记作X Y。在关系模式R(U)中,如果XY,YZ,且Y X,则称Z传递函数依赖(Transitive Functional Dependency)于X,记作ZT X。如果关系模式R中不包含多值属性(每个属性必须是不可分的数据项),则 R 满足第一范式(First Normal Form),记作1NF。若R1NF,且每一个非主属性完全函
3、数依赖于码,则R2NF。R满足第二范式(Second Normal Form),记作2NF。关系模式R(U,F)中若不存在这样的码X,属性组Y及非主属性Z(ZY)使得XY,YZ成立,YX,则称R(U,F)3NF。则R满足第三范式(Third Normal Form),记作3NF。关系系模式R1NF,对任何非平凡的函数依赖XY(Y X),X均包含码,则RBCNF。多值依赖:设有关系模式R(U),U是属性全集,X、Y、Z是U的子集,且Z = U-X-Y。如果对R(U)的任一关系r,给定一对(X, 数据库系统原理与实践习题答案第07章请勿盗版 尊重作者 Z)值,都有一组Y值与之对应,这组Y值仅仅决定
4、于X值而与Z值无关,则称Y多值依赖于X,或X多值决定Y,记作XY。第四范式:如果关系模式 R1NF,对于R 的每个非平凡的多值依赖XY(Y 不包含在X 中),X 含有码,则R 满足第四范式(Forth Normal Form),记作R4NF。如果函数依赖集F满足下列条件,则称F为最小函数依赖集或最小覆盖。 F中的任何一个函数依赖的右部仅含有一个属性; F中不存在这样一个函数依赖XA,使得F与F-XA等价; F中不存在这样一个函数依赖XA,X有真子集Z使得F-XAZA与F等价。2、已知关系模式R(U,F),其中U=A,B,C,D,E,FABC,BD,CE,ECB,ACB ,求(AB)F+。答:(
5、1) 令X=AB,X(0)=AB (2)在F中寻找尚未使用过的左边是AB的子集的函数依赖,结果是: BD所以 X(1)=X(0)D=ABCD, 显然 X(1)X(0). (3) 在F中寻找尚未使用过的左边是ABCD的子集的函数依赖, 结果是: CE;所以 X(2)=X(1)I=ABCDE。虽然X(2)X(1),但F中寻找尚未使用过函数依赖的左边已经没有X(2)的子集,所以不必再计算下去,即(AB)+= ABCDE3.关系模式R(A,B,C,D),函数依赖集FAC,CA,BAC,DAC,BDA。1)求出R的候选码;2)求出F的最小函数依赖集;3)将R分解为3NF,使其既具有无损连接性又具有函数依
6、赖保持性答:数据库系统原理与实践习题答案第07章请勿盗版 尊重作者 1) R的候选码为BD;2) 将F中的函数依赖都分解为右部为单属性的函数依赖.;F=AC,CA,BA,BC,DA,DC,BDA3) 去掉F中冗余的函数依赖.判断AC是否冗余.设:G1CA,BA,BC,DA,DC,BDA,得(A)G1+AC不属于(A)G1+ AC不冗余判断CA是否冗余.设:G2AC,BA,BC,DA,DC,BDA,得(A)G2+CA不属于(C)G1+ CA不冗余判断BA是否冗余.设:G3AC,CA,BC,DA,DC,BDA,得(B)G3+BCAA属于(B)G3+ BA冗余判断BC是否冗余.设:G4AC,CA,D
7、A,DC,BDA,得(B)G4+BC不属于(B)G4+ BC不冗余判断DA是否冗余.设:G5AC,CA,BC,DC,BDA,得(D)G5+DCAA不属于(D)G5+ DA冗余判断AC是否冗余.设:G6AC,CA,BC,BDA,得(D)G6+DC不属于(D)G6+ DC不冗余判断BDA是否冗余.设:G7AC,CA,BC,DC,得(BD)G7+BDCAA不属于(BD)G7+ BDA冗余FAC,CA,BC,DC由于各函数依赖左部都为单属性,故:FmAC,CA,BC,DC(3)=AC,BC,DC,BD数据库系统原理与实践习题答案第07章请勿盗版 尊重作者 4、指出下列关系模式是第几范式,并说明理由。
8、R ( X,Y,Z ) F = XYZ 。答:XYZ是完全函数依赖,XY是码,是BCNF R ( X,Y,Z ) F = YZ,XZY 。答:是3NF。候选关键字为XY和XZ,所有属性都是主属性,不存在非主属性对候选关键字的传递依抄赖。 R ( X,Y,Z ) F = YZ,YX,XYZ 。答:是BCNF。候选关键字为X和Y,所有属性都是主属性,决定方都有候选关键字。 R ( X,Y,Z ) F = XY,YZ 。答:是2NF。候选关键字为X,XY,YZ是传递函数依赖。5、现要建立关于系、学生、班级、学会等信息的一个关系数据库。语义为:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生
9、,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会有若干学生。描述学生的属性有:学号、姓名、出生日期、系名、班号、宿舍区;描述班级的属性有:班号、专业名、系名、人数、入校年份;描述系的属性有:系名、系号、系办公室地点、人数;描述学会的属性有:学会名、成立年份、地点、人数、学生参加某会有一个入会年份。 请写出关系模式。 写出每个关系模式的最小函数依赖集,指出是否存在传递依赖,在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖,还是部分依赖。 指出各个关系模式的候选关键字、外部关键字,有没有全关键字。答:数据库系统原理与实践习题答案第07章请勿盗版 尊重作者 (1)关系模式如下:
10、学生: S(Sno, Sname, Sbirth, Dept,Class, Rno)班级: C(Class,Pname, Dept, Cnum, Cyear)系: D(Dept , Dno, Office , Dnum)学会: M(Mname , Myear , Maddr , Mnum)(2)每个关系模式的最小函数依赖集如下:A、学生 S (Sno,Sname, Sbirth ,Dept , Class, Rno) 的最小函数依赖集如 下:Sno Sname, Sno Sbirth, Sno Class,ClassDept, DEPT Rno 传递依赖如下:由于 SnoDept,而 Dept
11、 Sno , DeptRno(宿舍区)所以 Sno 与 Rno 之间存在着传递函数依赖。由于 Class Dept,Dept Class,Dept Rno所以 Class 与 Rno 之间存在着传递函数依赖。由于 SnoClass,Class Sno,ClassDept所以 Sno 与 Dept 之间存在着传递函数依赖。B、班级 C(Class, Pname, Dept, Cnum, Cyear)的最小函数依赖集如下 : ClassPname, Class Cnum, Class Cyear,Pname Dept.由于 Class Pname,Pname Class, Pname Dept所以
12、 C1ass 与 Dept 之间存在着传递函数依赖。C、系 D(Dept ,Dno ,Office , Dnum) 的最小函数依赖集如下:Dept Dno, Dno Dept, Dno Office , Dno Dnum根据上述函数依赖可知, Dept 与 Office , Dept 与 Dnum 之间不存在传递依赖。 D、学会 M(Mname , Myear , Maddr , Mnum) 的最小函数依赖集如下: MnameMyear , Mname Maddr , Mname Mnum该模式不存在传递依赖。(3)各关系模式的候选码、外部码,全码如下:A、学生 S 候选码: Sno;外部码: Dept、 Class;无全码B、班级 C 候选码: Class;外部码: Dept;无全码C、系 D 候选码: Dept 或 Dno;无外部码;无全码D、学会 M 候选码: Mname;无外部码;无全码