數(shù)據(jù)庫技術(shù)答案_第1頁
已閱讀1頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、[0072][0072]《數(shù)據(jù)庫技術(shù)》《數(shù)據(jù)庫技術(shù)》第六次[論述題]第十一章1、并發(fā)操作可能會產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法能避免各種不一致的情況?2、什么是封鎖?基本的封鎖類型有幾種?試述它們的含義。3、試述活鎖的產(chǎn)生原因和解決方法。4、簡述兩段鎖協(xié)議。參考答案:1.并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改、不可重復(fù)讀和讀“臟夕數(shù)據(jù)。(l)丟失修改(lostupdate)兩個事務(wù)Tl和T2讀入同一數(shù)據(jù)并修改,T2提交的結(jié)果破壞了

2、(覆蓋了)Tl提交的結(jié)果,導(dǎo)致Tl的修改被丟失。(2)不可重復(fù)讀(Non一RepeatableRead)不可重復(fù)讀是指事務(wù)Tl讀取數(shù)據(jù)后,事務(wù)幾執(zhí)行更新操作,使Tl無法再現(xiàn)前一次讀取結(jié)果。(3)讀“臟”數(shù)據(jù)(DirtyRead)讀“臟夕數(shù)據(jù)是指事務(wù)Tl修改某一數(shù)據(jù),并將其寫回磁盤,事務(wù)幾讀取同一數(shù)據(jù)后,Tl由于某種原因被撤銷,這時Tl已修改過的數(shù)據(jù)恢復(fù)原值,幾讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則幾讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)

3、據(jù)。避免不一致性的方法和技術(shù)就是并發(fā)控制。最常用的技術(shù)是封鎖技術(shù)。也可以用其他技術(shù),例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時間戳方法來進行并發(fā)控制。2.封鎖就是事務(wù)T在對某個數(shù)據(jù)對象例如表、記錄等操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務(wù)T就對該數(shù)據(jù)對象有了一定的控制,在事務(wù)T釋放它的鎖之前,其他的事務(wù)不能更新此數(shù)據(jù)對象。封鎖是實現(xiàn)并發(fā)控制的一個非常重要的技術(shù)。基本的封鎖類型有兩種:排它鎖(ExclusiveLocks,簡稱x鎖)和共享

4、鎖(ShareLocks,簡稱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做任何修改。

5、3.活鎖產(chǎn)生的原因:當(dāng)一系列封鎖不能按照其先后順序執(zhí)行時,就可能導(dǎo)致一些事務(wù)無限期等待某個封鎖,從而導(dǎo)致活鎖。避免活鎖的簡單方法是采用先來先服務(wù)的策略。當(dāng)多個事務(wù)請求封鎖同一數(shù)據(jù)對象時,封鎖子系統(tǒng)按請求封鎖的先后次序?qū)κ聞?wù)排隊,數(shù)據(jù)對象上的鎖一旦釋放就批準申請隊列中第一個事務(wù)獲得鎖。4.所謂兩段鎖協(xié)議是指所有事務(wù)必須分兩個階段對數(shù)據(jù)項加鎖和解鎖。在對任何數(shù)據(jù)進行讀、寫操作之前,首先要申請并獲得對該數(shù)據(jù)的封鎖在釋放一個封鎖之后,事務(wù)不再申

6、請和獲得任何其他封鎖。所謂“兩段“鎖的含義是,事務(wù)分為兩個階段,第一階段是獲得封鎖,也稱為擴展階段。在這階段,事務(wù)可以申請獲得任何數(shù)據(jù)項上的任何類型的鎖但是不能釋放任何鎖。第二階段是釋放封鎖,也稱為收縮階段。在這階段,事務(wù)可以釋放任何數(shù)據(jù)項上的任何類型的鎖,但是不能再申請任何鎖??梢宰C明,若并發(fā)執(zhí)行的所有事務(wù)均遵守兩段鎖協(xié)議,則對這些事務(wù)的任何并發(fā)調(diào)度策略都是可串行化的。(uNDO隊列)。(2)對撤銷隊列中的各個事務(wù)進行UNDO處理。進

7、行UNDO處理的方法是,反向掃描日志文件,對每個UNDO事務(wù)的更新操作執(zhí)行逆操作,即將日志記錄中“更新前的值”BefeImage)寫入數(shù)據(jù)庫。(3)對重做隊列中的各個事務(wù)進行REDO處理。進行REDO處理的方法是:正向掃描日志文件,對每個REDO事務(wù)重新執(zhí)行日志文件登記的操作。即將日志記錄中“更新后的值”AfteImage)寫入數(shù)據(jù)庫。介質(zhì)故障的恢復(fù):介質(zhì)故障是最嚴重的一種故障?;謴?fù)方法是重裝數(shù)據(jù)庫,然后重做已完成的事務(wù)。具體過程是:(

8、1)DBA裝入最新的數(shù)據(jù)庫后備副本(離故障發(fā)生時刻最近的轉(zhuǎn)儲副本)使數(shù)據(jù)庫恢復(fù)到轉(zhuǎn)儲時的一致性狀態(tài);(2)DBA裝入轉(zhuǎn)儲結(jié)束時刻的日志文件副本;(3)DBA啟動系統(tǒng)恢復(fù)命令,由DBMS完成恢復(fù)功能,即重做已完成的事務(wù)。第四次[論述題]第六章1、出下列術(shù)語的定義:函數(shù)依賴、部分函數(shù)依賴、完全函數(shù)依賴、傳遞依賴、1NF、2NF、3NF、BCNF第七章1、試述數(shù)據(jù)庫設(shè)計過程。2、請設(shè)計一個圖書館數(shù)據(jù)庫,此數(shù)據(jù)庫中對每個借閱者保存讀者記錄,包括

9、:讀者號,姓名,地址,性別,年齡,單位。對每本書存有:書號,書名,作者,出版社。對每本被借出的書存有讀者號、借出日期和應(yīng)還日期。要求:給出E一R圖,再將其轉(zhuǎn)換為關(guān)系模型。參考答案:1.定義1:設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y是屬性集U的子集。若對于R(U)的任意一個可能的關(guān)系r,r中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱X函數(shù)確定Y或Y函數(shù)依賴于X,記作X?Y。(即只要X上的屬性值相等,Y上的值一定相等

10、。)術(shù)語和記號:X?Y,但Y不是X的子集,則稱X?Y是非平凡的函數(shù)依賴。若不特別聲明,總是討論非平凡的函數(shù)依賴。X?Y,但Y是X的子集,則稱X?Y是平凡的函數(shù)依賴。若X?Y,則X叫做決定因素(Determinant)。若X?Y,Y?X,則記作X??Y。若Y不函數(shù)依賴于X,則記作X?Y。定義2:在R(U)中,如果X?Y,并且對于X的任何一個真子集X,都有X?Y,則稱Y對X完全函數(shù)依賴若X?Y,但Y不完全函數(shù)依賴于X,則稱Y對X部分函數(shù)依賴

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論