判断数据库范式
https://blog.csdn.net/weixin_47936649/article/details/123130004
1.如何判断候选键和非候选键
(1)找出只在左边出现的项,看能否推出所有的项,能就是候选键;不能到(2)
(2)找出同时在左右出现的项和上面的组合,能推出所有的项就是候选键
2.部分依赖:AB->C,B->C, C部分依赖B
传递依赖:A->B B->C C传递依赖A
3.存在部分依赖候选键的,不符合2NF,存在的问题:数据冗余、更新异常、删除异常、插入异常
范式分解
1.1NF ->2NF
U 存在部分依赖,XY->Z, Y->Z,所以把Y->Z拿出来,得到(YZ);主键仍然是XY,然后(XY,U-Z)
2.2NF->3NF
U存在传递依赖,X->Y->Z,YZ是一个模式,主键是Y;R2(U-Z),主键是x.