Never Nop Tech

Never Nop Tech

創造意義,動手去做。

資料庫正規化

第一正規化 1NF

1.有主鍵

2.每個欄位都只能有一個值

從某個角度看來,不允許重複群的出現是關聯式資料庫表示資訊的方法,RDBMS 裡資料表每一筆記錄的每一個欄位都只能有一個值。舉例來說,如果定義了一個叫做 Favorite Number 的整數欄位,每一筆記錄的 Favorite Number 這個欄位都只會是一個整數 (或是無);這也就是說,如果設定了主鍵的話,理論上不可能會有任何關聯式資料庫的資料表會違反第一正規化的原則。

第二正規化 2NF

1.檢查資料表裡的每個欄位,確認它們是不是都和關鍵詞完全相關

它的規則是要求資料表裡的所有資料都要和該資料表的鍵(主鍵與候選鍵)有完全依賴關係:每個非鍵屬性必須獨立於任意一個候選鍵的任意一部分屬性。如果有哪些資料只和一個鍵的一部份有關的話,就得把它們獨立出來變成另一個資料表。如果一個資料表的鍵只有單個欄位的話,它就一定符合第二正規化。

第三正規化 3NF

1.要求所有非鍵屬性都只和候選鍵有相關性,也就是說非鍵屬性之間應該是獨立無關的

要求所有非鍵屬性都只和候選鍵有相關性,也就是說非鍵屬性之間應該是獨立無關的。 (如:小計欄位1000依賴於非主鍵欄位 單價欄位500、數量欄位2)如果再對第三正規化做進一步加強就成了BC正規化,它所強調的重點就在於 “資料間的關係是奠基在鍵上、以整個鍵為考量、而且除了鍵之外不考慮其他因素"。