免費開始練習
調查局三等申論題 109年 [資訊科學組] 資料庫應用

第 一 題

📖 題組:
有關資料庫交易(Transaction)管理與同步控制,請回答下列問題:
📝 此題為申論題,共 2 小題

小題 (一)

在資料庫的交易(Transaction)管理中何謂序列排程(Serial Schedule)?符合序列排程對資料庫有何影響?又何謂可循序列排程(Serializable Schedule)?兩者關係為何?(10分)

思路引導 VIP

看到此題應直覺聯想到交易的「隔離性(Isolation)」與並行控制。解題時先明確定義「序列排程(無交錯)」與「可循序列排程(有交錯但結果等價於序列排程)」,接著論述序列排程雖然絕對正確但效能極差的影響,最後比較兩者「兼顧正確性與並行效能」的實務關係。

🤖
AI 詳解
AI 專屬家教

【破題】 在資料庫的交易管理中,排程(Schedule)的設計是為了在「確保資料一致性」與「提升系統並行處理效能」之間取得平衡,序列排程與可循序列排程即是衡量此平衡的重要基礎概念。 【論述】

小題 (二)

在同步控制中結果等價(Result Equivalent)與衝突等價(Conflict Equivalent)意義上有何差異?並請說明下列二個排程是否具備衝突等價及說明原因,其中 T1與 T2代表不同的兩個交易,read()代表讀取資料,write()代表寫入資料,→代表事件執行先後順序。(15分)
Schedule A: T1:read(x) → T1:read(y) → T2:read(x) → T1:write(x) → T1:write(y) → T2:write(x) → T1:commit → T2:read(y) → T2:write(y) →T2:commit
Schedule B: T1:read(x) → T1:read(y) → T1:write(x) → T2:read(x) → T1:write(y) → T2:read(y) → T1:commit → T2:write(x) → T2:write(y) →T2:commit

思路引導 VIP

遇到同步控制題,首先釐清「結果等價」(最終狀態相同)與「衝突等價」(衝突操作順序相同)的理論定義。接著分析排程,抓出「不同交易、操作同資料、至少一寫入」的衝突操作組合,比對兩個排程中這些衝突對的相對先後順序是否完全一致即可得證。

🤖
AI 詳解
AI 專屬家教

【破題】 結果等價著重於排程執行後的最終資料狀態相同,而衝突等價則要求排程內部所有衝突操作的執行先後順序完全一致,後者為資料庫系統評估排程可串列性(Serializability)的核心標準。 【論述】

📝 資料庫交易排程管理
💡 以序列排程為一致性基準,追求可循序列化之執行效能。
比較維度 序列排程 VS 可循序列排程
指令執行 完全不交錯 允許多交易交錯
系統效能 極低(資源閒置) 高(具並行性)
資料正確性 絕對保證 保證(與序列等價)
實務定位 理論正確基準 現代資料庫目標
💬可循序列化在維持資料一致性的同時,大幅提升了系統的並行處理效率。
🧠 記憶技巧:序列一條龍、效能快入冬;可循交錯走、正確效率有。
⚠️ 常見陷阱:易誤解可循序列排程「必須」是循序的,實際上其核心在於「結果等價」而非執行順序。
二階段鎖定 (2PL) 交易 ACID 特性 並行異常 (Lost Update)

🏷️ AI 記憶小卡 VIP

AI 記憶小卡

升級 VIP 解鎖記憶小卡

考前複習神器,一眼掌握重點

🏷️ 相關主題

資料庫交易管理與並行控制機制
查看更多「[資訊科學組] 資料庫應用」的主題分類考古題