初考-統計資料處理大意110 年第 16 題單選題
如果一個關聯表格已經完成正規化,使得關聯模式中每一個功能相依(functional dependencies)決定因素都包含候選鍵(candidate keys),則此表格最高已經達到下列那個正規化形式?
A第一正規化(1NF)
B第二正規化(2NF)
C第三正規化(3NF)
DBoyce-Codd 正規化(BCNF)正確答案
D正確答案
每個 FD 的決定因素都是候選鍵,這正是 BCNF 的定義。
為什麼答案是 D
BCNF 的定義正是:對於每一個非平凡功能相依 X→Y,X 必須是超鍵(候選鍵)。題幹敘述完全對應 BCNF。
載入中…
完整詳解
Pro · 無限重點 每個 FD 的決定因素都是候選鍵,這正是 BCNF 的定義。
看到『決定因素都是候選鍵』→ 直接選 BCNF,這是 BCNF 的教科書定義。
逐選項分析
A✕
1NF 只要求屬性值為原子性(不可再分),與功能相依的決定因素無關,層級太低。
B✕
2NF 要求非主鍵屬性完全相依於候選鍵(消除部分相依),但未要求所有決定因素都是候選鍵。
C✕ 陷阱
3NF 消除遞移相依,允許決定因素不是候選鍵(只要被決定的是主鍵屬性)。比 BCNF 寬鬆,是常見陷阱。
D✓ 正確
BCNF 的定義正是:對於每一個非平凡功能相依 X→Y,X 必須是超鍵(候選鍵)。題幹敘述完全對應 BCNF。
正規化層級速記
| 層級 | 核心要求 | 解決問題 |
|---|
| 1NF | 屬性值原子化 | 重複群組 |
| 2NF | 非鍵屬性完全相依候選鍵 | 部分相依 |
| 3NF | 消除非鍵屬性的遞移相依 | 遞移相依 |
| BCNF | 所有 FD 決定因素皆為候選鍵 | 3NF 殘留異常 |
考生常誤選 3NF,因為 3NF 也會處理相依問題。關鍵差異:3NF 允許『決定因素非候選鍵』的特例(當被決定者是主鍵屬性時),但 BCNF 不允許任何例外,要求所有 FD 的決定因素都是候選鍵。