數據庫事務四大特性

數據庫事務是指做爲單個邏輯工做單元執行的一系列操做,這些操做要麼全作要麼全不作,是一個不可分割的工做單位。數據庫

數據庫事務的四大特性(簡稱ACID)是:
併發

(1) 原子性(Atomicity)

事務的原子性指的是,事務中包含的程序做爲數據庫的邏輯工做單位,它所作的對數據修改操做要麼所有執行,要麼徹底不執行。這種特性稱爲原子性。spa

例如銀行取款事務分爲2個步驟(1)存摺減款(2)提取現金。不可能存摺減款,卻沒有提取現金。2個步驟必須同時完成或者都不完成。對象

(2)一致性(Consistency)   

事務的一致性指的是在一個事務執行以前和執行以後數據庫都必須處於一致性狀態。這種特性稱爲事務的一致性。假如數據庫的狀態知足全部的完整性約束,就說該數據庫是一致的。事務

例如完整性約束a+b=10,一個事務改變了a,那麼b也應隨之改變。ci

(3)分離性(亦稱獨立性Isolation)

分離性指併發的事務是相互隔離的。即一個事務內部的操做及正在操做的數據必須封鎖起來,不被其它企圖進行修改的事務看到。假如併發交叉執行的事務沒有任何控制,操縱相同的共享對象的多個併發事務的執行可能引發異常狀況。it

(4)持久性(Durability)

持久性意味着當系統或介質發生故障時,確保已提交事務的更新不能丟失。即一旦一個事務提交,DBMS保證它對數據庫中數據的改變應該是永久性的,即對已提交事務的更新能恢復。持久性經過數據庫備份和恢復來保證。io