数据库规范化
第一范式
没有表嵌套表,属性不可再分
第二范式
满足第一范式,消除 非主属性 对码的 部分函数依赖
第三范式
满足第二范式,消除 非主属性 对码的 传递函数依赖
BC范式
满足第三范式
- 消除 主属性 对不包含它的码的 部分和传递函数依赖
- 没有 任何属性 对非码的一组属性有完全函数依赖
四大类问题
- 插入异常
- 删除异常
- 数据冗余度大
- 修改复杂
通过不断地提高设计标准,规范化,解决四大类问题
函数依赖
属性集X可以决定属性集Y,称为Y函数依赖于X,记为 X→Y
下面三个分点都建立在非平凡函数依赖前提下(Y不包含于X,X→Y)
-
完全函数依赖:Y函数依赖于X,且Y不函数依赖于X的任意一个真子集
-
部分函数依赖:Y函数依赖于X,存在Y函数依赖于X的一个真子集
-
传递函数依赖:Y函数依赖于X,Z函数依赖于Y,那么Z传递函数依赖于X