事務(wù)是并發(fā)控制的單位,是我們自己定義的一個(gè)操作序列凑耻。這些操作要么都做,要么都不做柠贤,是一個(gè)分
割的工作單位香浩。通過事務(wù),能將邏輯相關(guān)的一組操作綁定在一起臼勉,以便服務(wù)器保持?jǐn)?shù)據(jù)的完整性邻吭。
如:銀行轉(zhuǎn)賬,A用戶賬戶扣完錢后出現(xiàn)異常宴霸,導(dǎo)致B用戶未能收到錢囱晴,此時(shí)不能正常開啟事務(wù)膏蚓,數(shù)據(jù)庫中
數(shù)據(jù)不會(huì)發(fā)現(xiàn)變化,AB賬號(hào)余額不變畸写。
事務(wù)通常是以BEGIN TRANSACTION開始驮瞧,以COMMIT或ROLLBACK結(jié)束。
COMMIT表示提交枯芬,即提交事務(wù)的所有操作论笔。具體地說就是將事務(wù)中所有對(duì)數(shù)據(jù)庫的更新寫回到磁盤上的物理數(shù)據(jù)庫中去,事務(wù)正常結(jié)束千所。
??ROLLBACK表示回滾狂魔,即在事務(wù)運(yùn)行的過程中發(fā)生了某種故障,事務(wù)不能繼續(xù)進(jìn)行真慢,系統(tǒng)將事務(wù)中對(duì)數(shù)據(jù)庫的所有以完成的操作全部撤消毅臊,滾回到事務(wù)開始的狀態(tài)。
事務(wù)的四大特性
1黑界、原子性
事務(wù)是數(shù)據(jù)庫的邏輯工作單位管嬉,事務(wù)中包括的諸操作要么全做,要么全不做朗鸠。
2蚯撩、一致性
事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)。一致性與原子性是密切相關(guān)
的烛占。一般來說修改胎挎、添加、刪除操作是需要開啟事務(wù)的忆家,因?yàn)樗鼈兏淖兞藬?shù)據(jù)庫犹菇,而查詢是不需要開啟事務(wù)
的,因?yàn)閷?duì)數(shù)據(jù)庫沒影響芽卿。
3揭芍、隔離性
一個(gè)事務(wù)的執(zhí)行不能被其他事務(wù)干擾。
4卸例、持續(xù)性/永久性
一個(gè)事務(wù)一旦提交称杨,它對(duì)數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。事務(wù)對(duì)數(shù)據(jù)庫的改動(dòng)其實(shí)就是將游離
態(tài)與瞬時(shí)態(tài)的數(shù)據(jù)庫變成持久態(tài)的數(shù)據(jù)存入數(shù)據(jù)庫筷转。