當前位置:首頁 » 數據倉庫 » 資料庫事務acid
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

資料庫事務acid

發布時間: 2023-01-16 20:15:25

資料庫中的事務(Transaction)的ACID指的是什麼

事務是由一組SQL語句組成的邏輯處理單元,事務具有以下4個屬性,通常簡稱為事務的ACID屬性。
ACID是Atomic(原子性)
Consistency(一致性)
Isolation(隔離性)
Durability(持久性)的英文縮寫。

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

㈡ 資料庫系統中事務的ACID原則是什麼啊

事務的原子性、一致性、獨立性及持久性
事務的原子性是指一個事務要麼全部執行,要麼不執行.也就是說一個事務不可能只執行了一半就停止了.比如你從取款機取錢,這個事務可以分成兩個步驟:1劃卡,2出錢.不可能劃了卡,而錢卻沒出來.這兩步必須同時完成.要麼就不完成.
事務的一致性是指事務的運行並不改變資料庫中數據的一致性.例如,完整性約束了a+b=10,一個事務改變了a,那麼b也應該隨之改變.
事務的獨立性是指兩個以上的事務不會出現交錯執行的狀態.因為這樣可能會導致數據不一致.
事務的持久性是指事務運行成功以後,就系統的更新是永久的.不會無緣無故的回滾.

㈢ Java資料庫里,事務的ACID是指什麼

ACID,指資料庫事務正確執行的四個基本要素的縮寫。包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)、持久性(Durability)。

㈣ 資料庫操作的時候,什麼情況下需要用到事務

當資料庫需要處理操作量大、復雜度高的數據的時候需要用到事務。用事務是為了保證資料庫的完整性,保證成批的 SQL 語句要麼全部執行,要麼全部不執行。

一個資料庫事務通常包含了一個序列的對資料庫的讀/寫操作。它的存在包含有以下兩個目的:

1、為資料庫操作序列提供了一個從失敗中恢復到正常狀態的方法,同時提供了資料庫即使在異常狀態下仍能保持一致性的方法。

2、當多個應用程序在並發訪問資料庫時,可以在這些應用程序之間提供一個隔離方法,以防止彼此的操作互相干擾。

當事務被提交給了資料庫管理系統,則資料庫管理系統需要確保該事務中的所有操作都成功完成且其結果被永久保存在資料庫中,如果事務中有的操作沒有成功完成,則事務中的所有操作都需要被回滾,回到事務執行前的狀態;同時,該事務對資料庫或者其他事務的執行無影響,所有的事務都好像在獨立的運行。

(4)資料庫事務acid擴展閱讀:

資料庫事務ACID性質:

1、原子性(Atomicity):事務作為一個整體被執行,包含在其中的對資料庫的操作要麼全部被執行,要麼都不執行。

2、一致性(Consistency):事務應確保資料庫的狀態從一個一致狀態轉變為另一個一致狀態,一致狀態的含義是資料庫中的數據應滿足完整性約束。

3、隔離性(Isolation):多個事務並發執行時,一個事務的執行不應影響其他事務的執行。

4、持久性(Durability):已被提交的事務對資料庫的修改應該永久保存在資料庫中。

參考資料來源:

網路-資料庫事務

網路-資料庫

㈤ 什麼是事務的acid性質

ACID,是指在資料庫管理系統(DBMS)中事務所具有的四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation,又稱獨立性)、持久性(Durability)。
在資料庫系統中,一個事務是指由一系列資料庫操作組成的一個完整的邏輯過程。例如銀行轉帳,從原賬戶扣除金額,以及向目標賬戶添加金額,這兩個資料庫操作的總和構成一個完整的邏輯過程,不可拆分。這個過程被稱為一個事務,具有ACID特性。
1)原子性:
整個事務中的所有操作,要麼全部完成,要麼全部不完成,不可能停滯在中間某個環節。事務在執行過程中發生錯誤,會被回滾(Rollback)到事務開始前的狀態,就像這個事務從來沒有執行過一樣。
比如說,一個事務開始更新100行記錄,但是在更新了20行之後(因為某種原因)失敗了,那麼此時資料庫會回滾(撤銷)對那20條記錄的修改。

2)一致性:
在事務開始之前和事務結束以後,資料庫的完整性約束沒有被破壞。
事務將資料庫從一個一致性狀態帶入另一個一致性狀態。 比如說,在一個銀行事務(在描述關系資料庫事務的特性時,基本上都是用銀行事務來作為描述對象的)中,需要從存儲賬戶扣除款項,然後在支付賬戶中增加款項。 如果在這個中轉的過程發生了失敗,那麼絕對不能讓資料庫只執行其中一個賬戶的操作,因為這樣會導致數據處於不一致的狀態(這樣的話,銀行的賬目上,借貸就不平衡了)。
如果資料庫系統運行中發生故障,有些事物尚未完成就被迫中斷了,系統就將此事務中對資料庫的所有已經完成的操作全部撤銷,滾回到事務開始時的一致狀態。

3)隔離性:
兩個事務的執行是互不幹擾的,一個事務不可能看到其他事務運行時,中間某一時刻的數據。
這個特性是說,直到事務結束時(commit/rollback),其他事務(或者會話)對此事務所操作的數據都不可見(但並不是說其他會話的讀取會被阻塞)。 比如說,一個用戶正在修改hr.employees表,但是沒有提交,那麼其他用戶在這個修改沒有提交之前是看不到這個修改的。

4)持久性:
在事務完成以後,該事務所對資料庫所作的更改便持久的保存在資料庫之中,並不會被回滾。
指的是只要事務成功結束,它對資料庫所做的更新就必須永久保存下來。即使發生系統崩潰,重新啟動資料庫系統後,資料庫還能恢復到事務成功結束時的狀態。
被提交的更改會永久地保存到資料庫中(並不是說以後就不可以修改)。 事務提交之後,資料庫必須通過「恢復機制」來確保事務更改的數據不會丟失。