阿摩線上測驗 登入

申論題資訊

試卷:109年 - 109 專技高考_資訊技師:資料結構與資料庫及資料探勘#93217
科目:資料結構與資料庫及資料探勘
年份:109年
排序:0

申論題內容

三、資料庫管理系統並行控制(Concurrency Control)不佳時可能產生三種資料干擾問題:遺失更新(Lost Update)、未確認相依(Uncommitted Dependency)、不一致分析(Inconsistent Analysis),請說明這三種資料干 擾問題。

詳解 (共 1 筆)

詳解 提供者:hchungw
在資料庫管理系統中,當多個用戶或進程同時訪問相同的數據時,為了確保數據的一致性和完整性,需要進行有效的並行控制。如果並行控制不當,可能會引發以下三種資料干擾問題:
遺失更新(Lost Update):
遺失更新問題發生在兩個或多個事務同時修改同一個數據項目的情況下。在這種情況中,一個事務的更新可能被另一個事務的更新所覆蓋,導致第一個事務的更改完全遺失。例如,如果兩個銀行用戶同時從同一帳戶中取款,而這些操作沒有得到適當的同步處理,那麼最初的一筆取款可能會在最終餘額的計算中被忽略。
未確認相依(Uncommitted Dependency):
這個問題也稱為“髒讀(Dirty Read)”,是指一個事務讀取了另一個未提交事務的中間數據。如果那個事務最終回滾(Rollback),則讀取的數據就會變成無效的。例如,一個事務讀取了另一個事務所增加的記錄,但後者由於某些原因回滾了更改,這樣前者讀取的數據就是不存在的。
不一致分析(Inconsistent Analysis):
這種問題又被稱為“不可重複讀(Non-repeatable Read)”或“幻讀(Phantom Read)”。它發生在一個事務在執行期間多次讀取同一數據時,由於其他事務的介入,導致多次讀取的結果不一致。不可重複讀是指一個事務讀取同一記錄的兩次讀取結果不同,因為在這兩次讀取之間,另一個事務修改了該記錄。幻讀則是指一個事務在執行過程中對同一查詢執行了多次,由於其他事務的插入或刪除操作,導致每次查詢返回的行數不一致。
為了解決這些問題,資料庫管理系統通常實施事務隔離級別(Transaction Isolation Levels),如讀未提交(Read Uncommitted)、讀已提交(Read Committed)、可重複讀(Repeatable Read)和串行化(Serializable)。這些隔離級別透過限制事務之間的可見性和互動,以減少或消除上述的干擾問題。