数据库设计范式

CharlesYooSky 2020-01-07

 

范式(NF:Normal Form) 的概念是设计关系数据库时,遵从不同的规范要求。设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式。各范式基于上一层范式依次递增,越高的范式数据库冗余越小。

目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。一般来说,数据库只需满足(3NF)就行了。

第一范式(1NF):数据表的每一列(每个字段)必须时不可拆分的最小单元,也就是确保每一列的原子性;

第二范式(2NF):要求表中的所有列,都必须依赖于主键,而不能有任何一列与主键没有关系、也就是说一个表只描述一件事情;

第三范式(3NF):表中的每一列只与主键直接相关而不能依赖于其它属性(表中的每一列只能依赖于主键);

巴斯-科德范式(BCNF):任何非主属性不能对主键子集依赖,在3NF的基础上消除对主码子集的依赖,是修正第三范式的;

第四范式(4NF):禁止同一表中非主键列之间出现的多对多关系;

第五范式(5NF):为了排除在表中所有的冗余,将表分割成尽可能小。

相关推荐