计算机三级数据库-数据库逻辑设计

设关系模式R(学号,课程号,成绩,教师姓名,教师地址)规定:每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址,且教师没有同名同姓。

(1)写出R的基本函数依赖:
解:存在如下基本函数依赖:
 (学号,课程号) →成绩
  课程号→教师姓名
     教师姓名→教师地址
(2)写出R的侯选码:
解:R的侯选码:(学号,课程号)
(3)确定R属于每几范式,并说明理由
解:∵课程号→教师姓名
  ∴(学号,课程号)→ 教师姓名 (由于非主属性存在部分依赖)
  ∴ R不属于2NF,R属于1NF
(4)若R不属于2NF,则将R分解为2NF,并说明理由
解:把R分解为如下二个关系模式:
  R1 (学号,课程号,成绩)
  R2 (课程号,教师姓名,教师地址)
  ∵R1的侯选码为:(学号,课程号),非主属性:成绩
    又∵(学号,课程号) → 成绩
  ∴ R1属于2NF
  同理∵R2的侯选码为:课程号,非主属性:教师姓名,教师地址
  又∵ 课程号→ 教师姓名,课程号→ 教师地址 (由于存在传递依赖)
  ∴ R2属于2NF,而不属于3NF
 (5)若R不属于3NF,则将R分解为3NF,并说明理由
解:∵R1不存在非主属性对码的传递函数依赖,
  ∴ R1属于3NF
  把R2分解为如下二个关系模式:
  R21 (课程号,教师姓名)
  R22(教师姓名,教师地址)
      ∵R21的侯选码为:课程号,非主属性:教师姓名
  课程号→ 教师姓名
  且不存在非主属性对码的传递函数依赖
  ∴ R21属于3NF
      同理∵R4的侯选码为:教师姓名,非主属性:教师地址
  又∵教师姓名 → 教师地址
  且不存在非主属性对码的传递函数依赖
  ∴ R22属于3NF

发布了9 篇原创文章 · 获赞 1 · 访问量 291

猜你喜欢

转载自blog.csdn.net/xuaijingwendy/article/details/104044906
今日推荐