For faster navigation, this Iframe is preloading the Wikiwand page for 数据库规范化.

数据库规范化

database normalization」的各地常用譯名
中国大陸数据库规范化
臺灣資料庫正規化
港澳資料庫規範化
此條目可参照英語維基百科相應條目来扩充。若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记((Translated page))标签。

数据库规范化,又称正规化标准化,是数据库设计的一系列原理和技术,以减少数据库中数据冗余,增进数据的一致性。关系模型的发明者埃德加·科德最早提出这一概念,并于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. A Normal Form for Preventing Redundant Tuples in Relational Databases (PDF). Proceedings of the 15th International Conference on Database Theory. 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). 
{{bottomLinkPreText}} {{bottomLinkText}}
数据库规范化
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?