一. 事務的定義
事務是訪問並可能更新各種資料項的乙個操作集合。該集合是乙個不可分割的整體,即集合中的操作要麼全部執行成功要麼全部未成功,不存在部分執行成功部分執行失敗的最終結果。
二. 事務的性質
1. 原子性:事務中的多個操作要麼全部執行成功,要麼全部未成功(與全部未執行一樣)。
2. 一致性:事務執行前與執行後資料庫保持一致性。即事務涉及到的所有資料項的總量在事務執行之前和事務執行後保持一致。
3. 隔離性:多個事務併發的執行,每個事務不會感知到其他事務的存在。即多個事務在執行的時候不會相互影響。
4. 永續性:即事務成功之後,事務對資料庫的改變必須是永久性的。
三. 單個事務執行過程的各個狀態
1. 活動狀態:開啟事務,事務正在執行。
2. 部分提交狀態:最後一條操作語句執行完成後,commit之前。
3. 失敗狀態:正常執行中遇到錯誤,執行不能繼續。
4. 中止狀態:事務被回滾且資料庫已經恢復到事務執行前的狀態。
5. 提交狀態:事務執行完成且成功commit。
四. 事務的排程
1. 可恢復排程:對於一對事務t1和t2,如果t2讀取t1所寫的資料,則t1要先於t2提交。
2. 無級聯排程:對於一對事務t1和t2,如果t2讀取t1所寫的資料,則t1必須在t2讀操作前提交。
五. 事務的隔離級別
1. 可序列化:序列化排程。
2. 可重複讀:指允許讀取已提交資料,且在乙個事務兩次讀取同乙個資料項期間,其他事務不得更新該資料。
3. 已提交讀:只允許讀取已提交資料,不要求重複讀。
4. 未提交讀:允許讀取未提交資料。
資料庫之事務
事務是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是個不可分割的工作單位。如果某一事務成功,則在該事務中進行的所有資料更改均會提交,成為資料庫中永久的組成部分。如果事務遇到錯誤,則必須取消或回滾,所有資料均被更改清除。1 原子性 atomicity 事務是資料庫的邏輯工...
資料庫之事務
概述 事務一般是指要做的或所做的事情。在計算機術語中是指訪問並可能更新資料庫中各種資料項的乙個程式執行單元 unit 特徵 事務具有4個基本特徵,分別是 原子性 atomicity 一致性 consistency 隔離性 isolation 永續性 duration 簡稱acid。原子性事務的原子性...
資料庫 之 事務
本文將以mysql為主分析 在mysql中只有使用了innodb資料庫引擎的資料庫或表才支援事務 事務處理可以用來維護資料庫的完整性,保證成批的sql語句要麼全部執行,要麼全部不執行 事務用來管理insert update delete語句。事務必須滿足4個條件acid a atomicity 原子...