《数据库原理与应用》(第三版) 第8章 关系数据库理论 基础 习题参考答案

1.关系规范化中的操作异常有哪些?它是由什么引起的?解决的办法是什么?
答:增、删、改异常。数据冗余引起。解决办法:模式分解。

2.第一范式、第二范式和第三范式的定义分别是什么?
答:第一范式:每个列都是原子项。第二范式:第一范式且不含部分函数依赖。第三范式:第二范式且不含传递函数依赖。

3.什么是部分函数依赖?什么是传递函数依赖?请举例说明。
答:如果X→Y,并且对于X的一个任意真子集X/ 都有X/ —/→Y,则称Y完全函数依赖于X,记作XY;如果X/ →Y成立,则称Y部分函数依赖于X,记作XY。
示例:学生修课(学号,姓名,性别,选的课程号,课程名,考试成绩)
主键:(学号,课程号)
因为学号–>姓名,因此(学号,课程号)姓名

4.第三范式的关系模式是否一定不包含部分函数依赖?
答:是

5.对于主键只由一个属性组成的关系模式,如果它是第一范式的,则它是否一定也是第二范式的?
答:是。

6.设有关系模式:学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)。设一个学生可以选多门课程,一门课程可以被多名学生选。一个学生有唯一的所在系,每门课程有唯一的课程名和学分。请指出此关系模式的候选键,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。
答:(1)候选码:(学号,课程号)
(2)学号→姓名,学号→所在系,学号→性别,课程号→课程名,课程号→学分,
(学号,课程号)→成绩
(3)属于第二范式,因为存在部分函数依赖:学号→姓名。
(4)第三范式关系模式:
学生(学号,姓名,所在系,性别)
课程(课程号,课程名,学分)
考试(学号,课程号,成绩),学号为引用学生的外码,课程号为引用课程的外码。

7.设有关系模式:学生(学号,姓名,所在系,班号,班主任,系主任),其语义为:一个学生只在一个系的一个班学习,一个系只有一个系主任,一个班只有一名班主任,一个系可以有多个班。请指出此关系模式的候选键,判断此关系模式是第几范式的,若不是第三范式的,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。
答:(1)候选码:学号
(2)学号→姓名,学号→所在系,学号→班号,班号→班主任,所在系→系主任
(3)第二范式,因为有:学号→班号,班号→班主任,因此存在传递函数依赖:
学号班主任
(4)第三范式关系模式:
学生(学号,姓名,所在系,班号),班号为引用班的外码,所在系为引用系的外码。
班(班号,班主任)
系(系名,系主任)

8.设有关系模式:教师授课(课程号,课程名,学分,授课教师号,教师名,授课时数),其语义为:一门课程(由课程号决定)有确定的课程名和学分,每名教师(由教师号决定)有确定的教师名,每门课程可以由多名教师讲授,每名教师也可以讲授多门课程,每名教师对每门课程有确定的授课时数。指出此关系模式的候选键,判断此关系模式属于第几范式,若不属于第三范式,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主键和外键。
答:(1)候选码:(课程号,授课教师号)
(2)课程号→课程名,课程号→学分,授课教师号→教师名,(课程号,授课教师号)→授课时数
(3)属于第一范式。因为有:课程号→课程名,因此存在部分函数依赖关系:
(课程号,授课教师号)课程名
(4)第三范式关系模式:
课程(课程号,课程名,学分)
教师(教师号,教师名)
授课(课程号,教师号,授课时数),课程号为引用课程的外码,教师号为引用教师的外码。

发布了750 篇原创文章 · 获赞 471 · 访问量 32万+

猜你喜欢

转载自blog.csdn.net/weixin_43336281/article/details/105500510