免費開始練習
調查局三等申論題 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)的核心標準。 【論述】

升級 VIP 解鎖