數(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ù)庫中對所有語義約束的保護。例如,當數(shù)據(jù)庫處于一致性狀態(tài)S1時,對數(shù)據(jù)庫執(zhí)行一個事務(wù),在事務(wù)執(zhí)行期間假定數(shù)據(jù)庫的狀態(tài)是不一致的,當事務(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需要更多的開銷。
持久性
持久性意味著當系統(tǒng)或介質(zhì)發(fā)生故障時,確保已提交事務(wù)的更新不能丟失。即一旦一個事務(wù)提交,DBMS保證它對數(shù)據(jù)庫中數(shù)據(jù)的改變應(yīng)該是永久性的,耐得住任何系統(tǒng)故障。所以,持久性主要在于DBMS的恢復(fù)性能。持久性通過數(shù)據(jù)庫備份和恢復(fù)來保證。
總結(jié)
以上就是本文淺談數(shù)據(jù)庫四大特性的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:oracle數(shù)據(jù)庫導入導出命令解析、淺談oracle rac和分布式數(shù)據(jù)庫的區(qū)別、oracle 數(shù)據(jù)庫啟動階段分析等,如有不足之處,歡迎留言指出,小編會及時回復(fù)大家并修改,努力給廣大編程愛好者提供一個更好的閱讀體驗和優(yōu)質(zhì)文章供參考。
新聞熱點
疑難解答
圖片精選