因?yàn)閷?duì)數(shù)據(jù)庫的四種特性ACID不是很了解
所以記下一邊隨時(shí)翻閱:
A:原子性(Atomicity)
原子性是指事務(wù)包含的所有操作要么全部成功谎碍,要么全部失敗回滾,這和前面兩篇博客介紹事務(wù)的功能是一樣的概念崖面,因此事務(wù)的操作如果成功就必須要完全應(yīng)用到數(shù)據(jù)庫,如果操作失敗則不能對(duì)數(shù)據(jù)庫有任何影響继准。
C:一致性(Consistency)
一致性是指事務(wù)必須使數(shù)據(jù)庫從一個(gè)一致性狀態(tài)變換到另一個(gè)一致性狀態(tài)予弧,也就是說一個(gè)事務(wù)執(zhí)行之前和執(zhí)行之后都必須處于一致性狀態(tài)以躯。
I:隔離性(Isolation)
隔離性是當(dāng)多個(gè)用戶并發(fā)訪問數(shù)據(jù)庫時(shí)槐秧,比如操作同一張表時(shí),數(shù)據(jù)庫為每一個(gè)用戶開啟的事務(wù)忧设,不能被其他事務(wù)的操作所干擾刁标,多個(gè)并發(fā)事務(wù)之間要相互隔離。
即要達(dá)到這么一種效果:對(duì)于任意兩個(gè)并發(fā)的事務(wù)T1和T2址晕,在事務(wù)T1看來膀懈,T2要么在T1開始之前就已經(jīng)結(jié)束,要么在T1結(jié)束之后才開始谨垃,這樣每個(gè)事務(wù)都感覺不到有其他事務(wù)在并發(fā)地執(zhí)行启搂。
D:持續(xù)性(Durability)
持久性是指一個(gè)事務(wù)一旦被提交了硼控,那么對(duì)數(shù)據(jù)庫中的數(shù)據(jù)的改變就是永久性的,即便是在數(shù)據(jù)庫系統(tǒng)遇到故障的情況下也不會(huì)丟失提交事務(wù)的操作胳赌。
例如我們?cè)谑褂肑DBC操作數(shù)據(jù)庫時(shí)牢撼,在提交事務(wù)方法后,提示用戶事務(wù)操作完成疑苫,當(dāng)我們程序執(zhí)行完成直到看到提示后熏版,就可以認(rèn)定事務(wù)以及正確提交,即使這時(shí)候數(shù)據(jù)庫出現(xiàn)了問題捍掺,也必須要將我們的事務(wù)完全執(zhí)行完成撼短,否則就會(huì)造成我們看到提示事務(wù)處理完畢,但是數(shù)據(jù)庫因?yàn)楣收隙鴽]有執(zhí)行事務(wù)的重大錯(cuò)誤挺勿。