数据库规范化

数据库规范化，又称正规化、标准化，是数据库设计的一系列原理和技术，以减少数据库中数据冗余，增进数据的一致性。关系模型的发明者埃德加·科德最早提出这一概念，并于1970年代初定义了第一范式、第二范式和第三范式的概念，还与Raymond F. Boyce于1974年共同定义了第三范式的改进范式——BC范式。

除外还包括针对多值依赖的第四范式，连接依赖的第五范式、DK范式和第六范式。

现在数据库设计最多满足3NF，普遍认为范式过高，虽然具有对数据关系更好的约束性，但也导致数据关系表增加而令数据库IO更易繁忙，原来交由数据库处理的关系约束现更多在数据库使用程序中完成。

 范式 
范式如下（从最不规范到规范排序）：

  UNF 1NF  2NF  3NF  EKNF BCNF 4NF  ETNF  5NF  DKNF  6NF  主键（无重复元组）                      没有重复组                       字段原子性（元组只有一个值）                      没有部分函数依赖（值依赖于每个主键这一整体）                       没有传递函数依赖 （值仅依赖于候选键）                       每个非平凡的函数依赖涉及一个超键或者主键的子键                       没有函数依赖造成的冗余                       每个非平凡的多值依赖都有一个超键                       超键是每个显式连接依赖的一部分                        候选键隐含了每个非平凡的连接依赖关系                       每个约束都是域约束和键约束的结果                       每个连接依赖都是平凡的                       

参考文献