定义
数据库设计中的范式(Normal Forms)是一种规范,用于规定数据库表的结构,以最小化数据冗余、提高数据完整性和一致性。以下是第一范式(1NF)到第五范式(5NF)的官方定义:
第一范式(1NF):
一个关系中的所有属性都是不可分的基本数据项,即每列都包含一个不可再分的值,且每个值都是原子的。
第二范式(2NF):
在1NF的基础上,如果关系的非主属性完全依赖于关系的候选键,即每个非主属性都完全依赖于关系的候选键,那么关系符合2NF。
第三范式(3NF):
在2NF的基础上,如果关系的所有非主属性都不传递依赖于关系的候选键,即关系中不存在非主属性之间的传递依赖,那么关系符合3NF。
巴斯-科德范式(BCNF):
在3NF的基础上,如果关系的每个非主属性都完全依赖于关系的候选键,即关系中不存在非主属性对候选键的部分依赖,那么关系符合BCNF。
第四范式(4NF):
在BCNF的基础上,如果关系的所有多值依赖都是通过某个超键分解的,即关系中不存在非主属性之间的多值依赖,那么关系符合4NF。
第五范式(5NF):
在4NF的基础上,如果关系中不存在不满足联接依赖的非平凡多值依赖,即关系中不存在可通过连接而得到的非平凡多值依赖,那么关系符合5NF。
范式的目标是为了减少数据冗余、提高数据一致性和完整性,但不是每个数据库设计都需要达到最高的范式,要根据实际情况和业务需求进行权衡。