調查局四等申論題
105年
[資訊科學組] 資料庫應用概要
第 二 題
📖 題組:
一、請試述下列名詞之意涵:(每小題 5 分,共 25 分) (一)實體完整性(Entity Integrity) (二)兩階段鎖定(Two Phase Locking, 2PL) (三)部分功能相依(Partial Functional Dependency) (四)開放資料庫互連(Open Database Connectivity, ODBC) (五)樂觀並行控制(Optimistic Concurrency Control)
一、請試述下列名詞之意涵:(每小題 5 分,共 25 分) (一)實體完整性(Entity Integrity) (二)兩階段鎖定(Two Phase Locking, 2PL) (三)部分功能相依(Partial Functional Dependency) (四)開放資料庫互連(Open Database Connectivity, ODBC) (五)樂觀並行控制(Optimistic Concurrency Control)
📝 此題為申論題,共 5 小題
小題 (二)
兩階段鎖定(Two Phase Locking, 2PL)
思路引導 VIP
看到「兩階段鎖定(2PL)」,應先聯想到其目的是為了資料庫並行控制,確保交易執行的「可循序性(Serializability)」。接著精準點出「擴張(取得鎖)」與「收縮(釋放鎖)」兩個不可交錯的階段,並補充其可能導致死結(Deadlock)的特性。
小題 (一)
實體完整性(Entity Integrity)
思路引導 VIP
看到「實體完整性」,應立刻聯想到關聯式資料庫中的「主鍵(Primary Key)」。作答時務必點出兩大核心規則:主鍵不可為空值(Null)且必須唯一(Unique),並舉例說明其識別紀錄的功用。
小題 (三)
部分功能相依(Partial Functional Dependency)
思路引導 VIP
看到「部分功能相依」,應立即聯想到資料庫正規化(Normalization)過程與複合主鍵。作答時需點出其定義(非鍵值屬性僅依賴部分主鍵)、造成的影響(資料冗餘與更新異常),以及它與第二正規化(2NF)的關係,並附上簡單範例以展現理解深度。
小題 (四)
開放資料庫互連(Open Database Connectivity, ODBC)
思路引導 VIP
看到 ODBC,應立刻聯想到它是一個「標準的資料庫存取介面(API)」。作答時需精確點出它的核心目的(解決應用程式與不同異質 DBMS 之間的相容性問題),並說明它如何透過中介的「驅動程式(Driver)」來達成統一存取。
小題 (五)
樂觀並行控制(Optimistic Concurrency Control)
思路引導 VIP
看到「樂觀並行控制」,應立即聯想到與「悲觀鎖定(加鎖)」的對比。作答時需點出「不預先加鎖」、「假設衝突率低」的核心概念,並完整說明其運作的三個階段(讀取、驗證、寫入),最後補充其優缺點與適用場景(讀多寫少)。
兩階段鎖定 (2PL)
💡 將交易鎖定分為擴張與收縮兩階段,確保並行執行的衝突可循序性。
🔗 2PL 交易鎖定生命週期
- 1 擴張階段 — 交易開始,持續請求並持有各種所需的 Lock。
- 2 封鎖點 (Lock Point) — 交易取得所有必要 Lock 的瞬間,為鎖定最高峰。
- 3 收縮階段 — 釋放第一個 Lock 後進入此階,此後嚴禁再取新鎖。
↓
↓
🔄 延伸學習:延伸學習:Strict 2PL 要求所有寫入鎖須持有至交易提交,以避免連鎖撤銷。