数据库学习笔记「规范化设计」
第一范式 1NF
数据表中的字段都是单一属性的,不可再分。
这个单一属性由基本类型构成。数据库表中的所有字段都是不可分解的原子
⚠️1NF属性不可再分
第二范式 2NF
数据库表中不存在非关键字段对任意候选关键字段对部分函数依赖
非关键字段都完全依赖于任意一组候选关键字
⚠️一个表中只能保存一种数据,不能可以把多种数据保存在同一张表中
满足2NF的表,每一列的数据都和主键相关
第三范式 3NF
在第二范式的基础上,数据表中如果不存在非关键字对任一候选关键字段段传递函数依赖则符合第三范式。
满足3NF的表,每列都和主键直接相关,而不是间接相关
传递函数依赖:若存在
A->B->C
的决定关系,则\(C\)传递函数依赖于\(A\)⚠️若满足第三范式则不存在:
关键字段 -> 非关键字段x -> 非关键字段y
BC范式 BCNF
符合3NF并且非主属性不依赖于主属性
BC范式的等价表述:每个非平凡依赖的左边必须包含键码,每个决定因素必须包含键码