数据库系统概论课后习题答案(王珊、萨师煊)

发布时间 : 星期四 文章数据库系统概论课后习题答案(王珊、萨师煊)更新完毕开始阅读

2.建立一个关于系、学生、班级、学会等诸信息的关系数据库。 学生:学号、姓名、出生年月、系名、班号、宿舍区。 班级:班号、专业名、系名、人数、入校年份。 系:系名、系号、系办公地点、人数。

学会:学会名、成立年份、办公地点、人数。

语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。

请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在 解:(1)关系模式如下:

学生: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) 的最小函数依赖集如下:SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno 传递依赖如下:

由于SnoDept,而DeptSno ,DeptRno(宿舍区)

所以Sno与Rno之间存在着传递函数依赖。 由于ClassDept,Dept Class,DeptRno

所以Class与Rno之间存在着传递函数依赖。 由于SnoClass,ClassSno,ClassDept

所以Sno与Dept之间存在着传递函数依赖。

B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下: ClassPname,ClassCnum,ClassCyear,PnameDept. 由于ClassPname,PnameClass,PnameDept 所以C1ass与Dept之间存在着传递函数依赖。

C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下: DeptDno,DnoDept,DnoOffice,DnoDnum

根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。 D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集如下: MnameMyear,MnameMaddr,MnameMnum 该模式不存在传递依赖。

(3)各关系模式的候选码、外部码,全码如下:

A、学生S候选码:Sno;外部码:Dept、Class;无全码 B、班级C候选码:Class;外部码:Dept;无全码 C、系D候选码:Dept或Dno;无外部码;无全码 D、学会M候选码:Mname;无外部码;无全码

12.下面的结论哪些是正确的 哪些是错误的 对于错误的请给一个反例说明之。 (1) 任何一个二目关系是属于3NF。

答:正确。因为关系模式中只有两个属性,所以无传递。

(2) 任何一个二目关系是属于BCNF.

答:正确。按BCNF的定义,若XY,且Y不是X的子集时,每个决定因素都包含码,对于二目关系决定因素必然包含码。详细证明如下:(任何二元关系模式必定是BCNF)。

证明:设R为一个二目关系R(A1,A2),则属性A1和A2之间可能存在以下几种依赖关系: A、A1A2,但A2A1,则关系R的码为A1,决定因素都包含码,所以,R是BCNF。 B、A1A2,A2A1,则关系R的码为A2,所以决定因素都包含码,R是BCNF。 包含码。R是BCNF。C、R的码为(A1,A2)(即A1 A2,A2 A1),决定因素都 (3)任何一个二目关系是属于4NF.

答:正确。因为只有两个属性,所以无非平凡的多值依赖。

第 5 章 关系数据理论习题参考答案(补充) 1. 已知学生关系模式

S(Sno,Sname,SD,Sdname,Course,Grade)

其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。 (1)写出关系模式S的基本函数依赖和主码。 答: 关系模式S的基本函数依赖如下:

Sno→Sname,SD→Sdname,Sno→SD,(Sno,Course) →Grade 关系模式S的码为:(Sno,Course)。

(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么

答: 原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。

消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下: S1(Sno,Sname,SD,Sdname)、S2(Sno,Course,Grade) (3)将关系模式分解成3NF,并说明为什么 答: 将上述关系模式分解成3NF如下:

关系模式S1中存在Sno→SD,SD→Sdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。进一步分解如下:

S11(Sno,Sname,SD) S12(SD,Sdname) 分解后的关系模式S11、S12满足3NF。

对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。 S11(Sno,Sname,SD) S12(SD,Sdname) S2(Sno,Course,Grade)

2、设有如图所示的学生关系S

学号 学生名 年龄 性别 系号 系名 100001 200001 200002 300001 300004

300005 王 婧

张 露 黎明远 王 烨 张 露 潘 建 18 19 20 21 20 19 女 女 男 男 女 男 1 2 2 3 3

3 通信工程 电子工程 电子工程 计算机 计算机 计算机

试问S是否属于3NF 为什么若不是,它属于几范式 并将其规范化为3NF. 解:S不属于3NF,它属于2NF。 S的候选关键字为“学号”。

依赖关系:学号→系号, 系号→系名,系号 → 学号

所以: 学号→系名,即存在非主属性系名对候选关键字“学号”的传递依赖,S不是3NF.

在S中所有非主属性均依赖于码学号,所以S是2NF。将S分解成: S1(学号,学生名,年龄,性别,系号)、S2(系号,系名),分解后的Sl与S2如图所示: 关系模式S1如下:

学号 学生名 年龄 性别 系号 100001 200001 200002 300001 300004

300005 王 婧 张 露 黎明远 王 烨 张 霹

潘 建 18 19 20 21 20 19 女 女 男 男 女 男 1 2 2 3 3 3

关系模式S2如下: 系号 系名 1 2

3 通信工程 电子工程 计算机

关系模式S1、S2上无传递依赖,它们是3NF。 3.设有如下关系R

课程名 教师名 教师地址 C1 C2 C3

C4 马千里 于得水 余快

于得水 D1 D1 D2 D1

(1) 它为第几范式 为什么 解:它是2NF。

因为R的候选关键字为“课程名”。

依赖关系: 课程名→教师名,教师名 → 课程名,教师名→教师地址,所以 课程名→教师地址。即存在非主属性“教师地址”对候选关键字课程名的传递函数,因此R不是3NF。但:因为不存在非主属性对候选关键字的部分函数依赖,所以R是2NF。

(2)是否存在删除操作异常若存在,则说明是在什么情况下发生的 解: 存在。当删除某门课程时会删除不该删除的教师的有关信息。

联系合同范文客服:xxxxx#qq.com(#替换为@)