999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

《數據庫原理》并發控制教學案例設計

2017-12-09 23:20:59王玨徐靜吳瓊金莉羅海艷
科技視界 2017年23期

王玨+徐靜+吳瓊+金莉+羅海艷

【摘 要】并發控制是數據庫管理系統重要的組成部分。允許多個用戶同時對數據庫進行訪問,有可能出現多個用戶同時存取同一數據的情況。如果對其不加控制就有可能破壞數據庫的一致性,出現丟失修改、不可重復讀以及讀取臟數據的情況,所以需要對數據庫進行并發控制。封鎖是實現并發控制的一項重要技術。本文設計幾個教學案例,幫助學生更好地理解封鎖機制,從而為掌握數據庫的并發控制打下堅實基礎。

【關鍵詞】并發控制技術;教學案例設計

中圖分類號: TP311.13-4 文獻標識碼: A 文章編號: 2095-2457(2017)23-0054-002

【Abstract】Concurrency control is an important part of the database management system.The database allows multiple users to use the database system at the same time. In this case,multiple users possibly access the same data currently. There may be the situations of lost update,not repeatable and read dirty data,if there is no control. So concurrency control of the database is very important.Blocking is a key technique for concurrency control.This article designed several case studies to help students understand the block mechanism better. This will lay a solid foundation for students to master the concurrency control of the database.

【Key words】Concurrent control technology;Teaching case design

0 引言

數據庫具有高共享性,即多個用戶可以同時使用數據庫,這樣在數據庫系統中,同一時刻可以并發運行多個事務。根據系統中處理機的個數,并發執行有兩種方式,它們分為交叉并發方式和同時并發方式。交叉并發方式是指在單處理機系統中,多個事務輪流交叉運行,多個事務并沒有真正并行執行,但這種執行方式減少了處理機的空閑時間,從而提高系統效率。同時并發方式是指在多個處理機系統中,每個事務運行在一個處理機上,多個事務同時運行在多個處理機上,從而實現多個事務真正的并行運行。本文中數據庫系統并發控制技術是以單處理機系統為基礎。當多個用戶同時訪問數據庫就可能出現多個事務同時存取或存儲數據的情況。若不對并發操作加以控制就會破壞事務的一致性從而存取或存儲不正確的數據,因此并發控制是數據庫管理系統必不可少的組成部分。封鎖機制是并發控制的重要技術,本文基于SQL Server 2012設計幾個教學案例幫助學生更好地理解鎖,從而掌握并發控制機制。

1 SQL server 2012并發控制技術

SQL Sever是企業級產品,一個重要功能是要支持多用戶的并發操作,這些操作有讀取數據及修改數據,如果一個用戶要讀取正在被其他用戶修改的數據,或者一個用戶要修改其他用戶正在修改的數據,就需要某種機制規范這些操作,使得在保證數據一致性的情況下,又不會對并發性產生較大影響。

SQL Server主要通過鎖的機制實現對并發操作的規范,在訪問資源時,根據資源類型和操作類型,要先在訪問資源上獲得合適的鎖,才能完成資源訪問操作。一個操作如何使用鎖,與操作類型、資源類型、是否使用索引以及事務隔離級別有很大關系。數據庫中常用的鎖有共享鎖、排他鎖。

共享鎖(S鎖) 若事務T對數據對象A加上S鎖,則事務T可以讀A但不能修改A,其他事務只能再對A加S鎖,直到T釋放A上的S鎖。這就保證了其他事務可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改。

排他鎖(X鎖) 若事務T對數據對象A加上X鎖,則只允許T讀取和修改A,其他任何事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。這就保證了其他事務在T釋放A上的鎖之前不能再讀取和修改A。

2 教學案例設計

本小節設計幾個教學案例幫助學生更好地理解解鎖的概念。教學案例采用SQL Server最常用的隔離級別read committed。數據庫stuDB中有Student表及Course表,其中Student表的屬性包括學號(sno)、姓名(sname)、性別(ssex)、年齡(sage)、所在系(sdept)。Course表有屬性課程號(cno)、課程名(cname)、先行課號(cpno)、學分(ccredit)。

Student Course

啟動兩個連接,首先運行事務A,緊接著運行事務B。2.1 排它鎖實例

事務A對Student表200215121學生記錄的年齡進行修改,故對其加X鎖,并將操作延時30秒。事務B對200215121學生記錄進行讀操作,故對其加S鎖。S鎖和X鎖不相容,所以要等事務A結束,釋放X鎖后,事務B才能執行。

2.2 共享鎖實例

事務A讀取Student表中200215121學生記錄,故對其加S鎖,并將操作延時30秒。事務B對200215121學生記錄的學號和姓名進行讀操作,故對其加S鎖。S鎖和S鎖相容,所以事務B不必等到事務A完成即可執行。

2.3 死鎖實例

事務A進行兩個操作,第一個操作對200215121學生記錄的年齡進行修改操作,故對其加X鎖,延時10秒,進行第二個操作對1號課程的學分進行修改,對其加X鎖。事務B進行兩個操作,第一操作對1號課程的學分進行修改,對其加X鎖,延時10秒,進行第二個操作,對學生表中200215121學生記錄的年齡進行修改操作,對其加X鎖。事務A執行后,立刻執行事務B,事務A獲得對學生200215121記錄的X鎖,事務B獲得對1號課程記錄的X鎖,事務A申請對1號課程記錄加X鎖,事務B申請對學生200215121學生記錄加X鎖。由于X鎖互不相容,事務A等待事務B釋放1號課程記錄的X鎖,事務B等待事務A釋放200215121學生記錄上的X鎖,形成了事務A和事務B互相等待對方釋放資源上的X鎖的情況,使得事務A和事務B形成相互等待的情況,事務A和事務B都無法完成,從而形成死鎖。

3 結束語

本文基于SQL Server 2012設計了幾個教學案例來加深學生對共享鎖(S鎖)及排他鎖(X鎖)的理解。這些教學案例很好地詮釋了對某一數據對象在何種操作下加何種類型的鎖,并進一步熟悉鎖的相容矩陣。最后一個教學案例表明,使用封鎖機制對并發操作進行控制,會帶來死鎖問題。這些教學案例能夠幫助學生深入理解封鎖機制,為進一步學習并發控制打下良好的基礎。

【參考文獻】

[1]王珊,薩師煊.數據庫系統概論[M].第四版,北京:高等教育出版社,2006.

[2]李紅.數據庫原理及應用[M].北京:高等教育出版社,2003.

[3]王珊,李紅.數據庫系統原理教程[M].北京:清華大學出版社,1998.

[4]鄭阿奇.SQL Server實用教程(SQL Server 2012版)[M].第四版,電子工業出版社,2015.

[5]吳曉剛.基于項目驅動的數據庫課程自主探究式教學模式[J].計算機教育,2008(22).endprint

主站蜘蛛池模板: 国产福利小视频高清在线观看| 免费人成又黄又爽的视频网站| 2020久久国产综合精品swag| 国产精品三区四区| 中文字幕亚洲专区第19页| 精品人妻无码中字系列| 国产流白浆视频| 亚洲区视频在线观看| 欧美高清国产| 国产99热| 91青青草视频| 久99久热只有精品国产15| 亚洲精品福利视频| 日韩小视频网站hq| 无码精品国产VA在线观看DVD | 亚洲va在线观看| 国产成年女人特黄特色毛片免| 国产女人综合久久精品视| 好久久免费视频高清| 中国特黄美女一级视频| 精品成人免费自拍视频| 狠狠色婷婷丁香综合久久韩国| 精品国产网| 欧美日本一区二区三区免费| 日韩毛片免费视频| 精品一区二区三区水蜜桃| 成人在线欧美| 久996视频精品免费观看| 黄色网址手机国内免费在线观看| 老司国产精品视频91| 911亚洲精品| 国产91全国探花系列在线播放| 亚洲狼网站狼狼鲁亚洲下载| 蜜芽国产尤物av尤物在线看| 四虎在线观看视频高清无码| 国产欧美又粗又猛又爽老| 国产女人在线观看| 久久96热在精品国产高清| 美女国内精品自产拍在线播放| 日本高清有码人妻| 99久久精品免费视频| 欧美人在线一区二区三区| 五月婷婷综合网| 婷婷伊人久久| 久久久亚洲国产美女国产盗摄| 亚洲欧美天堂网| 精品少妇三级亚洲| 69综合网| 色综合国产| av在线无码浏览| 成人精品视频一区二区在线| 国产不卡网| 精品一区二区三区无码视频无码| 久久久久人妻一区精品| 国产99视频精品免费观看9e| 国产乱子伦视频三区| 国产性生大片免费观看性欧美| 国产一区二区在线视频观看| 97se亚洲综合在线韩国专区福利| 九九线精品视频在线观看| 美女无遮挡被啪啪到高潮免费| 亚洲人成亚洲精品| 一级黄色网站在线免费看| 国产玖玖视频| 亚洲欧美一级一级a| 日本高清在线看免费观看| 国模视频一区二区| 精品一區二區久久久久久久網站| 91口爆吞精国产对白第三集| 日韩欧美国产精品| 国产成人精品一区二区三在线观看| 免费看美女毛片| 精品一区二区三区无码视频无码| 欧洲极品无码一区二区三区| 国产噜噜噜视频在线观看| 欧美日韩亚洲国产| 蜜桃臀无码内射一区二区三区| 亚洲va视频| 乱系列中文字幕在线视频| 色有码无码视频| 色网站在线视频| 老司国产精品视频91|