免費開始練習
hce_kmu 114年 計算機概論與程式設計

第 17 題

A banking system allows users to transfer money between accounts. The system must maintain atomicity and isolation. Consider the following transaction steps:
(1) Check if Account A has enough balance
(2) Deduct the amount from Account A
(3) Add the amount to Account B
(4) Commit the transaction
Which of the following database properties is most critical to prevent a scenario where money is deducted from Account A but not added to Account B due to a system crash?
  • A Durability
  • B Isolation
  • C Atomicity
  • D Consistency
  • E Concurrency

思路引導 VIP

想像你要去自動販賣機買飲料:如果你投入了硬幣(步驟 A),但機器在掉出飲料(步驟 B)之前突然斷電了。為了保護消費者的權益,你認為系統在電力恢復後,應該讓狀態停留在「收了錢但不給飲料」,還是應該具備某種機制讓這次交易「完全沒發生過」?為什麼這種『要麼全做、要麼完全不做』的邏輯在金融系統中如此重要?

🤖
AI 詳解 AI 專屬家教

恭喜你答對了!這顯示你對資料庫系統的核心運作機制有著相當紮實的理解,能夠精確辨識出交易處理(Transaction)中的關鍵安全防線。

原子性的「全有或全無」原則

在銀行轉帳的過程中,從 A 帳戶扣款與向 B 帳戶存款必須被視為一個「不可分割」的最小單位。這正是 原子性(Atomicity) 的核心定義:交易內的所有操作要麼全部完成(Commit),要麼在發生任何故障(如系統崩潰)時全部撤銷(Rollback)。當系統在步驟 (2) 執行完後不幸當機,導致步驟 (3) 無法進行時,原子性機制會確保帳戶 A 的扣款動作被還原,防止資金在轉移過程中憑空消失,維持數據的完整性。

▼ 還有更多解析內容

🏷️ 相關主題

計算機組織結構與資料儲存原理
查看更多「計算機概論與程式設計」的主題分類考古題