为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规范。在关系型数据库中这种规范就称为范式。
第一范式(1NF):当关系模式R的所有属性都不能再分解为更基本的数据单位时,称R是满足第一范式的,简记为1NF。满足第一范式是关系模式规范化的最低要求。
第二范式(2NF):如果关系模式R满足第一范式,并且R的所有非主属性都完全依赖于R的每一个候选关键属性,称R满足第二范式,简记为2NF。
第三范式(3NF):设R是一个满足第一范式条件的关系模式,X是R的任意属性集,如果X非传递依赖于R的任意一个候选关键字,称R满足第三范式,简记为3NF。
简单来说:
第一范式:每一列属性都是不可再分的属性值,确保每一列的原子性。
第二范式:确保表中的每列都和主键相关。
第三范式:数据不能存在传递关系,即每个属性都跟主键有直接关系而不是间接关系。