
文章链接
数据库-数据库理论-数据库范式
面5笔5符合数据库设计第三范式(3NF)的数据表设计是( )
A.学生{id, name, age},学科{course's name, course's id},分数{id, course's id, score}
B.学生{id, name, age},分数{id, course's name, score}
C.分数{student's name,score, course's name}
D.学科{id, name},分数{student's name, id, score}
正确答案是 A
第三范式,指的是数据不能存在传递关系,即每个属性都与主键有直接关系而不是间接关系(每个属性之间的关系都是确定的 一对一)
而B选项的第二张分数表的结构为:
id ——> course's name(此处存在一对多的关系)——> score(要先匹配到对应的课程后·才是一对一的关系)所以还需要拆分,
B错