4.
對於關聯式資料庫而言,所謂資料完整性(data integrity)是
用來確保資料庫中資料的正確性及可靠 性。下列何者並非關
聯模型所允許定義之完整性限制條件(constraints)?
(A)實體完整性
(B)資料完整性
(C)參照完整性
(D)使用者定義的完整性
統計: A(29), B(114), C(19), D(47), E(0) #3145724
詳解 (共 2 筆)
【解題思路】
考點非常經典:
關聯式資料庫的三大完整性約束(constraints):
-
實體完整性(Entity Integrity)
-
參照完整性(Referential Integrity)
-
使用者定義完整性(User-defined Integrity)
題目問:「哪一個 不是 關聯模型允許的完整性限制?」
選項中只有 (B) 資料完整性 不是正式的 constraint 名稱。
它只是「整體概念」,不是關聯模型的其中一個約束。
所以答案是 (B)。
【為什麼其他選項不正確(逐一破題)】
(A) 實體完整性
正確的完整性約束之一:
主鍵(Primary Key)不得為 NULL、且值不得重複。
(B) 資料完整性
錯!
它是通稱,不是關聯模型定義的三大約束,故為本題答案。
(C) 參照完整性
正確的完整性約束:
外鍵(Foreign Key)必須參照到合法的主鍵值。
(D) 使用者定義的完整性
正確的完整性約束:
使用者自訂規則,如 CHECK、特定業務邏輯等。
【延伸知識】
關聯式資料庫最核心的三大完整性約束:
-
實體完整性(Entity Integrity)
-
主鍵 PK:不能為空(NOT NULL)、不能重複
-
目的:辨識每一筆資料
-
-
參照完整性(Referential Integrity)
-
外鍵 FK 必須參照到存在的主鍵
-
若父表資料刪除,子表資料如何處理?
CASCADE、SET NULL、SET DEFAULT、RESTRICT
-
-
使用者定義完整性(User-defined Integrity)
-
自訂規則
-
例如 CHECK(age ≥ 0)、email 格式、自訂業務規則
-
考試重點是:
資料完整性(data integrity)是大概念,不是 constraint 名稱。
【記憶技巧】
口訣:
實體 → 主鍵
參照 → 外鍵
使用者 → 自訂
資料完整性 → 概念,不是 constraint
更簡化一句話:
主鍵、外鍵、規則三兄弟,沒有「資料完整性」這位成員。
【常見錯誤】
-
把「資料完整性」當成其中一項 constraint
但它只是全部完整性的總稱。 -
把「使用者定義完整性」忽略掉
以為只有主鍵與外鍵,忘記使用者可以自訂規則。 -
視為是「資料庫 vs 資料倉儲」的考題而誤判
本題完全在考關聯模型,不是系統架構。