Loading AI tools
来自维基百科,自由的百科全书
数据库规范化,又称正规化、标准化,是数据库设计的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。关系模型的发明者埃德加·科德最早提出这一概念,并于1970年代初定义了第一范式、第二范式和第三范式的概念,还与Raymond F. Boyce于1974年共同定义了第三范式的改进范式——BC范式。
「database normalization」的各地常用譯名 | |
---|---|
中国大陸 | 数据库规范化 |
臺灣 | 資料庫正規化 |
港澳 | 資料庫規範化 |
此條目可参照英語維基百科相應條目来扩充。 |
除外还包括针对多值依赖的第四范式,连接依赖的第五范式、DK范式和第六范式。
现在数据库设计最多满足3NF,普遍认为范式过高,虽然具有对数据关系更好的约束性,但也导致数据关系表增加而令数据库IO更易繁忙,原来交由数据库处理的关系约束现更多在数据库使用程序中完成。
范式如下(从最不规范到规范排序):
UNF (1970) |
1NF (1971) |
2NF (1971) |
3NF (1971) |
EKNF (1982) |
BCNF (1974) |
4NF (1977) |
ETNF (2012) |
5NF (1979) |
DKNF (1981) |
6NF (2003) | |
---|---|---|---|---|---|---|---|---|---|---|---|
主键(无重复元组) | |||||||||||
没有重复组 | |||||||||||
字段原子性(元组只有一个值) | |||||||||||
没有部分函数依赖(值依赖于每个主键这一整体) | |||||||||||
没有传递函数依赖 (值仅依赖于候选键) | |||||||||||
每个非平凡的函数依赖涉及一个超键或者主键的子键 | 不適用 | ||||||||||
没有函数依赖造成的冗余 | 不適用 | ||||||||||
每个非平凡的多值依赖都有一个超键 | 不適用 | ||||||||||
超键是每个显式连接依赖的一部分 [1] | 不適用 | ||||||||||
候选键隐含了每个非平凡的连接依赖关系 | 不適用 | ||||||||||
每个约束都是域约束和键约束的结果 | 不適用 | ||||||||||
每个连接依赖都是平凡的 |
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.