程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 什麼是數據庫事務

什麼是數據庫事務

編輯:關於MYSQL數據庫

數據庫事務基本概念

什麼是數據庫事務?

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

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

1. 原子性(Atomicity)

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

2. 一致性(Consistency)

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

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

3. 隔離性(Isolation)

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

4. 持久性(Durability)

一個事務一旦成功完成,它對數據庫的改變必須是永久的,即便是在系統遇到故障的情況下也不會丟失。數據的重要性決定了事務持久性的重要性。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved