數(shù)據(jù)庫原理及應(yīng)用第7章課后習(xí)題答案_第1頁
數(shù)據(jù)庫原理及應(yīng)用第7章課后習(xí)題答案_第2頁
數(shù)據(jù)庫原理及應(yīng)用第7章課后習(xí)題答案_第3頁
數(shù)據(jù)庫原理及應(yīng)用第7章課后習(xí)題答案_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、習(xí)題71、 試述事務(wù)的概念及事務(wù)的四個特性。事務(wù)(Transaction)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作是一個完整的工作單元,一個事務(wù)內(nèi)的所有語句被作為一個整體,這些操作要么全做,要么全不做。事務(wù)是數(shù)據(jù)庫環(huán)境的中的邏輯單元,相當(dāng)于操作系統(tǒng)中的進(jìn)程。為了保證數(shù)據(jù)庫中數(shù)據(jù)的正確性,一個事務(wù)具有四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持續(xù)性(Durability )。這四個特性簡稱ACID特性。2、 試述事務(wù)的狀態(tài)及轉(zhuǎn)換。3、 在數(shù)據(jù)庫中為什么要并發(fā)控制?并發(fā)控制能保證事務(wù)的哪些特性?數(shù)據(jù)庫的一個明顯的特點(diǎn)是多個用戶共享數(shù)據(jù)庫

2、資源,尤其是多用戶可以同時存取相同的數(shù)據(jù)。在這樣的系統(tǒng)中,在同一時刻并發(fā)運(yùn)行的事務(wù)數(shù)可達(dá)數(shù)百個。若對事務(wù)的并發(fā)操作不加以控制,就會造成數(shù)據(jù)存、取的錯誤,破壞了數(shù)據(jù)的一致性和完整性。并發(fā)控制可以防止數(shù)據(jù)不一致性出現(xiàn)。4、 并發(fā)操作可能會產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法可以避免不一致性的情況?并發(fā)操作帶來的數(shù)據(jù)不一致性分為四種情況:丟失數(shù)修改、讀“臟”數(shù)據(jù)、不可重復(fù)讀和產(chǎn)生“幽靈”數(shù)據(jù)。在數(shù)據(jù)庫環(huán)境下,進(jìn)行并發(fā)控制的主要技術(shù)有封鎖(Locking)、時間戳(Timestamp)和樂觀控制法。商用的DBMS一般都采用封鎖方法 。5、 什么是封鎖?基本的封鎖類型有哪些?試述它們的含義。封鎖機(jī)制,即加鎖

3、(Locking),是一種并發(fā)控制機(jī)制,是用來調(diào)整對共享目標(biāo)的并行存取的技術(shù)。事務(wù)通過向封鎖管理程序的系統(tǒng)組成部分發(fā)出請求而對事務(wù)加鎖。基本封鎖類型有兩種:共享鎖(Share Locks,簡記為S鎖或讀鎖)和排它鎖(Exclusive Locks,簡記為X鎖或?qū)戞i)。6、 如何用封鎖機(jī)制保證數(shù)據(jù)的一致性?在運(yùn)用X鎖和S鎖對數(shù)據(jù)對象加鎖時,還需要約定一些規(guī)則,這些規(guī)則為封鎖協(xié)議或加鎖協(xié)議(Locking Protocol)。對封鎖方式加不同的規(guī)則,就形成了各種不同級別的封鎖協(xié)議。不同級別的封鎖協(xié)議所能達(dá)到的一致性級別是不同的。7、 什么樣的并發(fā)調(diào)度是正確的調(diào)度?可串行性(Serializabil

4、ity)是并發(fā)事務(wù)正確調(diào)度的準(zhǔn)則。按照這個準(zhǔn)則規(guī)定,一個給定的并發(fā)調(diào)度,當(dāng)且僅當(dāng)它是可串行化的,才認(rèn)為是正確調(diào)度 。8、 理解并解釋下列術(shù)語的含義:封鎖、活鎖、死鎖、排他鎖、共享鎖、可串行化的調(diào)度、兩段鎖協(xié)議。1)加鎖就是事務(wù)T在對某個數(shù)據(jù)對象(例如表、記錄等)操作之前,先向系統(tǒng)發(fā)出請求,封鎖其要使用的數(shù)據(jù)。加鎖后事務(wù)T就對該數(shù)據(jù)對象有了一定的控制,在事務(wù)T釋放它的鎖之前,其它的事務(wù)不能更新此數(shù)據(jù)對象。2)活鎖:如果事務(wù)T1封鎖了數(shù)據(jù)R,事務(wù)T2又請求封鎖R,于是T2等待。T3也請求封鎖R,當(dāng)T1釋放了R上的封鎖之后系統(tǒng)首先批準(zhǔn)了T3的請求,T2仍然等待。然后T4又請求封鎖R,當(dāng)T3釋放了R上

5、的封鎖之后系統(tǒng)又批準(zhǔn)了T4的請求,T2有可能永遠(yuǎn)等待,這就是活鎖。3)死鎖:如果事務(wù)T1封鎖了數(shù)據(jù)R1,T2封鎖了數(shù)據(jù)R2,然后T1又請求封鎖R2,因T2已封鎖了R2,于是T1等待T2釋放R2上的鎖,接著T2又申請封鎖R1,因T1已封鎖了R1,T2也只能等待T1釋放R1上的鎖。這樣T1在等待T2,而T2又在等待T1,T1和T2兩個事務(wù)永遠(yuǎn)不能結(jié)束,形成死鎖。4)共享鎖: 若事務(wù)T對數(shù)據(jù)對象A加上S鎖,則事務(wù)T可以讀A,但不能修改A。其它事務(wù)只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。這就保證其他事務(wù)可以讀A,但在T釋放A上的S鎖之前不能對A做任何修改 。5)排他鎖:若事務(wù)T對數(shù)據(jù)對象

6、A加上X鎖,則只允許T讀取和修改A,但不允許其它事務(wù)再對A加任何類型的鎖和進(jìn)行任何操作,直到T釋放A上的鎖。這就保證其他事務(wù)在T釋放A上的鎖之前不能再讀取和修改A 。6)多個事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一次序串行地執(zhí)行這些事務(wù)時的結(jié)果相同,稱這種調(diào)度策略為可串行化(Serializable)調(diào)度。7)所謂兩段鎖協(xié)議是指所有事務(wù)必須分兩個階段對數(shù)據(jù)項(xiàng)加鎖和解鎖。具體內(nèi)容如下:在對任何數(shù)據(jù)進(jìn)行讀、寫操作之前,事務(wù)首先要獲得對該數(shù)據(jù)的封鎖; 在釋放一個封鎖之后,事務(wù)不再申請和獲得任何其他封鎖。9、 數(shù)據(jù)庫中為什么要有恢復(fù)子系統(tǒng)?它的功能是什么?系統(tǒng)故障會丟失這些事務(wù)對數(shù)據(jù)的修改,使數(shù)

7、據(jù)庫處于不一致狀態(tài)。恢復(fù)子系統(tǒng)在系統(tǒng)重啟時,撤銷所有未完成的事務(wù),并重做已經(jīng)提交的事務(wù), 以保證將數(shù)據(jù)庫真正恢復(fù)到一致狀態(tài)。10、 數(shù)據(jù)庫運(yùn)行過程中可能產(chǎn)生的故障有幾類?哪些故障影響事務(wù)的正常執(zhí)行?哪些 故障破壞數(shù)據(jù)庫數(shù)據(jù)?1) 事務(wù)內(nèi)部的故障事務(wù)內(nèi)部的故障有的是可以通過事務(wù)程序本身發(fā)現(xiàn)的,有的是非預(yù)期的,不能由事務(wù)程序處理的。事務(wù)故障意味著事務(wù)沒有達(dá)到預(yù)期的終點(diǎn),因此,數(shù)據(jù)庫可能處于不正確的狀態(tài)?;謴?fù)程序要在不影響其他事務(wù)運(yùn)行的情況下,強(qiáng)行回滾該事務(wù),即撤銷該事務(wù)已經(jīng)作出的任何對數(shù)據(jù)庫的修改,使得該事務(wù)好像根本沒有啟動一樣。這類恢復(fù)操作稱為事務(wù)撤銷(UNDO)。2)系統(tǒng)故障系統(tǒng)故障又稱為軟故

8、障,是指造成系統(tǒng)停止運(yùn)轉(zhuǎn),要使得系統(tǒng)重新啟動的故障。例如,硬件錯誤(如CPU故障)、操作系統(tǒng)故障、DBMS代碼錯誤、系統(tǒng)斷電等都是系統(tǒng)故障。這樣的故障會影響正在運(yùn)行的所有事務(wù),但不破壞數(shù)據(jù)庫。3)其他故障介質(zhì)故障或由計(jì)算機(jī)病毒引起的故障或破壞可歸為其他故障。介質(zhì)故障常稱為硬故障,指外存故障,如磁盤損壞、磁頭碰撞等。這類故障會對數(shù)據(jù)庫造成破壞,并影響正在操作數(shù)據(jù)庫的所有事務(wù)。這類故障發(fā)生的可能性小得多,但破壞性最大。各種故障對數(shù)據(jù)庫的影響有兩種可能性:一是數(shù)據(jù)庫本身被破壞;二是數(shù)據(jù)庫沒有被破壞,但數(shù)據(jù)可能不正確,這是由于事務(wù)的運(yùn)行被非正常終止造成的。11、 數(shù)據(jù)庫恢復(fù)技術(shù)有哪些?1)利用備份技術(shù)

9、2)利用事務(wù)日志3)利用鏡像技術(shù)12、 什么是數(shù)據(jù)庫的備份?數(shù)據(jù)備份是指定期或不定期地對數(shù)據(jù)庫數(shù)據(jù)進(jìn)行復(fù)制,可以將數(shù)據(jù)復(fù)制到本地機(jī)器上,也可以復(fù)制到其他機(jī)器上,也稱為數(shù)據(jù)轉(zhuǎn)儲。13、 什么是日志文件?為什么要設(shè)日志文件?日志文件(log)是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件。具體的作用是:a)事務(wù)故障恢復(fù)和系統(tǒng)故障恢復(fù)必須用日志文件。b)在動態(tài)備份方式中必須建立日志文件,后備副本和日志文件結(jié)合起來才能有效地恢復(fù)數(shù)據(jù)庫。14、 登記日志文件時為什么必須先寫日志文件,后寫數(shù)據(jù)庫?如果先寫了數(shù)據(jù)庫修改,而在日志文件中沒有登記下這個修改,則以后就無法恢復(fù)這個修改了。如果先寫日志,但沒有修改數(shù)據(jù)庫,按日志文件恢復(fù)時只不過是多執(zhí)行一次不必要的UNDO操作,并不會影響數(shù)據(jù)庫的正確性。所以為了安全,一定要先寫日志文件,即首先把日志記錄寫到日志文件中,然后寫數(shù)據(jù)庫的修改,這就是“先寫日志文件”的原則。15、 什么是數(shù)據(jù)庫鏡像?它有什么用途?所謂鏡像就是在不同的設(shè)備上同時存有兩份數(shù)據(jù)庫,把一個設(shè)備稱為主設(shè)備,另一個稱為鏡像設(shè)備。主設(shè)備和鏡像設(shè)備互為鏡像關(guān)系,每當(dāng)主數(shù)據(jù)庫更新時,DBMS自動把整個數(shù)據(jù)庫或其中的關(guān)鍵數(shù)據(jù)復(fù)制到另一個鏡像設(shè)備上。保證鏡像數(shù)據(jù)與主數(shù)據(jù)庫的一致。這樣,一旦出現(xiàn)介質(zhì)故障,可

溫馨提示

  • 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

提交評論