這篇文章將為大家詳細講解有關(guān)數(shù)據(jù)庫事務(wù)的特性有哪些,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
數(shù)據(jù)庫四大特性分別是:原子性、一致性、分離性、持久性
原子性
事務(wù)的原子性指的是,事務(wù)中包含的程序作為數(shù)據(jù)庫的邏輯工作單位,它所做的對數(shù)據(jù)修改操作要么全部執(zhí)行,要么完全不執(zhí)行。這種特性稱為原子性。
事務(wù)的原子性要求,如果把一個事務(wù)可看作是一個程序,它要么完整的被執(zhí)行,要么完全不執(zhí)行。就是說事務(wù)的操縱序列或者完全應(yīng)用到數(shù)據(jù)庫或者完全不影響數(shù)據(jù)庫。這種特性稱為原子性。
假如用戶在一個事務(wù)內(nèi)完成了對數(shù)據(jù)庫的更新,這時所有的更新對外部世界必須是可見的,或者完全沒有更新。前者稱事務(wù)已提交,后者稱事務(wù)撤消(或流產(chǎn))。DBMS必須確保由成功提交的事務(wù)完成的所有操縱在數(shù)據(jù)庫內(nèi)有完全的反映,而失敗的事務(wù)對數(shù)據(jù)庫完全沒有影響。
一致性
事務(wù)的一致性指的是在一個事務(wù)執(zhí)行之前和執(zhí)行之后數(shù)據(jù)庫都必須處于一致性狀態(tài)。這種特性稱為事務(wù)的一致性。假如數(shù)據(jù)庫的狀態(tài)滿足所有的完整性約束,就說該數(shù)據(jù)庫是一致的。
一致性處理數(shù)據(jù)庫中對所有語義約束的保護。例如,當(dāng)數(shù)據(jù)庫處于一致性狀態(tài)S1時,對數(shù)據(jù)庫執(zhí)行一個事務(wù),在事務(wù)執(zhí)行期間假定數(shù)據(jù)庫的狀態(tài)是不一致的,當(dāng)事務(wù)執(zhí)行結(jié)束時,數(shù)據(jù)庫處在一致性狀態(tài)S2。
分離性
分離性指并發(fā)的事務(wù)是相互隔離的。即一個事務(wù)內(nèi)部的操作及正在操作的數(shù)據(jù)必須封鎖起來,不被其它企圖進行修改的事務(wù)看到。
分離性是DBMS針對并發(fā)事務(wù)間的沖突提供的安全保證。DBMS可以通過加鎖在并發(fā)執(zhí)行的事務(wù)間提供不同級別的分離。假如并發(fā)交叉執(zhí)行的事務(wù)沒有任何控制,操縱相同的共享對象的多個并發(fā)事務(wù)的執(zhí)行可能引起異常情況。
DBMS可以在并發(fā)執(zhí)行的事務(wù)間提供不同級別的分離。分離的級別和并發(fā)事務(wù)的吞吐量之間存在反比關(guān)系。較多事務(wù)的可分離性可能會帶來較高的沖突和較多的事務(wù)流產(chǎn)。流產(chǎn)的事務(wù)要消耗資源,這些資源必須要重新被訪問。因此,確保高分離級別的DBMS需要更多的開銷。
持久性
持久性意味著當(dāng)系統(tǒng)或介質(zhì)發(fā)生故障時,確保已提交事務(wù)的更新不能丟失。即一旦一個事務(wù)提交,DBMS保證它對數(shù)據(jù)庫中數(shù)據(jù)的改變應(yīng)該是永久性的,耐得住任何系統(tǒng)故障。所以,持久性主要在于DBMS的恢復(fù)性能。持久性通過數(shù)據(jù)庫備份和恢復(fù)來保證。
關(guān)于數(shù)據(jù)庫事務(wù)的特性有哪些就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
網(wǎng)頁題目:數(shù)據(jù)庫事務(wù)的特性有哪些-創(chuàng)新互聯(lián)
文章路徑:http://www.ef60e0e.cn/article/dpchgj.html