首先我們需要清楚,所謂資料庫事務就是一串連續的資料庫操作動作,是資料庫執行過程中的乙個邏輯單位。通俗來說,就是一串增刪查改的集合。對於每乙個資料庫事務,它把資料庫從乙個一致的狀態轉換到另乙個一致的狀態,比如資料庫操作前是乙個點,資料庫操作後是乙個點,我們只管這兩個點的狀態,而兩點之間的連線上的狀態我們不管因為他們可能對我們想要的結果產生影響。
1.第乙個特性原子性
假如我們有個方法中對乙個屬性進行了n次的更新,但是執行到一半的時候有乙個語句有問題出現了異常,這樣就可能使得我們上面所說的操作後的點與我們預先的點不同,這不是我們想要的,所以原子性要求你這個方法要麼全部執行成功,要麼你就別執行。
2.第二個特性 一致性
一致性保證了只有事務操作前和事務操作後這兩個狀態,不存在中間態。原子性規定方法中的操作都執行或者都不執行,但並沒有說要所有操作一起執行(一起更新那就亂套了,要哪個結果?),所以操作的執行也是有先後順序的,那我們要是在執行一半時查詢了資料庫,那我們會得到中間的更新的屬性?答案是不會的,一致性規定事務提交前後只存在兩個狀態,提交前的狀態和提交後的狀態,絕對不會出現中間的狀態。
3.第三個特性 隔離性
事務的隔離性基於原子性和一致性,每乙個事務可以併發執行,但是他們互不干擾,但是也有可能不同的事務會操作同乙個資源,這個時候為了保持隔離性會用到鎖方案。
4.第四個特性 永續性
當乙個事務提交了之後那這個資料庫狀態就發生了改變,哪怕是提交後剛寫入一半資料到資料庫中,資料庫宕機(宕機)了,那當你下次重啟的時候資料庫也會根據提交日誌進行回滾,最終將全部的資料寫入。
資料庫四大事務特性
a 原子性 atomic 乙個事務作為乙個最小執行單元,裡面的sql要麼全部執行要麼全部失敗或者回滾 c 一致性 consistency 在一致性狀態下,所有事務對乙個資料的讀取結果都是相同的,例 張三給李四轉賬100元,其他事務要麼看到張三還沒給李四轉賬的狀態,要麼張三已經給李四轉賬成功張三少10...
資料庫事務四大特性
事務的 原子性 一致性 分離性 永續性 1 原子性 事務的原子性指的是,事務中包含的程式作為資料庫的邏輯工作單位,它所做的對資料修改操作要麼全部執行,要麼完全不執行。這種特性稱為原子性。事務的原子性要求,如果把乙個事務可看作是乙個程式,它要麼完整的被執行,要麼完全不執行。就是說事務的操縱序列或者完全...
資料庫事務四大特性
資料庫事務是指作為單個邏輯工作單元執行的一系列操作,這些操作要麼全做要麼全不做,是乙個不可分割的工作單位。資料庫事務的四大特性 簡稱acid 是 事務的原子性指的是,事務中包含的程式作為資料庫的邏輯工作單位,它所做的對資料修改操作要麼全部執行,要麼完全不執行。這種特性稱為原子性。例如銀行取款事務分為...