数据库
首页 > 数据库> > 数据库总结(1)——INF、2NF、3NF、BCNF

数据库总结(1)——INF、2NF、3NF、BCNF

作者:互联网

一、几个重要的概念

二、1NF

三、2NF

第二范式首先要满足第一范式,在此基础上,还要满足一下两条

举个栗子:如果数据库中有联合主键,但是有的列只依赖于联合主键中的一个或者部分属性,这个时候该表就不满足第二范式

四、3BF

第三范式首先要满足第二范式,在此基础上,还要满足下条

现在来总结一下:
第二范式和第三范式都是对非主属性的约束,第二范式约束的是 完全函数依赖,第三范式约束的是 传递函数依赖

五、BC范式

5.1 首先我们举个栗子:

若公司有若干个仓库:每个仓库只能有一个管理员,一个管理员只能在一个仓库工作;一个仓库可以存放多个物品,一个物品可以放在不同的仓库。每种物品在每个仓库中都有对应的数量。那么关系表 **仓库(仓库名,管理员,物品名,物品数量)**属于哪一个范式。

分析:

从上面的函数依赖可以看出来

不存在非主属性对主属性的部分和传递函数依赖。所以属于第三范式

5.2 栗子中存在的问题

从上面的栗子上我们可以看到,虽然满足了 第三范式,但是仍然存在插入异常、修改异常和删除异常问题。

造成这个问题的原因是:

存在主属性对码的部分函数依赖于传递函数依赖

上面的四个范式写的还是比较简单的,之后可能会有进一步的栗子做为补充。

参考并感谢

https://www.zhihu.com/question/24696366/answer/29189700 来源:知乎 作者:刘老师

标签:3NF,BCNF,范式,仓库,2NF,管理员,物品,主键,属性
来源: https://blog.csdn.net/xiaojie_570/article/details/87889189