資料庫 事務

2021-07-28 08:01:54 字數 692 閱讀 6777

所謂的事務,它是乙個操作序列,這些 操作要麼都執行,要麼都不執行,它是乙個不可分割的工作單位。所以,事務是資料庫維護資料一致性的單位,在每個事務結束時,都能保持資料一致性。

資料庫事務的存在包含有以下兩個目的:

(1)為資料庫操作序列提供了乙個從失敗中恢復到正常狀態的方法,同時提供了資料庫即使在異常狀態下仍能保持一致性的方法。

(2)當多個應用程式在併發訪問資料庫時,可以在這些應用程式之間提供乙個隔離方法,以防止彼此的操作互相干擾。

並非任意的對資料庫的操作序列都是資料庫事務。資料庫事務擁有以下四個特性,習慣上被稱之為acid特性:

乙個資料庫可能擁有多個訪問客戶端,這些客戶端都可以併發方式訪問資料庫。資料庫中的相同資料可能同時被多個事務訪問,如果沒有採取必要的隔離措施,就會導致各種併發問題,破壞資料的完整性。這些問題可以歸結為5類,包括3類資料讀問題(髒讀、幻象讀和不可重複讀)以及2類資料更新問題(第一類丟失更新和第二類丟失更新):

為了保證並行操作的正確性,dbms的並行控制機制必須提供一定的手段來保證排程是可序列化的。

從理論上講,在某一事務執行時禁止其他事務執行的排程策略一定是可序列化的排程,這也是最簡單的排程策略,但這種方法實際上是不可行的,因為它使使用者不能充分共享資料庫資源。

目前dbms普遍採用封鎖方法(悲觀方法)來保證排程的正確性;即保證並行操作排程的可序列性。除此之外還有其他一些方法,如樂觀方法、時標方法等。

資料庫事務

事件是訪問並可能更新各種資料項的乙個程式執行單元。事件由事務開始與事務結束之間執行的全體操作組成。為了保證資料完整性,資料庫系統需要維護事務的以下性質 原子性 atomicity 事務中的操作要麼全部成功,要麼全部失敗。一致性 consistency 事務執行前後要保持資料庫的一致性。隔離性 iso...

資料庫 事務

資料庫事務 database transaction 是指作為單個邏輯工作單元執行的一系列操作。事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向資料的資源。通過將一組相關操作組合為乙個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程式更加可靠。乙個邏輯工作單元要成...

資料庫事務

這段時間面試,由於基礎不是特別好,遇到一些要筆試的公司。就會表示出來 今天有人問我,資料庫事務 是什麼。我只感覺十分熟悉。但是又說不出所以然。回來找了一下,現在整理記錄 1 定義 資料庫事務 database transaction 是指作為單個邏輯工作單元執行的一系列操作。事務處理可以確保除非事務...