1.原子性 事務(wù)的原子性指的是,事務(wù)中包含的程序作為數(shù)據(jù)庫的邏輯工作單位,它所做的對(duì)數(shù)據(jù)修改操作要么全部執(zhí)行,要么完全不執(zhí)行。這種特性稱為原子性。 事務(wù)的原子性要求,如果把一個(gè)事務(wù)可看作是一個(gè)程序,它要么完整的被執(zhí)行,要么完全不執(zhí)行。就是說事
1.原子性
事務(wù)的原子性指的是,事務(wù)中包含的程序作為數(shù)據(jù)庫的邏輯工作單位,它所做的對(duì)數(shù)據(jù)修改操作要么全部執(zhí)行,要么完全不執(zhí)行。這種特性稱為原子性。
事務(wù)的原子性要求,如果把一個(gè)事務(wù)可看作是一個(gè)程序,它要么完整的被執(zhí)行,要么完全不執(zhí)行。就是說事務(wù)的操縱序列或者完全應(yīng)用到數(shù)據(jù)庫或者完全不影響數(shù)據(jù)庫。這種特性稱為原子性。
假如用戶在一個(gè)事務(wù)內(nèi)完成了對(duì)數(shù)據(jù)庫的更新,這時(shí)所有的更新對(duì)外部世界必須是可見的,或者完全沒有更新。前者稱事務(wù)已提交,后者稱事務(wù)撤消(或流產(chǎn))。DBMS必須確保由成功提交的事務(wù)完成的所有操縱在數(shù)據(jù)庫內(nèi)有完全的反映,而失敗的事務(wù)對(duì)數(shù)據(jù)庫完全沒有影響。
事務(wù)里面的操作要不都執(zhí)行,要不全部不執(zhí)行
2.一致性
事務(wù)的一致性指的是在一個(gè)事務(wù)執(zhí)行之前和執(zhí)行之后數(shù)據(jù)庫都必須處于一致性狀態(tài)。這種特性稱為事務(wù)的一致性。假如數(shù)據(jù)庫的狀態(tài)滿足所有的完整性約束,就說該數(shù)據(jù)庫是一致的。
一致性處理數(shù)據(jù)庫中對(duì)所有語義約束的保護(hù)。假如數(shù)據(jù)庫的狀態(tài)滿足所有的完整性約束,就說該數(shù)據(jù)庫是一致的。例如,當(dāng)數(shù)據(jù)庫處于一致性狀態(tài)S1時(shí),對(duì)數(shù)據(jù)庫執(zhí)行一個(gè)事務(wù),在事務(wù)執(zhí)行期間假定數(shù)據(jù)庫的狀態(tài)是不一致的,當(dāng)事務(wù)執(zhí)行結(jié)束時(shí),數(shù)據(jù)庫處在一致性狀態(tài)S2。
事務(wù)執(zhí)行之前和執(zhí)行之后數(shù)據(jù)庫的狀態(tài)保持一致
3.分離性
分離性指并發(fā)的事務(wù)是相互隔離的。即一個(gè)事務(wù)內(nèi)部的操作及正在操作的數(shù)據(jù)必須封鎖起來,不被其它企圖進(jìn)行修改的事務(wù)看到。
分離性是DBMS針對(duì)并發(fā)事務(wù)間的沖突提供的安全保證。DBMS可以通過加鎖在并發(fā)執(zhí)行的事務(wù)間提供不同級(jí)別的分離。假如并發(fā)交叉執(zhí)行的事務(wù)沒有任何控制,操縱相同的共享對(duì)象的多個(gè)并發(fā)事務(wù)的執(zhí)行可能引起異常情況。
DBMS可以在并發(fā)執(zhí)行的事務(wù)間提供不同級(jí)別的分離。分離的級(jí)別和并發(fā)事務(wù)的吞吐量之間存在反比關(guān)系。較多事務(wù)的可分離性可能會(huì)帶來較高的沖突和較多的事務(wù)流產(chǎn)。流產(chǎn)的事務(wù)要消耗資源,這些資源必須要重新被訪問。因此,確保高分離級(jí)別的DBMS需要更多的開銷。
并發(fā)的事務(wù)中對(duì)各自事務(wù)的操作不受影響
4.永久性
持久性意味著當(dāng)系統(tǒng)或介質(zhì)發(fā)生故障時(shí),確保已提交事務(wù)的更新不能丟失。即一旦一個(gè)事務(wù)提交,DBMS保證它對(duì)數(shù)據(jù)庫中數(shù)據(jù)的改變應(yīng)該是永久性的,耐得住任何系統(tǒng)故障。持久性通過數(shù)據(jù)庫備份和恢復(fù)來保證。
事務(wù)對(duì)數(shù)據(jù)庫的操作是永久性的.
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com