范式是设计数据库时使用的规范要求,按照范式等级递增,数据库冗余越少,消除增删改查异常。实际设计数据库时要对冗余和效率进行一个综合考虑,并不是遵循越高等级的范式就越好。
第一范式:表的每一列都不可再拆分。
第二范式:非码属性必须完全依赖于候选码,所谓完全依赖即不能存在仅依赖主关键字的一部分属性。在1NF基础上消除非主属性对主码的部分函数依赖。要求每一条记录能够被唯一区分。
第三范式:任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)
BCNF:排除任意属性对码的部分函数依赖及传递函数依赖。