事務是恢復和並發控制的基本單位。
事務應該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為ACID特性。
原子性(atomicity):一個事務是一個不可分割的工作單位,事務中包括的諸操作要么都做,要么都不做。
一致性(consistency):事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態。一致性的定義和完整性約束有關系。這些月數可能包括主鍵約束、外鍵約束以及用戶自定義的約束。事務執行的前后都是合法的數據狀態,不能違背任何的數據完整性。這種完整性體現在業務上就是業務規則的約束,比如業務上要求銀行轉賬前后必須總額一致,從業務的角度來看更容易理解,這也是我們最關心的。
隔離性(isolation):一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對並發的其他事務是隔離的,並發執行的各個事務之間不能互相干擾。
持久性(durability):持久性也稱永久性(permanence),指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該造成其丟失。
