当前位置:Gxlcms > 数据库问题 > 数据库范式到底是怎么个回事

数据库范式到底是怎么个回事

时间:2021-07-01 10:21:17 帮助过:22人阅读

技术分享

表二 

技术分享

表三

三、第三范式(3NF)

  官方的说法就不写了,简单来说就是,某一列除了完全依赖于主键外,不能依赖于别的非主键的列,否则就不符合第三范式了。比如下面的表四:

技术分享

表四

   上表中,主键是学号,我们知道导师办公室依赖于主键学号,但是同时也依赖于导师ID,因此不符合第三范式。可以通过拆分成下面两个表:表五和表六,符合第三范式。

技术分享

表五

技术分享

表六

说明:(1)3NF和2NF有点儿类似,2NF要求不能依赖于主键的一部分,而3NF要求不能依赖于除主键以外的列。

   (2)之所以是要符合第三范式,是为了避免太多重复的内容,例如对于导师ID为12的,该表里面就有两条重复的,以后如果ID为12的导师更换办公地址,那么就需要对表中ID为12的导师办公地点全部进行更新,虽然数据量少的时候update一下花不了多长时间,可是万一有好多好多条,更新起来,估计死的心都有了。

  BCNF、第四范式、第五范式,实在不想说了,真的感觉没什么用,当然如果为了防止被某些学术权威唬住,倒是可以学习学习。

  最后祝愿大家在三大范式的指导下,建的一手好表。

数据库范式到底是怎么个回事

标签:

人气教程排行