数据库规范化

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

「」的各地常用譯名
中国大陸
臺灣
港澳

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

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

范式

范式如下(从最不规范到规范排序):

  • UNF: 非标准化形式
  • 1NF: 第一范式
  • 2NF: 第二范式
  • 3NF: 第三范式
  • EKNF: 主键范式
  • BCNF: Boyce–Codd 范式
  • 4NF: 第四范式
  • ETNF: 关键元组范式
  • 5NF: 第五范式
  • DKNF: 域键范式
  • 6NF: 第六范式
UNF
(1970)
1NF
(1971)
2NF
(1971)
3NF
(1971)
EKNF
(1982)
BCNF
(1974)
4NF
(1977)
ETNF
(2012)
5NF
(1979)
DKNF
(1981)
6NF
(2003)
主键(无重复元组也许是是是是是是是是是是
没有重复组也许是是是是是是是是是是
字段原子性(元组只有一个值)否是是是是是是是是是是
没有部分函数依赖(值依赖于每个主键这一整体)否否是是是是是是是是是
没有传递函数依赖 (值仅依赖于候选键否否否是是是是是是是是
每个非平凡的函数依赖涉及一个超键或者主键的子键否否否否是是是是是是不適用
没有函数依赖造成的冗余否否否否否是是是是是不適用
每个非平凡的多值依赖都有一个超键否否否否否否是是是是不適用
超键是每个显式连接依赖的一部分 [1]否否否否否否否是是是不適用
候选键隐含了每个非平凡的连接依赖关系否否否否否否否否是是不適用
每个约束都是域约束和键约束的结果否否否否否否否否否是不適用
每个连接依赖都是平凡的否否否否否否否否否否是

参考文献

  1. Darwen, Hugh; Date, C. J.; Fagin, Ronald. (PDF). . EDBT/ICDT 2012 Joint Conference. ACM International Conference Proceeding Series. Association for Computing Machinery: 114. 2012 [2018-05-22]. ISBN 978-1-4503-0791-8. OCLC 802369023. doi:10.1145/2274576.2274589. (原始内容存档 (PDF)于2017-08-08).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.