设有学生修课(学号,姓名,所在系,性别,课程号,课程名,学分,成绩)关系模式。设一个学生可以选多门课程,一门课程可以被多名学生选。每个学生对每门课程有惟一的考试成绩。一个学生有唯一的所在系,每门课程有唯一的课程名和学分。请指出此关系模式的候选码,判断此关系模式是第几范式,若不是第三范式,请将其规范化为第三范式关系模式,并指出分解后的每个关系模式的主码和外码。
时间: 2024-01-04 08:02:08 浏览: 252
此关系模式的候选码为{学号, 课程号},因为一个学生可以选多门课程,一门课程可以被多名学生选。
此关系模式不是第三范式,因为存在以下函数依赖:
- 学号 → 姓名,所在系,性别
- 课程号 → 课程名,学分
- 学号,课程号 → 成绩
为了将关系模式规范化为第三范式,需要进行以下处理:
- 将原关系模式分解为两个关系模式,分别为(学号,姓名,所在系,性别)和(课程号,课程名,学分)。
- 在原关系模式中保留(学号,课程号,成绩)三个属性,并将其作为新的关系模式。
- 新的关系模式的主码为(学号,课程号),外码为学号指向第一个关系模式中的主码(学号),外码为课程号指向第二个关系模式中的主码(课程号)。
分解后的每个关系模式及其主码和外码如下:
- 学生(学号, 姓名, 所在系, 性别),主码为学号。
- 课程(课程号, 课程名, 学分),主码为课程号。
- 选课(学号, 课程号, 成绩),主码为(学号, 课程号),外码为学号指向学生关系模式中的主码(学号),外码为课程号指向课程关系模式中的主码(课程号)。
阅读全文