真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

數(shù)據(jù)庫(kù)中事務(wù)的定義-創(chuàng)新互聯(lián)

這篇文章主要介紹“數(shù)據(jù)庫(kù)中事務(wù)的定義”,在日常操作中,相信很多人在數(shù)據(jù)庫(kù)中事務(wù)的定義問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”數(shù)據(jù)庫(kù)中事務(wù)的定義”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是成都創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對(duì)成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無(wú)止境。

假設(shè)用戶A要從他的賬戶里面給B轉(zhuǎn)賬1000元,那么就需要兩步來(lái)實(shí)現(xiàn),首先從A的賬號(hào)減去1000元,再給B賬號(hào)加1000元。這兩個(gè)步驟中,任何一步都不能少或者出錯(cuò),這兩步要么都得到成功操作完成,要么什么都不做,中途出錯(cuò)也要回滾到轉(zhuǎn)賬開(kāi)始之前的狀態(tài)。這樣的一個(gè)過(guò)程就是我們經(jīng)常說(shuō)的事務(wù)。根據(jù)這個(gè)例子,下來(lái)我們就給事務(wù)定義如下:

事務(wù)的定義

事務(wù)(transaction)是為了保證數(shù)據(jù)的一致性和完整性,由一系列數(shù)據(jù)操作或指令組成的一個(gè)不可分割的邏輯單元,這些操作或指令要么全都得到執(zhí)行,要么全都不執(zhí)行。如果事務(wù)成功執(zhí)行,則該事務(wù)中對(duì)所有數(shù)據(jù)所做的更改均會(huì)成為數(shù)據(jù)庫(kù)中持久性更改;如果事務(wù)執(zhí)行過(guò)程中遇到錯(cuò)誤,則所有執(zhí)行的操作和更改均應(yīng)得到取消,回滾到事務(wù)執(zhí)行前的狀態(tài)。從定義看,事務(wù)應(yīng)該滿足四個(gè)屬性,即ACID,也就是原子性、一致性、隔離性、持久性。

原子性(Atomicity,或稱不可分割性):事務(wù)中的所有操作,要么全部都成功執(zhí)行,要么全部都沒(méi)有執(zhí)行完成。這種不可中斷的一系列操作就是原子性。轉(zhuǎn)賬過(guò)程中,A賬號(hào)減去1000元和B賬號(hào)加1000元,必須都得到執(zhí)行,或者都不執(zhí)行,否則都不符合邏輯和實(shí)際情況。

一致性(Consistency):事務(wù)開(kāi)始之前和事務(wù)完成以后,所有相關(guān)的數(shù)據(jù)狀態(tài)都會(huì)保持一致,不會(huì)使數(shù)據(jù)庫(kù)的完整性得到破壞。原子性會(huì)確保數(shù)據(jù)保持一致性,轉(zhuǎn)賬過(guò)程產(chǎn)生中斷,第一步執(zhí)行了,第二步?jīng)]有執(zhí)行,這個(gè)時(shí)候,只是A賬號(hào)少了1000元,而B賬號(hào)沒(méi)有加1000元,這個(gè)時(shí)候,數(shù)據(jù)就不一致了。

隔離性(Isolation,又稱獨(dú)立性):數(shù)據(jù)庫(kù)中多個(gè)并發(fā)事務(wù)同時(shí)執(zhí)行時(shí),一個(gè)事務(wù)的執(zhí)行不能受到其他事務(wù)的干擾,也就是說(shuō),一個(gè)事務(wù)內(nèi)的操作和使用的數(shù)據(jù)對(duì)其他事務(wù)是隔離的,不會(huì)受到其他并發(fā)的事務(wù)影響。例如:事務(wù)查看數(shù)據(jù)所處的狀態(tài),要么是另一個(gè)并發(fā)事務(wù)的修改之前的狀態(tài),要么就是另一個(gè)事務(wù)修改之后的狀態(tài),不會(huì)是中間狀態(tài)的數(shù)據(jù)。

持久性(Durability):事務(wù)執(zhí)行完后,對(duì)數(shù)據(jù)的修改就是永久的,即便系統(tǒng)出現(xiàn)故障,不會(huì)產(chǎn)生回滾,也不會(huì)影響到執(zhí)行結(jié)果。

事務(wù)的運(yùn)行模式

通常,事務(wù)以3種模式運(yùn)行,他們分別是:自動(dòng)提交事務(wù)、顯式事務(wù)和隱式事務(wù)。

1.自動(dòng)提交事務(wù)

每一條單獨(dú)的SQL語(yǔ)句都在其執(zhí)行完成后進(jìn)行自動(dòng)提交事務(wù),即執(zhí)行SQL語(yǔ)句后就會(huì)馬上自動(dòng)隱式執(zhí)行COMMIT操作。如果出現(xiàn)錯(cuò)誤,則進(jìn)行事務(wù)回滾至之前狀態(tài)。

2.顯式事務(wù)

通過(guò)指定事務(wù)開(kāi)始語(yǔ)句來(lái)顯式開(kāi)啟事務(wù)來(lái)作為開(kāi)始,并由以提交命令或者回滾命令來(lái)提交或者回滾事務(wù)作為結(jié)束的一段代碼就是一個(gè)用戶定義的顯式事務(wù)。

3.隱式事務(wù)

在隱式事務(wù)中,無(wú)需使用BEGINTRANASACTION來(lái)開(kāi)啟事務(wù),每個(gè)SQL語(yǔ)句第一次執(zhí)行就會(huì)開(kāi)啟一個(gè)事務(wù),直到用COMMIT[TRANSACTION]來(lái)提交或者ROLLBACK[TRANSACTION]來(lái)回滾結(jié)束事務(wù)。

在ORACLE、MYSQL和SQLSERVER中,這幾種模式的開(kāi)啟和關(guān)閉方式都有著自己不同的命。

到此,關(guān)于“數(shù)據(jù)庫(kù)中事務(wù)的定義”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


文章標(biāo)題:數(shù)據(jù)庫(kù)中事務(wù)的定義-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://weahome.cn/article/iejjp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部