網(wǎng)絡(luò)數(shù)據(jù)庫(kù)-12事務(wù)管理基礎(chǔ)_第1頁(yè)
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)-12事務(wù)管理基礎(chǔ)_第2頁(yè)
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)-12事務(wù)管理基礎(chǔ)_第3頁(yè)
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)-12事務(wù)管理基礎(chǔ)_第4頁(yè)
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)-12事務(wù)管理基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

事務(wù)的概念一、事務(wù)概念

事務(wù)是一種機(jī)制、是一種操作序列,它包含了一組數(shù)據(jù)庫(kù)操作命令,這組命令要么全部執(zhí)行,要么全部不執(zhí)行。因此事務(wù)是一個(gè)不可分割的工作邏輯單元。在數(shù)據(jù)庫(kù)系統(tǒng)上執(zhí)行并發(fā)操作時(shí)事務(wù)是作為最小的控制單元來(lái)使用的。這特別適用于多用戶同時(shí)操作的數(shù)據(jù)通信系統(tǒng)。例如:訂票、銀行、保險(xiǎn)公司以及證券交易系統(tǒng)等。

事務(wù)的概念二、事務(wù)屬性

事務(wù)4大屬性:

1

原子性(Atomicity):事務(wù)是一個(gè)完整的操作。

2

一致性(Consistency):當(dāng)事務(wù)完成時(shí),數(shù)據(jù)必須處于一致狀態(tài)。

3

隔離性(Isolation):對(duì)數(shù)據(jù)進(jìn)行修改的所有并發(fā)事務(wù)是彼此隔離的。

4

持久性(Durability):事務(wù)完成后,它對(duì)于系統(tǒng)的影響是永久性的。

事務(wù)的概念三、創(chuàng)建事務(wù)

T-SQL中管理事務(wù)的語(yǔ)句:

1開始事務(wù):begintransaction

2提交事務(wù):committransaction

3回滾事務(wù):rollbacktransaction

事務(wù)的概念事務(wù)分類:

1顯式事務(wù):用begintransaction明確指定事務(wù)的開始。

2隱性事務(wù):打開隱性事務(wù):setimplicit_transactionson,當(dāng)以隱性事務(wù)模式操作時(shí),SQLServler將在提交或回滾事務(wù)后自動(dòng)啟動(dòng)新事務(wù)。無(wú)法描述事務(wù)的開始,只需要提交或回滾事務(wù)。

3自動(dòng)提交事務(wù):SQLServer的默認(rèn)模式,它將每條單獨(dú)的T-SQL語(yǔ)句視為一個(gè)事務(wù)。如果成功執(zhí)行,則自動(dòng)提交,否則回滾。

事務(wù)的例子事務(wù)例一事務(wù)的例子事務(wù)例二并發(fā)控制并發(fā)的影響:(1)更新丟失(2)不可以重復(fù)讀(3)幻讀(4)臟讀并發(fā)控制的類型:悲觀并發(fā)控制樂觀并發(fā)控制事務(wù)隔離級(jí)別READUNCOMMITTEDREADCOMMITTEDREPEATABLEREADSERIALIZABLEcreatetabletable1(achar(5),bchar(5),cchar(5))insertintotable1values('a1','b1','c1')insertintotable1values('a2','b2','c2')insertintotable1values('a3','b3','c3')事務(wù)隔離級(jí)別READUNCOMMITTED:連接一SETTRANSACTIONISOLATIONLEVELREADUNCOMMITTEDselect*fromtable1begintranupdatetable1setc='c'select*fromtable1waitfordelay'00:00:10'--等待秒rollbacktranselect*fromtable1連接二SETTRANSACTIONISOLATIONLEVELREADUNCOMMITTEDprint'臟讀'select*fromtable1if@@rowcount>0beginwaitfordelay'00:00:10'print'不重復(fù)讀'select*fromtable1end事務(wù)隔離級(jí)別READCOMMITTED連接一SETTRANSACTIONISOLATIONLEVELREADCOMMITTEDselect*fromtable1begintranupdatetable1setc='c'select*fromtable1waitfordelay'00:00:10'--等待秒rollbacktranselect*fromtable1連接二SETTRANSACTIONISOLATIONLEVELREADCOMMITTEDprint'臟讀'select*fromtable1if@@rowcount>0beginwaitfordelay'00:00:10'print'不重復(fù)讀'select*fromtable1end事務(wù)隔離級(jí)別REPEATABLEREAD連接一SETTRANSACTIONISOLATIONLEVELREPEATABLEREADbegintranprint'初始'select*fromtable1waitfordelay'00:00:10'--等待秒print'幻像讀'select*fromtable1rollbacktran連接二SETTRANSACTIONISOLATIONLEVELrepeatablereadupdatetable1setc='c2'事務(wù)隔離級(jí)別SERIALIZABLE連接一SETTRANSACTIONISOLATIONLEVELREPEATABLEREADbegintranprint'初始'select*fromtable1waitfordelay'00:00:10'--等待秒print'沒有變化'select*fromtable1rollbacktran連接二SETTRANSACTIONISOLATIONLEVELREPEATABLEREADinserttable1select'a5','b5','c5'事務(wù)隔離級(jí)別SERIALIZABLE連接一SETTRANSACTIONISOLATIONLEVELSERIALIZABLEbegintranprint'初始'select*fromtable1waitfordelay'00:00:10'--等待秒print'沒有變化'select*fromtable1rollbacktran連接二SETTRANSACTIONISOLATIONLEVELSERIALIZABLEinserttable1select'a6','b6','c6'鎖瑣:當(dāng)多個(gè)用戶或應(yīng)用程序同時(shí)訪問同一數(shù)據(jù)時(shí),鎖可以防止這些用戶或應(yīng)用程序同時(shí)對(duì)數(shù)據(jù)進(jìn)行更改,鎖由SQLSERVER2005數(shù)據(jù)庫(kù)引擎在內(nèi)部進(jìn)行管理,根據(jù)用戶采取的操作會(huì)自動(dòng)獲取和釋放鎖死鎖導(dǎo)致死鎖的例子--createtablet1(iint)begintraninsertintot1values(1)updatet2seti=3--createtablet2(iint)begintraninsertintot

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論