首页 > 试题广场 >

符合数据库设计第三范式(3NF)的数据表设计是( )

[单选题]

符合数据库设计第三范式(3NF)的数据表设计是( )

  • 学生{id, name, age},学科{course's name, course's id},分数{id, course's id, score}
  • 学生{id, name, age},分数{id, course's name, score}
  • 分数{student's name,
    score, course's name}
  • 学科{id, name},分数{student's name, id, score}
B选项错在哪?
发表于 2020-04-01 19:24:11 回复(4)
3NF 非主属性无传递依赖
发表于 2019-08-17 17:34:51 回复(0)
第三范式,指的是数据不能存在传递关系,即每个属性都与主键有直接关系而不是间接关系(我的理解是:每个属性之间的关系都是确定的 一对一
而B选项的第二张分数表的结构为:id ——> course's name(此处存在一对多的关系)——> score(要先匹配到对应的课程后·才是一对一的关系)所以还需要拆分,B错
编辑于 2021-11-21 22:55:30 回复(3)
<p>C选项学生的姓名加分数不一定可以决定课程名,有可能一个学生几门课考的分数一样</p>
发表于 2020-09-08 20:48:50 回复(2)
B错误的原因是不是因为非主属性依赖于id和course‘s name,而course’s name也是非主属性。不符合第三范式的定义:任何非主属性不依赖于其他非主属性?
编辑于 2023-12-17 19:11:21 回复(0)
第二方式2NF消除非主属性对码的部分函数依赖,第三范式3NF消除非主属性对码的传递函数依赖。
选项B、C、D都存在不满足完全函数依赖的非主属性,故选A。
发表于 2023-02-10 17:49:09 回复(0)
我咋觉得都符合?
发表于 2021-08-27 22:33:23 回复(0)