資料庫事務四大特性是什麼?

SQL資料庫運維發表於2022-03-20

資料庫事務 ( transaction)是訪問並可能操作各種資料項的一個資料庫操作序列, 這些操作要麼全部執行,要麼全部不執行,它是一個不可分割的工作單位 。事務由事務開始與事務結束之間執行的全部資料庫操作組成。

在資料庫系統中, 事務是工作的離散單位 ,它可以是修改一個使用者的賬戶餘額,也可以是庫存項的寫操作。

資料庫事務是一個邏輯上的劃分 ,有的時候並不是很明顯,它可以是一個操作步驟也可以是多個操作步驟。

性質( 必須滿足所謂的ACID屬

1、 原子性(Atomicity) :事務中的全部操作在資料庫中是不可分割的,要麼全部完成,要麼全部不執行。 不存在拆分開來,部分成功的場景。 它不會結束停留在中間某個中間環節。如果事務在執行過程中發生錯誤,會被回滾到事務開始前的狀態,如同這個事務從來沒有執行過一樣。

2、 一致性(Consistency) :幾個並行執行的事務,其執行結果必須與按某一順序 序列執行的結果相一致。 所謂的一致性指的是資料庫中的約束不會被打破,這種約束指兩部分,第一資料庫的約束,如金額不能為負值,外來鍵的約束;第二業務的約束,金額的轉出的總額和轉入的總額必須要相等。

3、 隔離性(Isolation) :事務的執行不受其他事務的干擾,事務執行的中間結果對其他事務必須是透明 的,也就是多個併發事務之間操作是隔離的。

4、 永續性(Durability) :對於任意已提交事務,系統必須保證該事務對資料庫的改變不被丟失,即使資料庫出現故障。

作用

一個資料庫事務通常包含了一個序列的對資料庫的讀/寫操作。它的存在包含有以下兩個目的:

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

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

瞭解更多資料庫相關知識,可關注個人微信公眾號“SQL資料庫運維”,不定時更新你可能需要的文章!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70015404/viewspace-2877246/,如需轉載,請註明出處,否則將追究法律責任。

相關文章