數(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頁
數(shù)據(jù)庫原理及應(yīng)用第7章課后習(xí)題答案_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

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

2、數(shù)據(jù)庫資源,尤其是多用戶可以同時(shí)存取相同的數(shù)據(jù)。在這樣的系統(tǒng)中,在同一時(shí)刻并發(fā)運(yùn)行的事務(wù)數(shù)可達(dá)數(shù)百個(gè)。若對事務(wù)的并發(fā)操作不加以控制,就會造成數(shù)據(jù)存、取的錯(cuò)誤,破壞了數(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)、時(shí)間戳(Timestamp)和樂觀控制法。商用的 DBMS-般都采用封鎖方法5、 什么是封鎖基本的封鎖類型有哪些試述它們的含義。封鎖機(jī)制, 即加鎖(

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

4、zability) 是并發(fā)事務(wù)正確調(diào)度的準(zhǔn)則。按照這個(gè)準(zhǔn)則規(guī)定,一個(gè)給定的并發(fā)調(diào)度,當(dāng)且僅當(dāng)它是可串行化的,才認(rèn)為是正確調(diào)度。8、 理解并解釋下列術(shù)語的含義: 封鎖、活鎖、死鎖、排他鎖、共享鎖、可串行化的調(diào)度、兩段鎖協(xié)議。1)加鎖就是事務(wù)T 在對某個(gè)數(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又請求封

5、鎖R,當(dāng)T3釋放了 R上的封鎖之后系統(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兩個(gè)事 務(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鎖

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

7、要有恢復(fù)子系統(tǒng)它的功能是什么系統(tǒng)故障會丟失這些事務(wù)對數(shù)據(jù)的修改,使數(shù)據(jù)庫處于不一致狀態(tài)。恢復(fù)子系統(tǒng)在系統(tǒng)重啟時(shí),撤銷所有未完成的事務(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ù)好像根本沒有

8、啟動一樣。這類恢復(fù)操作稱為事務(wù)撤銷(UNDO) 。2)系統(tǒng)故障系統(tǒng)故障又稱為軟故障,是指造成系統(tǒng)停止運(yùn)轉(zhuǎn),要使得系統(tǒng)重新啟動的故障。例如,硬件錯(cuò)誤(如CPUM障)、操作系統(tǒng)故障、DBMS弋碼錯(cuò)誤、系統(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ù)可能

9、不正確,這是由于事務(wù)的運(yùn)行被非正常終止造成的。11、 數(shù)據(jù)庫恢復(fù)技術(shù)有哪些1)利用備份技術(shù)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ù)庫。登記日志文件時(shí)為什么必須先寫日志文件,后寫數(shù)據(jù)庫14、如果先寫了數(shù)據(jù)庫修改, 而在日志文件中沒有登記下這個(gè)修改, 則以后就無法恢復(fù)這個(gè)修改了。 如果先寫日志, 但沒有修改數(shù)據(jù)庫, 按日志文件恢復(fù)時(shí)只不過是多執(zhí)行一次不必要的UNDOI作,并不會影響數(shù)據(jù)庫的正確性。所以為了安全,一定要先寫日志文件,即首先 把日志記錄寫到日志文件中,然后寫數(shù)據(jù)庫的修改,這就是“先寫日志文件”的原則。15、 什么是數(shù)據(jù)庫鏡像它有什么用途所謂鏡像就是在不同的設(shè)備上同時(shí)存有兩份數(shù)據(jù)庫, 把一個(gè)設(shè)備稱為主設(shè)備, 另一個(gè)稱 為鏡像設(shè)備。主設(shè)備和鏡像設(shè)備互為鏡像關(guān)系,每當(dāng)主數(shù)據(jù)庫更新時(shí),DBMS自動把整個(gè)數(shù)據(jù)庫或其中的關(guān)鍵數(shù)據(jù)復(fù)制到另一個(gè)鏡像設(shè)備上。保證鏡像數(shù)據(jù)與

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論