关于第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴克斯范式(BCNF)以及第四范式(4NF)各自特点的简单总结

  在初学者在学习数据库技术时,总绕不开1NF、2NF、3NF、BCNF以及4NF。书本对这些的描述就如天书一般难懂。以下是关于上述几种范式各自特点和区别的表格式总结,希望有初学者有帮助。不当之处,欢迎交流指正。
  

1NF、2NF、3NF、BCNF和4NF的特征

范式名称特征存在问题
1NF各属性不可再分非主属性部分依赖于码
2NF解决1NF存在问题,非主属性完全依赖于码非主属性传递依赖于码
3NF解决2NF问题,非主属性直接依赖于码主属性部分或传递依赖于码
BCNF解决3NF问题,主属性完全依赖于码存在多值依赖
4NF解决BNCF问题,各属性间没有非平凡且非函数依赖的多值依赖

拓展解释:
  传递依赖:某属性通过中间属性,依赖于码,即属性X决定属性Y,Y决定属性Z,则Z(通过Y)传递依赖于X。
  部分依赖:针对于主码是多主属性的情况,某属性仅完全依赖于主码中的部分属性。

  一般来说,如果只考虑函数依赖,规范化程度最高的是BCNF,也就是说,在数据库设计时,只要达到BCNF标准就可以了;在某些情况下如果要考虑多会依赖,则需要进一步优化到4NF。
  对于一些专业名词(如主属性、码等),可自行参阅相关文章,在此不再赘述。

参考文献:
  《第一范式、第二范式、第三范式、BCNF范式详解》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值