事務是由一組SQL語句組成的邏輯處理單元,事務具有以下4個屬性,通常簡稱為事務的ACID屬性。
ACID是Atomic(原子性)
Consistency(一致性)
Isolation(隔離性)
Durability(持久性)
Atomic(原子性):指整個數據庫事務是不可分割的工作單位。只有使據庫中所有的操作執行成功,才算整個事務成功;事務中任何一個SQL語句執行失敗,那么已經執行成功的SQL語句也必須撤銷,數據庫狀態應該退回到執行事務前的狀態。
Consistency(一致性):指數據庫事務不能破壞關系數據的完整性以及業務邏輯上的一致性。例如對銀行轉帳事務,不管事務成功還是失敗,應該保證事務結束后ACCOUNTS表中Tom和Jack的存款總額為2000元。
Isolation(隔離性):指的是在并發環境中,當不同的事務同時操縱相同的數據時,每個事務都有各自的完整數據空間。
Durability(持久性):指的是只要事務成功結束,它對數據庫所做的更新就必須永久保存下來。即使發生系統崩潰,重新啟動數據庫系統后,數據庫還能恢復到事務成功結束時的狀態。