數(shù)據(jù)庫試題11_第1頁
數(shù)據(jù)庫試題11_第2頁
數(shù)據(jù)庫試題11_第3頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一單項選擇題1試題:下列不屬于并發(fā)操作帶來的問題是()。A丟失修改B不可重復(fù)讀C死鎖D臟讀參考答案死鎖2試題:事務(wù)T在修改數(shù)據(jù)R之前必須先對其加X鎖,直到事務(wù)結(jié)束才釋放,這 是()。A 一級封鎖協(xié)議B二級封鎖協(xié)議C三級封鎖協(xié)議D零級封鎖協(xié)議參考答案一級封鎖協(xié)議3試題:為了防止一個用戶的工作不適當(dāng)?shù)赜绊懥硪粋€用戶,應(yīng)該采?。ǎ完整性控制B訪問控制C安全性控制D并發(fā)控制參考答案并發(fā)控制4試題:如果事務(wù)T獲得了數(shù)據(jù)項Q上的排他鎖,則T對Q ()。A只能讀不能寫B(tài)只能寫不能讀C既可讀又可寫D不能讀也不能寫參考答案既可讀又可寫5試題:設(shè)事務(wù)T1和T2,對數(shù)據(jù)庫中地數(shù)據(jù)A進(jìn)行操作,可能有如下幾種情況,

2、 請問哪一種不會發(fā)生沖突操作()。A:T1正在寫A,T2要讀AB: T1正在寫A,T2也要寫AC:T1正在讀A,T2要寫AD: T1正在讀A,T2也要讀A參考答案T1正在讀A,T2也要讀A6試題:如果有兩個事務(wù),同時對數(shù)據(jù)庫中同一數(shù)據(jù)進(jìn)行操作,不會引起沖突的操作是()。A 一個是 DELETE,一個是 SELECT。 B 一個是 SELECT, 個是 DELETE C兩個都是UPDATE。D兩個都是SELECTo參考答案兩個都是SELECTo7試題:在數(shù)據(jù)庫系統(tǒng)中,死鎖屬于()oA系統(tǒng)故障B事務(wù)故障C介質(zhì)故障D程序故障參考答案事務(wù)故障8試題:設(shè)有兩個事務(wù)T1、T2,其并發(fā)操作如下所示,下面評價

3、正確的是()oT2q讀A10®A=A-5寫回屮讀AA=A8寫回aA該操作不存在問題。B該操作丟失修改。C該操作不能重復(fù)讀。D該操作讀“臟”數(shù)據(jù)。參考答案該操作丟失修改。9試題:設(shè)有兩個事務(wù)T1、T2,其并發(fā)操作如下所示,下面評價正確的是()T2T2 讀 A=107 屮 讀A=20凸5“求和25驗證錯p讀A=10A=A*2寫回"¥A該操作不存在問題。B該操作丟失修改。C該操作不能重復(fù)讀。D該操作讀“臟”數(shù)據(jù)。參考答案該操作不能重復(fù)讀。10試題:設(shè)有兩個事務(wù)T1、T2,其并發(fā)操作如下所示,下列評價正確的是()Tlfl 讀A=100 'A=A*2寫回門 十

4、69;ROLLBACK.'恢復(fù)A=100讀A二200屮A該操作不存在問題。B該操作丟失修改。C該操作不能重復(fù)讀。D該操作讀“臟”數(shù)據(jù)。參考答案該操作讀“臟”數(shù)據(jù)。11試題:若事務(wù)T對數(shù)據(jù)R已經(jīng)加X鎖,則其他事務(wù)對數(shù)據(jù) R( ) oA可以加S鎖不能加X鎖。B不能加S鎖可以加X鎖。C可以加S鎖也可以加X鎖。D不能加任何鎖。參考答案不能加任何鎖。12試題:關(guān)于“死鎖”,下列說法中正確的是()。A死鎖是操作系統(tǒng)中的問題,數(shù)據(jù)庫操作中不存在。B在數(shù)據(jù)庫操作中防止死鎖的方法是禁止兩個用戶同時操作數(shù)據(jù)庫。C當(dāng)兩個用戶競爭相同資源時不會發(fā)生死鎖。D只有出現(xiàn)并發(fā)操作時,才有可能出現(xiàn)死鎖。參考答案只有出現(xiàn)

5、并發(fā)操作時,才有可能出現(xiàn)死鎖。13試題:對并發(fā)操作若不加以控制,可能會帶來()問題。A不安全 B死鎖C死機D不一致參考答案不一致二填空題1試題:DBMS的基本工作單位是事務(wù),它是用戶定義的一組邏輯一致的程序序 列;并發(fā)控制的主要方法是()機制。參考答案封鎖2試題:有兩種基本類型的鎖,它們是()和()o參考答案共享鎖排它鎖3試題:并發(fā)操作會帶來哪些數(shù)據(jù)不一致性()、()和()。參考答案丟失修改不可重復(fù)讀臟讀4試題:封鎖的對象的大小稱為()o參考答案鎖粒度三問答題1試題:什么是封鎖協(xié)議?不同級別的封鎖協(xié)議的主要區(qū)別是什么?參考答案在運用封鎖技術(shù)對數(shù)據(jù)加鎖時,要約定一些規(guī)則。例如,在運用X鎖和S鎖對

6、數(shù)據(jù)對象加鎖時,要約定何時申請 X鎖或S鎖、何時釋放封鎖等。這些約定或者規(guī)則稱 為圭寸鎖協(xié)議(Locking Protocol)。對圭寸鎖方式約定不同的規(guī) 則,就形成了各種不同的封鎖協(xié)議。不同級別的封鎖協(xié)議,例如概論中介紹的三級封鎖協(xié)議,三級協(xié)議的主要區(qū) 別在于什么操作需要申請封鎖,何時申請 封鎖以及何時釋放鎖(即持鎖時間的長短)。 一級封鎖協(xié)議:事務(wù)T在修改數(shù) 據(jù)R之前必須先對其加X鎖,直到事務(wù)結(jié)束才釋放。二級封鎖協(xié)議:一級封鎖協(xié)議加上事務(wù)T在讀取數(shù)據(jù)R之前必須先對其加S鎖,讀完后即可釋放 S 鎖。 三級封鎖協(xié)議:一級封鎖協(xié)議加上事務(wù) T在讀取數(shù)據(jù)R之前必須先對其 加S鎖,直到事務(wù)結(jié)束才釋放

7、。2試題:基本的封鎖類型有幾種?試述它們的含義。參考答案基本的封鎖類型有兩種:排它鎖(Exclusive Locks,簡稱X鎖)和共享 鎖(Share Locks,簡稱S鎖)。排它鎖又稱為寫鎖。若事務(wù) T對數(shù)據(jù)對象A加上 X鎖,則只允許T讀取和修改A,其他任何事務(wù)都不能再對 A加任何類型的鎖, 直到T釋放A上的鎖。這就保證了其他事務(wù)在 T釋放A上的鎖之前不能再讀取 和修改A。共享鎖又稱為讀鎖。若事務(wù) T對數(shù)據(jù)對象A加上S鎖,則事務(wù)T可 以讀A但不能修改A,其他事務(wù)只能再對A加S鎖,而不能加X鎖,直到T釋 放A上的S鎖。這就保證了其他事務(wù)可以讀 A,但在T釋放A上的S鎖之前不 能對A做任何修改。

8、3試題:試述活鎖的產(chǎn)生原因和解決方法。參考答案活鎖產(chǎn)生的原因:當(dāng)一系列封鎖不能按照其先后順序執(zhí)行時,就可能導(dǎo)致一些事務(wù)無限期等待某個封鎖,從而導(dǎo)致活鎖。避免活鎖的簡單方法是采用先來先服務(wù)的策略。當(dāng)多個事務(wù)請求封鎖同一數(shù)據(jù)對象時,封鎖子系統(tǒng)按請求 封鎖的先后次序?qū)κ聞?wù)排隊,數(shù)據(jù)對象上的鎖一旦釋放就批準(zhǔn)申請隊列中第一個 事務(wù)獲得鎖。4試題:請給出預(yù)防死鎖的若干方法。參考答案在數(shù)據(jù)庫中,產(chǎn)生死鎖的原因是兩個或多個事務(wù)都已封鎖了一些數(shù)據(jù) 對象,然后又都請求已被其他事務(wù)封鎖的數(shù)據(jù)加鎖,從而出現(xiàn)死等待。防止死鎖的發(fā)生其實就是要破壞產(chǎn)生死鎖的條件。預(yù)防死鎖通常有兩種方法:(1)一次封鎖法 要求每個事務(wù)必須一

9、次將所有要使用的數(shù)據(jù)全部加鎖,否則就不能繼續(xù)執(zhí)行。(2)順序封鎖法 預(yù)先對數(shù)據(jù)對象規(guī)定一個封鎖順序,所有事務(wù)都 按這個順序?qū)嵭蟹怄i。不過,預(yù)防死鎖的策略不大適合數(shù)據(jù)庫系統(tǒng)的特點。5試題:請給出檢測死鎖發(fā)生的一種方法,當(dāng)發(fā)生死鎖后如何解除死鎖?參考答案數(shù)據(jù)庫系統(tǒng)一般采用允許死鎖發(fā)生,DBMS檢測到死鎖后加以解除的 方法。DBMS中診斷死鎖的方法與操作系統(tǒng)類似,一般使用超時法或事務(wù)等待 圖法。超時法是:如果一個事務(wù)的等待時間超過了規(guī)定的時限,就認(rèn)為發(fā)生了 死鎖。超時法實現(xiàn)簡單,但有可能誤判死鎖,事務(wù)因其他原因長時間等待超過時 限時,系統(tǒng)會誤認(rèn)為發(fā)生了死鎖。若時限設(shè)置得太長,又不能及時發(fā)現(xiàn)死鎖發(fā) 生

10、。DBMS并發(fā)控制子系統(tǒng)檢測到死鎖后,就要設(shè)法解除。通常采用的方法是 選擇一個處理死鎖代價最小的事務(wù), 將其撤消,釋放此事務(wù)持有的所有鎖,使其 他事務(wù)得以繼續(xù)運行下去。當(dāng)然,對撤銷的事務(wù)所執(zhí)行的數(shù)據(jù)修改操作必須加以恢復(fù)。6試題:什么樣的并發(fā)調(diào)度是正確的調(diào)度?參考答案可串行化(Serializable)的調(diào)度是正確的調(diào)度??纱谢恼{(diào)度的定義:多個事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一次序串行地執(zhí)行 它們時的結(jié)果相同,我們稱這種調(diào)度策略為可串行化的調(diào)度。7試題:試述兩段鎖協(xié)議的概念。參考答案兩段鎖協(xié)議是指所有事務(wù)必須分兩個階段對數(shù)據(jù)項加鎖和解 鎖。?在對任何數(shù)據(jù)進(jìn)行讀、寫操作之前,首先要

11、申請并獲得對該數(shù)據(jù)的封 鎖;?在釋放一個封鎖之后,事務(wù)不再申請和獲得任何其他封鎖。“兩段”的含義是,事務(wù)分為兩個階段:第一階段是獲得封鎖,也稱為擴展階段。在這階段,事務(wù)可以申請獲得任何數(shù)據(jù)項上的任何類型的鎖,但是不能釋放任何 鎖。第二階段是釋放封鎖,也稱為收縮階段。在這階段,事務(wù)釋放已經(jīng)獲得的 鎖,但是不能再申請任何鎖。8試題:為什么要引進(jìn)意向鎖? 意向鎖的含義是什么?參考答案引進(jìn)意向鎖是為了提高封鎖子系統(tǒng)的效率。該封鎖子系統(tǒng)支持多種封 鎖粒度。 原因是:在多粒度封鎖方法中一個數(shù)據(jù)對象可能以兩種方式加鎖一顯 式封鎖和隱式封鎖。因此系統(tǒng)在對某一數(shù)據(jù)對象加鎖時不僅要檢查該數(shù)據(jù)對象上 有無(顯式 和

12、隱式)封鎖與之沖突;還要檢查其所有上級結(jié)點和所有下級結(jié)點, 看申請的封鎖是否與這些結(jié)點上的(顯式和隱式)封鎖沖突;顯然,這樣的檢查 方法效率很低。為此引進(jìn)了意向鎖。意向鎖的含義是:對任一結(jié)點加鎖時,必須先對它的上層結(jié)點加意向鎖。例如事務(wù)T要對某個元組加X鎖,則首先要對關(guān)系和數(shù)據(jù)庫加IX鎖。換言之,對關(guān)系和數(shù)據(jù)庫加IX鎖,表示它的后裔結(jié) 點一某個元組擬(意向)力卩X鎖。引進(jìn)意向鎖后,系統(tǒng)對某一數(shù)據(jù)對象加鎖時 不必逐個檢查與下一級結(jié)點的封鎖沖突了。例如,事務(wù)T要對關(guān)系R加X鎖時,系統(tǒng)只要檢查根結(jié)點數(shù)據(jù)庫和 R本身是否已加了不相容的鎖(如發(fā)現(xiàn)已經(jīng)加了 IX,則與X沖突),而不再需要搜索和檢查 R中的

13、每一個元組是否加了 X鎖或S 鎖。9試題:試述常用的意向鎖:IS鎖,IX鎖,SIX鎖,給出這些鎖的相容矩陣。參 考答案IS鎖:如果對一個數(shù)據(jù)對象加IS鎖,表示它的后裔結(jié)點擬(意向)力卩S鎖。例 如,要對某個元組加S鎖,則要首先對關(guān)系和數(shù) 據(jù)庫加IS鎖IX鎖:如果對一 個數(shù)據(jù)對象加IX鎖,表示它的后裔結(jié)點擬(意向)力卩X鎖。例如,要對某個元 組加X鎖,則要首先對關(guān)系和數(shù)據(jù)庫加IX鎖。SIX鎖:如果對一個數(shù)據(jù)對象 加SIX鎖,表示對它加S鎖,再加IX鎖,即SIX = S + IX。相容矩陣:10試題:在數(shù)據(jù)庫中為什么要并發(fā)控制?參考答案數(shù)據(jù)庫是共享資源,通常有許多個事務(wù)同時在運行。當(dāng)多個事務(wù)并發(fā)地

14、存取數(shù)據(jù)庫時就會產(chǎn)生同時讀取和/或修改同一數(shù)據(jù)的情況。若對并發(fā)操作不加控制就可能會存取和存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的一致性。所以數(shù)據(jù)庫 管理系統(tǒng)必須提供并發(fā)控制機制。11試題:并發(fā)操作可能會產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法能避免各種不一致的情況?參考答案答:并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復(fù)讀 和讀“臟”數(shù)據(jù)。(1)丟失修改(Lost Update) 兩個事務(wù)T1和T2讀入同一數(shù)據(jù)并修改,T2提交的結(jié)果破壞了(覆蓋了) T1提交的結(jié)果,導(dǎo)致T1的修 改被丟失。(2)不可重復(fù)讀(Non-Repeatable Read 不可重復(fù)讀是指事務(wù)T1讀取數(shù)據(jù)后,事務(wù)T2執(zhí)行更新操作,

15、使T1無法再現(xiàn)前一次讀取結(jié)果。(3)讀“臟”數(shù)據(jù)(Dirty Read)讀“臟”數(shù)據(jù)是指事務(wù)T1修改某一數(shù)據(jù),并將其 寫回磁盤,事務(wù)T2讀取同一數(shù)據(jù)后,T1由于某種原因被撤銷,這時T1已修改 過的數(shù)據(jù)恢復(fù)原值,T2讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則T2讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)。避免不一致性的方法和技術(shù)就是并發(fā)控制。最常用的并發(fā)控制技術(shù)是封鎖技術(shù)。也可以用其他技術(shù),例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時間戳方法來進(jìn)行并發(fā)控制。12試題:什么是封鎖?參考答案封鎖就是事務(wù)T在對某個數(shù)據(jù)對象例如表、記錄等操作之前,先向系 統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務(wù) T就對該數(shù)據(jù)對象有了一定的控制

16、,在事 務(wù)T釋放它的鎖之前,其他的事務(wù)不能更新此數(shù)據(jù)對象。封鎖是實現(xiàn)并發(fā)控制 的一個非常重要的技術(shù)。Whe n you are old and grey and full of sleep,And no ddi ng by the fire, take dow n this book,And slowly read, and dream of the soft lookYour eyes had once, and of their shadows deep;How many loved your mome nts of glad grace,And loved your beauty wit

17、h love false or true,But one man loved the pilgrim soul in you,And loved the sorrows of your cha nging face;And bending dow n beside the glow ing bars,Murmur, a little sadly, how love fledAnd paced upon the mountains overheadAnd hid his face amid a crowd of stars.The furthest dista nee in the worldI

18、s not betwee n life and deathBut whe n I sta nd in front of youYet you don't know thatI love you.The furthest dista nee in the worldIs not whe n I sta nd in front of youYet you can't see my loveBut whe n un doubtedly knowing the love from bothYet cannot be together.The furthest dista nee in the worldIs not being apar

溫馨提示

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

評論

0/150

提交評論