表的設計原則:
1.在結構良好的表中,每個決定因子都必須是候選鍵。2.非結構良好的表應分解成結構良好的兩個或多個表。
結構良好的表是滿足Boyce-Codd範式(BCNF)的表。
滿足第一範式(first normal form 1NF)的表的特徵:
-行包含實體的數據
-列包含實體屬性的數據
-表中的單元格存儲單個值
-每列的所有實體類型一致
-每列具有唯一名稱
-列的順序任意
-行的順序任意
-任意兩行互不重複
規範化過程:
1.標識表的所有候選鍵。
2.標識表的所有函數依賴。
3.檢查函數依賴的決定因子。如果某決定因子不是候選鍵,則表的結構就不好。此時:
a.把函數依賴的列放在它自己的新表中。
b.把函數依賴的決定因子作爲新表的主鍵。
c.將決定因子的副本作爲原表的外鍵。
d.在新表和原表之間創建參照完整性約束。
4.根據需要,多次重複步驟3,直至每個表的決定因子都是候選鍵。