什麼是第三正規化(3NF)
屬於第二正規化,而且沒有經由主鍵以外的欄位而決定之欄位(遞移函數相依)的表格狀態。例如有 員工編號 → 部門代碼 → 部門名稱 這樣的相依時,把部門表格分出即成為第三正規化。
日文名稱: 第3正規形
「第三正規化(3NF)」出現在1領域的2道練習題中(資料庫基礎等)。
這個名詞所屬的領域: 資料庫基礎
屬於第二正規化,而且沒有經由主鍵以外的欄位而決定之欄位(遞移函數相依)的表格狀態。例如有 員工編號 → 部門代碼 → 部門名稱 這樣的相依時,把部門表格分出即成為第三正規化。
日文名稱: 第3正規形
「第三正規化(3NF)」出現在1領域的2道練習題中(資料庫基礎等)。
這個名詞所屬的領域: 資料庫基礎
正確答案:B. 訂單明細(訂單編號, 商品編號, 數量)、訂單(訂單編號, 客戶編號)、客戶(客戶編號, 客戶名稱)
第二正規化是在第一正規化之上,沒有只相依於主鍵一部分之欄位(部分函數相依)的狀態。訂單編號 → 客戶編號 是只由主鍵一部分的訂單編號就決定客戶編號的部分函數相依,因此原本的表格屬於第一正規化,但不屬於第二正規化。把由訂單編號決定的欄位分出成為訂單(訂單編號, 客戶編號, 客戶名稱),就成為第二正規化。第三正規化是在第二正規化之上,沒有經由主鍵以外的欄位而決定之欄位(遞移函數相依)的狀態。訂單表格中仍留有 訂單編號 → 客戶編號 → 客戶名稱 的遞移函數相依,因此再分出客戶(客戶編號, 客戶名稱)。如此一來,訂單明細(訂單編號, 商品編號, 數量)、訂單(訂單編號, 客戶編號)、客戶(客戶編號, 客戶名稱)這3個表格就屬於第三正規化。分開的表格以訂單編號與客戶編號連結,即可還原成原本的表格。
第三正規化是在第二正規化之上,沒有經由主鍵以外的欄位而決定之欄位(遞移函數相依)的狀態。
訂單表格(訂單編號, 商品編號, 數量, 客戶編號, 客戶名稱)的主鍵為{訂單編號, 商品編號},函數相依為 {訂單編…然而,部門名稱是像 員工編號 → 部門代碼 → 部門名稱 這樣,經由不是主鍵的部門代碼而決定的遞移函數相依,因此不屬於第三正規化。
員工表格(員工編號, 姓名, 部門代碼, 部門名稱)的主鍵為員工編號,每個欄位都只有一個值。函數相依為 員工編號 → …