亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SQL SERVER中的事務(wù)處理教學(xué)研究

        2014-11-19 18:50:45張勝
        電腦知識(shí)與技術(shù) 2014年30期
        關(guān)鍵詞:事務(wù)

        張勝

        摘要:數(shù)據(jù)庫中的事務(wù)處理是數(shù)據(jù)庫教學(xué)的重點(diǎn)內(nèi)容,該文結(jié)合SQL Server數(shù)據(jù)庫對(duì) 其特性,執(zhí)行,編寫規(guī)則等做了概括論述,并結(jié)合教學(xué)實(shí)踐,對(duì)相關(guān)注意事項(xiàng)做了簡(jiǎn)要說明,這對(duì)于如何學(xué)好該知識(shí)點(diǎn)具備一定指導(dǎo)意義。

        關(guān)鍵詞:SQL SERVER; 事務(wù); 鎖

        中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)30-7017-02

        事務(wù)的作用是保證一系列的數(shù)據(jù)操作可以全部正確完成,不會(huì)造成數(shù)據(jù)操作到中途未完成而導(dǎo)致數(shù)據(jù)完整性出錯(cuò),鎖的作用是保證數(shù)據(jù)在操作過程中不會(huì)受到任何其他影響,事務(wù)和鎖都是數(shù)據(jù)庫中的重要功能,這里將結(jié)合SQL SERVER數(shù)據(jù)庫談?wù)勈聞?wù)處理部分內(nèi)容。

        1 事務(wù)的特性

        事務(wù)是作為單個(gè)邏輯工作單元執(zhí)行的一系列工作有下列四個(gè)屬性:

        原子性:事務(wù)必須是原子性的工作單元,對(duì)事務(wù)里的操作,要么全都執(zhí)行,要么全不執(zhí)行。

        一致性:事務(wù)完成時(shí),必須使所有數(shù)據(jù)都保持一致狀態(tài),所有規(guī)則都必須應(yīng)用于事務(wù)的修改。

        隔離性:由并發(fā)事務(wù)所做的修改必須與其他并發(fā)事務(wù)所做的修改隔離,事務(wù)在開始時(shí)就會(huì)識(shí)別數(shù)據(jù)所處的狀態(tài),以便發(fā)生錯(cuò)誤時(shí)回滾操作,所以另一個(gè)并發(fā)事務(wù)要么修改它之前的狀態(tài),要么修改他之后的狀態(tài),不能在該事物正在運(yùn)行時(shí)去修改他的狀態(tài)。

        持久性:在事務(wù)完成后,其操作結(jié)果對(duì)于系統(tǒng)的影響應(yīng)該是永久的。

        2 執(zhí)行事務(wù)的注意事項(xiàng)

        1) 在每個(gè)操作之后,都要檢查@@ERROR和@@ROWCOUNT的值。

        因?yàn)锧@ERROR只對(duì)當(dāng)前操作有小,當(dāng)進(jìn)行第二個(gè)操作時(shí),@@ERROR的值就會(huì)被第二個(gè)操作的值取代。@@ROWCOUNT的作用是判斷該操作影響了多少條記錄,當(dāng)使用UPDATE或DELETE進(jìn)行更新或刪除操作時(shí),若沒有符合條件的記錄,那么其所影響的記錄數(shù)為0,但并不出錯(cuò),所以@@ERROR的值也為0.因此,還要檢查@@ROWCOUNT的值,以確定操作是否成功。

        2) 當(dāng)一個(gè)事務(wù)結(jié)束后,緊跟在事務(wù)之后的代碼還可以繼續(xù)執(zhí)行,但出錯(cuò)后不能再回滾事務(wù)了。

        3) 已經(jīng)提交完畢的事務(wù)會(huì)將數(shù)據(jù)寫入數(shù)據(jù)庫,此時(shí)也不能回滾事務(wù)。

        4) 在每個(gè)事務(wù)正在執(zhí)行時(shí),若發(fā)生斷電等意外,則在下次重啟系統(tǒng)后,該事務(wù)會(huì)自動(dòng)回滾。

        5) 無法回滾的語句不能在事務(wù)中使用,如:create database、alter database等。

        3 事務(wù)的工作原理

        事務(wù)在開始時(shí),SQL SERVER就會(huì)將要修改的數(shù)據(jù)鎖定,同時(shí)創(chuàng)建一個(gè)臨時(shí)事務(wù)日志,在該日志里存放要更改的數(shù)據(jù)和更改的過程。事務(wù)未提交時(shí),事務(wù)中所有數(shù)據(jù)操作是臨時(shí)的,一旦發(fā)生數(shù)據(jù)操作失敗,就是用臨時(shí)日志去回滾事務(wù)操作,并解除鎖定。在事務(wù)被成功提交后,數(shù)據(jù)庫九江臨時(shí)事務(wù)日志的內(nèi)容存儲(chǔ)到數(shù)據(jù)庫中,此時(shí)事務(wù)操作完成。

        4 事務(wù)執(zhí)行的模式

        顯式事務(wù):明確定義事務(wù)開始和結(jié)束的事務(wù)。

        自動(dòng)提交事務(wù):這是SQL SERVER DATABASE ENGINE的默認(rèn)事務(wù)方式,每一個(gè)T-SQL語句都可以看成一個(gè)自動(dòng)提交事務(wù)。

        隱式事務(wù):當(dāng)執(zhí)行“SET IMPLICIT_TRANSACTIONS ON”語句后,SQL SERVER將會(huì)進(jìn)入隱式事務(wù)模式,系統(tǒng)將在提交或回滾當(dāng)前事務(wù)后自動(dòng)啟動(dòng)新的事物,不需要再次定義事務(wù)的開始,隱式事務(wù)產(chǎn)生的是一個(gè)連續(xù)的事務(wù)序列。

        5 編寫事務(wù)的規(guī)則

        1) 事務(wù)要盡可能簡(jiǎn)短

        事務(wù)在啟動(dòng)后,DBMS會(huì)在事務(wù)結(jié)束前保留很多資源,以保證事務(wù)的ACID性質(zhì),若在事務(wù)里還要修改數(shù)據(jù),數(shù)據(jù)管理系統(tǒng)還會(huì)使用鎖來保護(hù)修改過的行,其他事務(wù)此時(shí)不能對(duì)這些行進(jìn)行控制,直至事務(wù)結(jié)束,在多用戶系統(tǒng)里,這種過大資源的占有和過長時(shí)間的鎖定,是不可忍受的。

        2) 在事務(wù)中訪問的數(shù)據(jù)量要盡量少。

        這也是基于事務(wù)會(huì)對(duì)數(shù)據(jù)加鎖的理由。

        3) 在事務(wù)處理期間盡量不要請(qǐng)求用戶輸入

        在事務(wù)處理過程中,如果還要等待用戶輸入,事務(wù)占用的所有資源都會(huì)保留相當(dāng)長時(shí)間,會(huì)造成阻塞。

        6 事務(wù)的隔離級(jí)別

        事務(wù)具有隔離性,在同一時(shí)間可以有多個(gè)事務(wù)處理數(shù)據(jù),但每個(gè)數(shù)據(jù)在同一時(shí)刻只能有一個(gè)事務(wù)操作,將數(shù)據(jù)鎖定可以防止其他事務(wù)影響當(dāng)前事務(wù)操作的數(shù)據(jù),但會(huì)影響數(shù)據(jù)庫使用效率。甚至造成死鎖。事務(wù)隔離級(jí)別是用來設(shè)置事務(wù)在讀取數(shù)據(jù)時(shí)的隔離狀態(tài),從而提高數(shù)據(jù)并發(fā)使用效率的一種手段,SQL SERVER中事務(wù)隔離級(jí)別由低到高可分為5個(gè)級(jí)別。

        Read Uncommitted:不隔離數(shù)據(jù),即使在事務(wù)正在使用數(shù)據(jù)的同時(shí),其他事務(wù)也能同時(shí)修改或刪除該數(shù)據(jù)。Read Committed:不允許讀取沒有提交的數(shù)據(jù),這是SQL SERVER的默認(rèn)隔離級(jí)別,由于事務(wù)還沒有提交,數(shù)據(jù)被修改的可能性還很大。REPEATABLE READ:在事務(wù)中鎖定所讀取的數(shù)據(jù)不讓其他程序修改或刪除,如此可以保證在事務(wù)中每次讀取到的數(shù)據(jù)都一致,其他事務(wù)可以在該數(shù)據(jù)表中新增數(shù)據(jù)。Snapshot:快照隔離,可以為讀取數(shù)據(jù)的事務(wù)提供所需數(shù)據(jù)的一個(gè)已提交版本,因此寫入數(shù)據(jù)的事務(wù)不會(huì)阻塞讀取數(shù)據(jù)的事務(wù)。Serializable:將事務(wù)所要用到的數(shù)據(jù)表全部鎖定。

        7 小結(jié)

        本文總結(jié)了在SQL SERVER中事務(wù)處理的基本原理和使用注意事項(xiàng),對(duì)于使用SQL SERVER進(jìn)行數(shù)據(jù)庫教學(xué)的教師具有一定的參考價(jià)值。

        參考文獻(xiàn):

        [1] 朱如龍. SQL Server2005數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)技術(shù)[M].北京:機(jī)械工業(yè)出版社,2006.

        [2] 尹志宇. 數(shù)據(jù)庫原理與應(yīng)用教程[M]. 北京:清華大學(xué)出版社,2013.

        [3] Ramez Eimasri. 數(shù)據(jù)庫系統(tǒng)基礎(chǔ)[M]. 北京:人民郵電出版社, 2009.endprint

        猜你喜歡
        事務(wù)
        “事物”與“事務(wù)”
        基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
        河湖事務(wù)
        SQLServer自治事務(wù)實(shí)現(xiàn)方案探析
        2019年92午夜视频福利| 一区二区三区激情免费视频| 每日更新在线观看av| 熟女熟妇伦av网站| 国产精品久久无码不卡黑寡妇| 开心五月婷婷综合网站| 亚洲中文字幕九色日本| 熟女少妇精品一区二区| 鲁一鲁一鲁一鲁一澡| 超清无码AV丝袜片在线观看| 国产亚洲精品一区二区在线观看| 欧美颜射内射中出口爆在线| 久久精品娱乐亚洲领先| 1精品啪国产在线观看免费牛牛| 亚洲图文一区二区三区四区| 91丝袜美腿亚洲一区二区| 婷婷亚洲久悠悠色悠在线播放| 久久久国产精品樱花网站| av免费在线观看在线观看| 中文字幕亚洲精品一区二区三区| 成人久久久久久久久久久| 综合色天天久久| 高清不卡av在线播放| 4hu四虎永久免费地址ww416| 熟妇人妻无码中文字幕| 人妻少妇人人丰满视频网站| 国产亚洲中文字幕一区| 免费视频成人片在线观看| 国产视频导航| 精品国产97av一区二区三区| 日韩a级精品一区二区| 日出水了特别黄的视频| 午夜福利影院不卡影院| 中文字幕人妻精品一区| 亚洲最大av网站在线观看| 在线观看91精品国产免费免费| 人妻尤物娇呻雪白丰挺| 7194中文乱码一二三四芒果| 亚洲欧美日本| 日韩国产自拍精品在线| 亚洲色图三级在线观看|