数据库之事务及事务的 ACID 性质
1.什么是事務(wù)
DBMS中的事務(wù)是一系列的數(shù)據(jù)庫操作,是數(shù)據(jù)庫應(yīng)用程序的基本邏輯單元事務(wù)的基本概念
所謂事務(wù)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么都做,要么都不做,是一個不可分割的工作單位。
在關(guān)系數(shù)據(jù)庫中,事務(wù)可以是一條SQL語句、一組SQL語句。
事務(wù)通常由高級數(shù)據(jù)操縱語言或編程語言(如SQL、COBOL、C、C++或Java)書寫的用戶程序的執(zhí)行所引起,由事務(wù)開始與結(jié)束之間執(zhí)行的全體操作組成。事務(wù)的開始與結(jié)束可以用形如 begin transaction 和 end transaction的語句(或函數(shù)調(diào)用)來顯式定義,如果用戶沒有顯式地定義事務(wù),則由DBMS按缺省規(guī)定自動劃分事務(wù)。
2.事務(wù)應(yīng)具有下列四個性質(zhì)(稱為事務(wù)的ACID性質(zhì)):
原子性(Atomicity)
一個事務(wù)對數(shù)據(jù)庫的所有操作,是一個不可分割的工作單元。這些操作要么全部執(zhí)行,要么什么也不做。它由DBMS的事務(wù)管理子系統(tǒng)來實現(xiàn)
一致性(Consistency)
一個事務(wù)獨立執(zhí)行的結(jié)果應(yīng)保持數(shù)據(jù)庫的一致性,即數(shù)據(jù)不會因為事務(wù)的執(zhí)行而遭受破壞。確保單個事務(wù)的一致性是編寫事務(wù)的應(yīng)用程序員的職責。在系統(tǒng)運行時,由DBMS的完整性子系統(tǒng)執(zhí)行測試任務(wù)。
隔離性(Isolation)
在多個事務(wù)并發(fā)執(zhí)行時,系統(tǒng)應(yīng)保證與這些事務(wù)先后單獨執(zhí)行時的結(jié)果一樣,也就是在多個并發(fā)事務(wù)執(zhí)行時,保證執(zhí)行結(jié)果是正確的。隔離性是由DBMS的并發(fā)控制子系統(tǒng)實現(xiàn)的。
持久性(Durability)
一個事務(wù)一旦完成全部操作后,它對數(shù)據(jù)庫的所有更新應(yīng)永久地反映在數(shù)據(jù)庫中。即使以后系統(tǒng)發(fā)生故障,也應(yīng)保留這個事務(wù)執(zhí)行的痕跡。事務(wù)的持久性由DBMS的恢復(fù)管理子系統(tǒng)實現(xiàn)。
總結(jié)
以上是生活随笔為你收集整理的数据库之事务及事务的 ACID 性质的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库之关系模型的组成,特点以及完整性约
- 下一篇: 视图的概念以及使用视图的好处