數(shù)據(jù)庫事務(wù)是指作為單個邏輯工作單元執(zhí)行的一系列操作,這些操作要么全做要么全不做强品,是一個不可分割的工作單位扶平。
數(shù)據(jù)庫事務(wù)的四大特性(簡稱ACID)是:
(1)?原子性(Atomicity)
事務(wù)的原子性指的是盏触,事務(wù)中包含的程序作為數(shù)據(jù)庫的邏輯工作單位,它所做的對數(shù)據(jù)修改操作要么全部執(zhí)行贮尉,要么完全不執(zhí)行拌滋。這種特性稱為原子性。
例如銀行取款事務(wù)分為2個步驟(1)存折減款(2)提取現(xiàn)金绘盟。不可能存折減款鸠真,卻沒有提取現(xiàn)金。2個步驟必須同時完成或者都不完成龄毡。
(2)一致性(Consistency)
事務(wù)的一致性指的是在一個事務(wù)執(zhí)行之前和執(zhí)行之后數(shù)據(jù)庫都必須處于一致性狀態(tài)吠卷。這種特性稱為事務(wù)的一致性。假如數(shù)據(jù)庫的狀態(tài)滿足所有的完整性約束沦零,就說該數(shù)據(jù)庫是一致的祭隔。
例如完整性約束a+b=10,一個事務(wù)改變了a路操,那么b也應(yīng)隨之改變疾渴。
(3)分離性(亦稱獨(dú)立性Isolation)
分離性指并發(fā)的事務(wù)是相互隔離的。即一個事務(wù)內(nèi)部的操作及正在操作的數(shù)據(jù)必須封鎖起來屯仗,不被其它企圖進(jìn)行修改的事務(wù)看到搞坝。假如并發(fā)交叉執(zhí)行的事務(wù)沒有任何控制,操縱相同的共享對象的多個并發(fā)事務(wù)的執(zhí)行可能引起異常情況魁袜。
(4)持久性(Durability)
持久性意味著當(dāng)系統(tǒng)或介質(zhì)發(fā)生故障時桩撮,確保已提交事務(wù)的更新不能丟失。即一旦一個事務(wù)提交峰弹,DBMS保證它對數(shù)據(jù)庫中數(shù)據(jù)的改變應(yīng)該是永久性的店量,即對已提交事務(wù)的更新能恢復(fù)。持久性通過數(shù)據(jù)庫備份和恢復(fù)來保證鞠呈。