本頁使用了標題或全文手工轉換

資料庫正規化

維基百科,自由的百科全書
跳至導覽 跳至搜尋
database normalization」的各地常用譯名
中國大陸數據庫規範化
臺灣資料庫正規化
港澳資料庫規範化

資料庫正規化,又稱正規化標準化,是資料庫設計的一系列原理和技術,以減少資料庫中資料冗餘,增進資料的一致性。關係模型的發明者埃德加·科德最早提出這一概念,並於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).