事務的簡單介紹

事務(Transaction,簡寫爲tx):

在數據庫中,所謂事務是指一組邏輯操作單元,使數據從一種狀態變換到另一種狀態。

 

爲確保數據庫中數據的一致性,數據的操縱應當是離散的成組的邏輯單元:

     當每個邏輯操作單元全部完成時,數據的一致性可以保持,

     而當這個單元中的一部分操作失敗,整個事務應全部視爲錯誤,所有從起始點以後的操作應全部回退(rollBack)到開始狀態。

 

事務的操作:先定義開始一個事務,然後對數據作修改操作,這時如果提交(commit),這些修改就永久地保存下來,如果回退(rollback),數據庫管理系統將放棄您所作的所有修改而回到開始事務時的狀態。

最典型的案例是銀行轉賬,A200塊給BA賬號的錢扣了(-200),B還沒收到錢(+0),這時候停電了(出現異常),銀行應該將扣掉A200塊回退給A,即回到事務的開始狀態。這裏應該把A轉賬(-200)和B收到賬(+200)看成一個整體,只有兩個狀態都完成了,才保證了數據的一致性。

 

這裏提到了數據的一致性,它是事務的屬性之一。

 

事務的ACID屬性:

1. 原子性(Atomicity
原子性是指事務是一個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。 (一損俱損)

2. 一致性(Consistency
事務必須使數據庫從一個一致性狀態變換到另外一個一致性狀態。(數據不被破壞)

3. 隔離性(Isolation:

事務的隔離性是指一個事務的執行不能被其他事務干擾,即一個事務內部的操作及使用的數據對併發的其他事務是隔離的,併發執行的各個事務之間不能互相干擾。

4. 持久性(Durability
持久性是指一個事務一旦被提交,它對數據庫中數據的改變就是永久性的,接下來的其他操作和數據庫故障不應該對其有任何影響

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章