什麼是數據庫事務?

什麼是數據庫事務? 



事務(transaction)是由一系列操作序列構成的程序執行單元,這些操作要麼都做,要麼都不做,是一個不可分割的工作單位。 



數據庫事務的四個基本性質(ACID) 

1. 原子性(Atomicity)

事務的原子性是指事務中包含的所有操作要麼全做,要麼全不做(all or none)。 



2. 一致性(Consistency)

在事務開始以前,數據庫處於一致性的狀態,事務結束後,數據庫也必須處於一致性狀態。 



拿銀行轉賬來說,一致性要求事務的執行不應改變A、B 兩個賬戶的金額總和。如果沒有這種一致性要求,轉賬過程中就會發生錢無中生有,或者不翼而飛的現象。事務應該把數據庫從一個一致性狀態轉換到另外一個一致性狀態。 



3. 隔離性(Isolation)

事務隔離性要求系統必須保證事務不受其他併發執行的事務的影響,也即要達到這樣一種效果:對於任何一對事務T1 和 T2,在事務 T1 看來,T2 要麼在 T1 開始之前已經結束,要麼在 T1 完成之後纔開始執行。這樣,每個事務都感覺不到系統中有其他事務在併發地執行。 



4. 持久性(Durability)

一個事務一旦成功完成,它對數據庫的改變必須是永久的,即便是在系統遇到故障的情況下也不會丟失。數據的重要性決定了事務持久性的重要性。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章