初考-統計資料處理大意108 年第 45 題單選題
下列何者為資料庫進行二階正規化(2NF)的目的?
A資料表中有主鍵,其他欄位都相依於主鍵
B沒有任何兩筆以上完全重覆的資料
C去除各欄位與主鍵間遞移相依的關係
D去除各欄位與主鍵間部分相依的關係正確答案
D正確答案
2NF 的核心目的是消除「部分相依」,讓非主鍵欄位完全相依於整個主鍵。
為什麼答案是 D
2NF 要求非主鍵欄位必須「完全函數相依」於整個主鍵,若主鍵由多欄位組成且某欄位只依賴其中一部分,即構成部分相依,需拆表消除。
載入中…
完整詳解
Pro · 無限重點 2NF 的核心目的是消除「部分相依」,讓非主鍵欄位完全相依於整個主鍵。
口訣:1NF 去重複、2NF 去部分相依、3NF 去遞移相依。看到「部分」選 2NF,看到「遞移」選 3NF。
逐選項分析
A✕
「有主鍵且其他欄位相依於主鍵」是 1NF 加上關聯式資料表的基本要求,並非 2NF 專屬目的,敘述過於籠統。
B✕ 陷阱
「沒有完全重複的資料列」是第一正規化(1NF)的要求,目的是讓每筆紀錄可被唯一識別,不是 2NF 的重點。
C✕ 陷阱
去除「遞移相依」(transitive dependency) 是第三正規化(3NF)的目的,例如 A→B→C 要拆開。考生最容易把 2NF 與 3NF 搞混。
D✓ 正確
2NF 要求非主鍵欄位必須「完全函數相依」於整個主鍵,若主鍵由多欄位組成且某欄位只依賴其中一部分,即構成部分相依,需拆表消除。
資料庫正規化層級對照
| 層級 | 核心目的 | 處理問題 | 口訣 |
|---|
| 1NF | 欄位不可再分、無重複列 | 重複群組、多值欄位 | 去重複 |
| 2NF | 消除部分相依 | 複合主鍵中僅依賴部分鍵 | 去部分相依 |
| 3NF | 消除遞移相依 | 非鍵欄位間互相依賴 A→B→C | 去遞移相依 |
| BCNF | 所有決定因素皆為候選鍵 | 3NF 仍有的異常 | 最嚴格 |
本題最大陷阱是 C 與 D 的對調。「部分相依」屬 2NF、「遞移相依」屬 3NF,兩者順序對應 2、3 正規化,考生常因只記一半而誤選 C。記住:2 在前對應「部分」,3 在後對應「遞移」。