數(shù)據(jù)庫原理及應(yīng)用總復(fù)習_第1頁
數(shù)據(jù)庫原理及應(yīng)用總復(fù)習_第2頁
數(shù)據(jù)庫原理及應(yīng)用總復(fù)習_第3頁
數(shù)據(jù)庫原理及應(yīng)用總復(fù)習_第4頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)庫并發(fā)一、 單選題1.下面(A. 安全性)不是數(shù)據(jù)庫系統(tǒng)必須提供的數(shù)據(jù)控制功能。B 可移植性C完整性D 并發(fā)控制答案: B2保護數(shù)據(jù)庫,防止未經(jīng)授權(quán)的或不合法的使用造成的數(shù)據(jù)泄漏、更改破壞。這是指數(shù)據(jù)的()。A 安全性B 完整性C并發(fā)控制D 恢復(fù)答案: A3數(shù)據(jù)庫的(A安全性)是指數(shù)據(jù)的正確性和相容性。B 完整性C并發(fā)控制D 恢復(fù)答案: B4在數(shù)據(jù)系統(tǒng)中,對存取權(quán)限的定義稱為(A命令 B 授權(quán))。C定義D 審計答案: B5數(shù)據(jù)庫管理系統(tǒng)通常提供授權(quán)功能來控制不同用戶訪問數(shù)據(jù)的權(quán)限,這主要是為了實現(xiàn)數(shù)據(jù)庫的()。A 可靠性B 一致性C完整性D 安全性答案: D6授權(quán)編譯系統(tǒng)和合法性檢查機制一

2、起組成了()子系統(tǒng)。A 安全性 B 完整性 C并發(fā)控制 D 恢復(fù)答案: A7. ( )是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位A. 程序B命令C 事務(wù)D文件答案: C8.事務(wù)的原子性是指()。A 事務(wù)中包括的所有操作要么都做,要么都不做B事務(wù)一旦提交,對數(shù)據(jù)庫的改變是永久的C一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對并發(fā)的其他事務(wù)是隔離的D事務(wù)必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)答案: A9.事務(wù)的持續(xù)性是指()。A事務(wù)中包括的所有操作要么都做,要么都不做B 事務(wù)一旦提交,對數(shù)據(jù)庫的改變是永久的C一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對并發(fā)的其他事務(wù)是隔

3、離的D事務(wù)必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)答案: B10.事務(wù) 是數(shù)據(jù)庫操作的基本工作單位。如果一個事務(wù)執(zhí)行成功,則全部更新提交;如果一個事務(wù)執(zhí)行失敗,則已做過的更新被恢復(fù)原狀,好像整個事務(wù)從未有過這些更新,這樣保持了數(shù)據(jù)庫處于()狀態(tài)。ABCD答案: B11. 多用戶的數(shù)據(jù)庫系統(tǒng)的目標之一是使它的每個用戶好像面對著一個單用戶的數(shù)據(jù)庫一樣使用它,為此,數(shù)據(jù)庫系統(tǒng)必須進行()。A安全性控制 B完整性控制 C 并發(fā)控制 D可靠性控制答案: C12.對并發(fā)操作若不加以控制,可能會帶來(A不安全B死鎖C 死機)問題。D 數(shù)據(jù)不一致答案: D13.并發(fā)操作會帶來的數(shù)據(jù)不一致性有()。A

4、丟失修改、不可重復(fù)讀、讀臟數(shù)據(jù)、死鎖B不可重復(fù)讀、讀臟數(shù)據(jù)、死鎖C丟失修改、讀臟數(shù)據(jù)、死鎖D 丟失修改、不可重復(fù)讀、讀臟數(shù)據(jù)答案: D14. 有兩個事務(wù) T1 、 T2 A 該操作不存在問題 C 該操作不能重復(fù)讀,其并發(fā)操作如圖所示,下面評價正確的是(B 該操作丟失修改D 該操作讀“臟”數(shù)據(jù))。答案: BT1T2讀 A=10讀 A=10 A=A-5 寫回A=A-8 寫回15設(shè)有兩個事務(wù)T1、 T2,其并發(fā)操作如下所示,下面評價正確的是(A該操作不存在問題B 該操作丟失修改C 該操作不能重復(fù)讀D 該操作讀“臟”數(shù)據(jù))。答案: CT1T2讀A=10 , B=5讀A=10A=A*2寫回讀 A=20

5、, B=5求和 25 驗證錯16設(shè)有兩個事務(wù)T1、 T2,其并發(fā)操作如下所示,下列評價正確的是(A該操作不存在問題B 該操作丟失修改C該操作不能重復(fù)讀D 該操作讀“臟”數(shù)據(jù))。答案: DT1T2讀A=100A=A*2寫回讀A=200 ROLLBACK恢復(fù) A=10017.解決并發(fā)操作帶來的數(shù)據(jù)不一致性問題普遍采用(A 封鎖B恢復(fù)C 存取控制)。D協(xié)商答案: A18若事務(wù) T 對數(shù)據(jù) R 已經(jīng)加A可以加 S 鎖不能加 X C可以加 S 鎖也可以加X 鎖,則其他事務(wù)對數(shù)據(jù)R ()。鎖B不能加S 鎖可以加X 鎖X 鎖D 不能加任何鎖答案: D19不允許任何其他事務(wù)對這個鎖定目標再加任何類型的鎖是()

6、。A共享鎖B 排它鎖C共享鎖或排它鎖D 以上都不是答案: B20數(shù)據(jù)庫中的封鎖機制是(A完整性B 安全性)的主要方法。C并發(fā)控制D 恢復(fù)答案: C21關(guān)于“死鎖” ,下列說法中正確的是()。A死鎖是操作系統(tǒng)中的問題,數(shù)據(jù)庫操作中不存在B在數(shù)據(jù)庫操作中防止死鎖的方法是禁止兩個用戶同時操作數(shù)據(jù)庫C當兩個用戶競爭相同資源時不會發(fā)生死鎖D 只有出現(xiàn)并發(fā)操作時,才有可能出現(xiàn)死鎖答案: D22若數(shù)據(jù)庫中只包含成功事務(wù)提交的結(jié)果,則此數(shù)據(jù)庫就稱為處于(A安全B、一致C不安全D不一致)狀態(tài)。答案: B23若系統(tǒng)在運行過程中,由于某種原因,造成系統(tǒng)停止運行,致使事務(wù)在執(zhí)行過程中以非控制方式終止,這時內(nèi)存中的信息

7、丟失,而存儲在外存上的數(shù)據(jù)未受影響,這種情況稱為()。A 事務(wù)故障B 系統(tǒng)故障C介質(zhì)故障D 運行故障答案: B24若系統(tǒng)在運行過程中,由于某種硬件故障, 使存儲在外存上的數(shù)據(jù)部分損失或全部損失,這種情況稱為()。A事務(wù)故障B 系統(tǒng)故障C介質(zhì)故障D 運行故障答案: C25操作系統(tǒng)故障屬于()。A 人為錯誤B事務(wù)故障C介質(zhì)故障D 系統(tǒng)故障答案: D26()用來記錄對數(shù)據(jù)庫中數(shù)據(jù)進行的每一次更新操作。A后援副本B 日志文件C數(shù)據(jù)庫D 緩沖區(qū)答案: B27后援副本的用途是()。A安全性保障B 一致性控制C故障后的恢復(fù)D數(shù)據(jù)的轉(zhuǎn)儲答案: C28用于數(shù)據(jù)庫 恢復(fù) 的重要文件是()。A數(shù)據(jù)庫文件B 索引文件

8、C日志文件D 備注文件答案: C29日志文件是用于記錄()。A程序運行過程B 數(shù)據(jù)操作C 對數(shù)據(jù)的所有更新操作D 程序執(zhí)行的結(jié)果答案: C30數(shù)據(jù)庫恢復(fù)的基礎(chǔ)是利用轉(zhuǎn)儲的冗余數(shù)據(jù)。這些轉(zhuǎn)儲的冗余數(shù)據(jù)包括(A數(shù)據(jù)字典、應(yīng)用程序、審計檔案、數(shù)據(jù)庫后備副本)。B數(shù)據(jù)字典、應(yīng)用程序、日志文件、審計檔案C 日志文件、數(shù)據(jù)庫后備副本D數(shù)據(jù)字典、應(yīng)用程序、數(shù)據(jù)庫后備副本答案: C31( )是指在轉(zhuǎn)儲過程中, 不允許其他事務(wù)對數(shù)據(jù)庫進行存取或修改操作,并且每次只轉(zhuǎn)儲上一次轉(zhuǎn)儲后更新過的數(shù)據(jù)。A 動態(tài)海量轉(zhuǎn)儲B動態(tài)增量轉(zhuǎn)儲C靜態(tài)海量轉(zhuǎn)儲D靜態(tài)增量轉(zhuǎn)儲答案: D32以下 ()封鎖違反兩段鎖協(xié)議。 Slock A

9、Slock B Xlock C .Unlock A Unlock B Unlock C BSlock A Slock B Xlock C Unlock C Unlock B Unlock A CSlock A Slock B Xlock C Unlock B Unlock C Unlock ADSlock A Unlock A . Slock B Xlock C Unlock B Unlock C 答案: D二、 多選題1 事務(wù)的特性有()。A原子性B一致性C 隔離性D持續(xù)性答案: ABCD2 并發(fā)操作可能會帶來的數(shù)據(jù)不一致性有A丟失修改 B 不可重復(fù)讀()。C讀臟數(shù)據(jù)D死鎖答案: ABC3

10、關(guān)于“死鎖”,下列說法中錯誤的是()。A死鎖是操作系統(tǒng)中的問題,數(shù)據(jù)庫操作中不存在B在數(shù)據(jù)庫操作中防止死鎖的方法是禁止兩個用戶同時操作數(shù)據(jù)庫C當兩個用戶競爭相同資源時不會發(fā)生死鎖D并發(fā)控制的目的就是消除死鎖答案: ABCD4 封鎖機制是并發(fā)控制的主要手段, ( ) 封鎖協(xié)議不但能夠防止丟失修改,還可進一步防止讀“臟”數(shù)據(jù)。A一級B二級C三級D都可以答案: BC5 若事務(wù)對數(shù)據(jù)已加鎖,則其他事務(wù)對數(shù)據(jù)(A可以加 S 鎖B不能加 S 鎖C可以加)。X 鎖D不能加任何鎖答案: BD6 在 SQL Server 中,有關(guān)頁的敘述中正確的是(A頁是除行外的最小數(shù)據(jù)單位)。B一個頁有8KBC表中的行不能跨

11、頁存放,一行的數(shù)據(jù)必須在同一個頁上D 8 個連續(xù)的頁稱為1 個簇答案: ABCD7數(shù)據(jù)庫恢復(fù)通常采用的方法是()。A 建立檢查點B 建立副本C建立日志文件D 建立索引答案: ABC8數(shù)據(jù)庫系統(tǒng)中可能發(fā)生的故障()。A 運行故障B 事務(wù)故障C系統(tǒng)故障D 介質(zhì)故障答案: BCD9系統(tǒng)故障是指造成系統(tǒng)停止運轉(zhuǎn),必須重新啟動系統(tǒng)的任何事件,它包括以下()幾種情況。A 計算機病毒CDBMS 代碼錯誤B操作系統(tǒng)故障D 數(shù)據(jù)庫服務(wù)器出錯答案: BCD三、 填空題1.事務(wù)通常是以開始,以表示正常結(jié)束,以結(jié)束表示對數(shù)據(jù)庫的所有已完成的操作全部撤消,回滾到事務(wù)開始時的狀態(tài)。答案: BEGIN TRANSACTIO

12、N COMMITROLLBACK2.如果數(shù)據(jù)庫中只包含成功事務(wù)提交的結(jié)果,就說數(shù)據(jù)庫處于一致性狀態(tài)。答案:一致性3.數(shù)據(jù)庫中解決活鎖問題的方法是。解決死鎖問題主要有兩類方法:一類方法是;另一類方法是。答案:先來先服務(wù)預(yù)防死鎖允許發(fā)生死鎖,然后解除之4. 封鎖機制是并發(fā)控制的主要手段。封鎖機制中有兩種基本類型的鎖,他們是排它鎖和。答案:共享鎖5.封鎖具有 3個環(huán)節(jié): 第一個環(huán)節(jié)是申請加鎖; 第二個環(huán)節(jié)是;第三個環(huán)節(jié)是。答案:獲得鎖釋放鎖6.若事務(wù)對數(shù)據(jù)對象加了鎖,則其他事務(wù)只能對數(shù)據(jù)再加,不能再加,直到事務(wù)釋放上的鎖。答案: S 鎖 X 鎖7.并發(fā)操作可能帶來的數(shù)據(jù) 不一致 性,最根本的原因是違

13、背了隔離性。答案: 事務(wù)的隔離性8.“事務(wù) T 在讀取數(shù)據(jù)之前必須先對其加S 鎖,在要修改數(shù)據(jù)之前必須先對其加X 鎖,直到事務(wù)結(jié)束后才釋放所有鎖?!边@是級封鎖協(xié)議。答案:三9. 封鎖粒度是指封鎖對象的大小。封鎖粒度與系統(tǒng)的并發(fā)度和并發(fā)控制的開銷密切相關(guān)。封鎖的粒度越小, 并發(fā)度越,系統(tǒng)開銷也越;封鎖的粒度越大,并發(fā)度越,系統(tǒng)開銷也越。答案:高大低小10. SQL Server遵從級封鎖協(xié)議,從而有效地控制并發(fā)操作可能產(chǎn)生的丟失更新、讀“臟”數(shù)據(jù)、不可重復(fù)讀等錯誤。答案:三11 數(shù)據(jù)恢復(fù)最常用的技術(shù)是建立數(shù)據(jù)轉(zhuǎn)儲和利用。答案:日志文件12 為保證數(shù)據(jù)庫的可恢復(fù)性,登記日志文件時必須遵循兩條原則:

14、一是登記的次序嚴格按事務(wù)執(zhí)行的時間次序;二是。答案:先寫日志文件,后寫數(shù)據(jù)庫13 事務(wù)故障的解決辦法是恢復(fù)程序在不影響其他事務(wù)運行的情況下。答案:撤銷該事務(wù)14 日志文件是用來記錄對數(shù)據(jù)庫的更新操作的文件。不同的數(shù)據(jù)庫系統(tǒng)采用的日志文件格式不完全相同。日志文件主要有以記錄為單位的日志文件和。答案:以數(shù)據(jù)塊為單位的日志文件15會破壞磁盤上的物理數(shù)據(jù)庫和日志文件,這是最嚴重的一種故障?;謴?fù)方法是重裝數(shù)據(jù)庫后備副本,然后重做已完成的事務(wù)。答案:介質(zhì)故障17語句可以完成對整個數(shù)據(jù)庫的恢復(fù),也可以恢復(fù)數(shù)據(jù)庫的日志,或者是指定恢復(fù)數(shù)據(jù)庫的某個文件或文件組。答案: RESTORE18 數(shù)據(jù)庫保護包含數(shù)據(jù)的。

15、答案:安全性、完整性、并發(fā)控制、恢復(fù)20保護數(shù)據(jù)安全性的一般方法是。答案:設(shè)置用戶標識和存取權(quán)限控制21數(shù)據(jù)的安全性是指。答案:保護數(shù)據(jù)庫,防止未經(jīng)授權(quán)的,或不合法的使用造成的數(shù)據(jù)泄漏、更改或破壞22安全性控制的一般方法有、和視圖的保護五級安全措施。答案:用戶標識鑒定存取控制審計數(shù)據(jù)加密23存取權(quán)限包括兩方面的內(nèi)容,一個是,另一個是。答案:要存取的數(shù)據(jù)對象對此數(shù)據(jù)對象進行操作的類型24和一起組成了安全性系統(tǒng)。答案:授權(quán)編譯系統(tǒng)合法權(quán)檢查機制25是 DBMS 的基本單位,它是用戶定義的一組邏輯一致的操作序列。答案:事務(wù)26 DBMS的基本工作單位是事務(wù),它是用戶定義的一組邏輯一致的操作序列;并發(fā)

16、控制的主要方法是機制。答案:封鎖27有兩種基本類型的鎖,它們是和。答案:共享鎖排它鎖28對并發(fā)操作若不加以控制,可能帶來的不一致性有、和。答案:丟失修改不能重復(fù)讀讀“臟”數(shù)據(jù)29并發(fā)控制是對用戶的加以控制和協(xié)調(diào)。答案:并發(fā)操作30并發(fā)控制的主要方法是采用機制,其類型有和兩種。答案:封鎖排它鎖(或X 鎖)共享鎖(或 S 鎖)31若事務(wù) T 對數(shù)據(jù)對象A 加了 S 鎖,則其他事務(wù)只能對數(shù)據(jù)A 再加,不能加,直到事務(wù) T 釋放 A 上的鎖。答案: S 鎖 X 鎖32若事務(wù)在運行過程中,由于種種原因,使事務(wù)未運行到正常終止點之間就被撤消,這種情況就稱為。答案:事務(wù)故障33數(shù)據(jù)庫恢復(fù)是將數(shù)據(jù)庫從狀態(tài)恢復(fù)

17、到的功能。答案:錯誤某一已知的正確狀態(tài)34系統(tǒng)在運行過程中, 由于某種原因, 造成系統(tǒng)停止運行,致使事務(wù)在執(zhí)行過程中以非控制方式終止,這時內(nèi)存中的信息丟失,而存儲在外存上的數(shù)據(jù)不受影響,這種情況稱為。答案:系統(tǒng)故障35系統(tǒng)在運行運程中,由于某種硬件故障,使存儲在外存上的數(shù)據(jù)部分損失或全部損失,這種情況稱為。答案:介質(zhì)故障36數(shù)據(jù)庫系統(tǒng)在運行過程中,可能會發(fā)生故障。故障主要有、介質(zhì)故障和四類。答案:事務(wù)故障系統(tǒng)故障計算機病毒37數(shù)據(jù)庫系統(tǒng)在運行過程中, 可能會發(fā)生各種故障,其故障對數(shù)據(jù)庫的影響總結(jié)起來有兩類:和。答案:數(shù)據(jù)庫本身被破壞數(shù)據(jù)庫處于不一致狀38數(shù)據(jù)庫系統(tǒng)是利用存儲在外存上其他地方的來

18、重建被破壞的數(shù)據(jù)庫。它主要有兩種:和。答案:冗余數(shù)據(jù)后援副本日志文件39制作后援副本的過程稱為。它又分為和。答案:轉(zhuǎn)儲增量轉(zhuǎn)儲日志文件40事務(wù)故障、系統(tǒng)故障的恢復(fù)是由完成的,介質(zhì)故障是由完成的。答案:系統(tǒng)自動41 數(shù)據(jù)庫中數(shù)據(jù)的完整性包括答案:實體完整性42實體完整性是指在基本表中,答案:主屬性不能取空值 DBA 執(zhí)行恢復(fù)操作過程、和參照完整性用戶自定義的完整性。43參照完整性是指在基本表中,答案:外碼可以是空值或者另一個關(guān)系主碼的有效值。44為了保護數(shù)據(jù)庫的實體完整性,當用戶程序?qū)χ鞔a進行更新使主碼值不惟一時,就 。DBMS答案:拒絕此操作45在數(shù)據(jù)庫系統(tǒng)中對存取權(quán)限的定義稱為答案:授權(quán)。4

19、6在 SQL授權(quán)使用語言中,為了數(shù)據(jù)庫的安全性,設(shè)置了對數(shù)據(jù)的存取進行控制的語句,對用戶語句,收回所授的權(quán)限使用語句。答案: GRANT REVOKE四、 簡答題1試述事務(wù)的概念及事務(wù)的4 個特性。答:事務(wù)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位。事務(wù)具有4 個特性:原子性(Atomicity)、一致性( consistency )、隔離性 ( Isolation)和持續(xù)性( Durability)。這 4 個特性也簡稱為ACID特性。原子性:事務(wù)是數(shù)據(jù)庫的邏輯工作單位,事務(wù)中包括的諸操作要么都做,要么都不做。一致性:事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一

20、個一致性狀態(tài)變到另一個一致性狀態(tài)。隔離性: 一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾。即一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對其他并發(fā)事務(wù)是隔離的,并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾。持續(xù)性:持續(xù)性也稱永久性( Perfnanence ) ,指一個事務(wù)一旦提交, 它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。 接下來的其他操作或故障不應(yīng)該對其執(zhí)行結(jié)果有任何影響。2. 在數(shù)據(jù)庫中為什么要并發(fā)控制?答:數(shù)據(jù)庫是共享資源,通常有許多個事務(wù)同時在運行。當多個事務(wù)并發(fā)地存取數(shù)據(jù)庫時就會產(chǎn)生同時讀取和或修改同一數(shù)據(jù)的情況。 若對并發(fā)操作不加控制就可能會存取和存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的一致性。所以數(shù)據(jù)庫管理系統(tǒng)必須提供并發(fā)

21、控制機制。3. 并發(fā)操作可能會產(chǎn)生哪幾類數(shù)據(jù)不一致?用什么方法能避免各種不一致的情況?答:并發(fā)操作帶來的數(shù)據(jù)不一致性包括三類:丟失修改( lost update )、不可重復(fù)讀 ( Non 一Repeatable Read )和讀“臟數(shù)據(jù)(Dirty Read ) 。( l)丟失修改是指兩個事務(wù)Tl和 T2 讀入同一數(shù)據(jù)并修改, T2提交的結(jié)果破壞了(覆蓋了)Tl 提交的結(jié)果,導致Tl 的修改被丟失。( 2)不可重復(fù)讀是指事務(wù)Tl 讀取數(shù)據(jù)后,事務(wù) T2 執(zhí)行更新操作,使Tl 無法再現(xiàn)前一次讀取結(jié)果。( 3)讀“臟”數(shù)據(jù)是指事務(wù)Tl修改某一數(shù)據(jù),并將其寫回磁盤,事務(wù)T2 讀取同一數(shù)據(jù)后, Tl

22、 由于某種原因被撤銷,這時Tl已修改過的數(shù)據(jù)恢復(fù)原值,T2讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,則 T2讀到的數(shù)據(jù)就為“臟”數(shù)據(jù),即不正確的數(shù)據(jù)。產(chǎn)生上述三類數(shù)據(jù)不一致性的主要原因是并發(fā)操作破壞了事務(wù)的隔離性。并發(fā)控制就是要用正確的方式調(diào)度并發(fā)操作,使一個用戶事務(wù)的執(zhí)行不受其它事務(wù)的干擾,從而避免造成數(shù)據(jù)的不一致性。并發(fā)控制的主要技術(shù)是封鎖( Llcking )。也可以用其他技術(shù),例如在分布式數(shù)據(jù)庫系統(tǒng)中可以采用時間戳方法來進行并發(fā)控制。4什么是封鎖?基本的封鎖類型有幾種?試述它們的含義。答: 封鎖就是事務(wù)T 在對某個數(shù)據(jù)對象例如表、記錄等操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。加鎖后事務(wù)T 就對

23、該數(shù)據(jù)對象有了一定的控制,在事務(wù)T 釋放它的鎖之前,其他的事務(wù)不能更新此數(shù)據(jù)對象。封鎖是實現(xiàn)并發(fā)控制的一個非常重要的技術(shù)?;镜姆怄i類型有兩種:排它鎖(ExclusiveLocks ,簡稱x 鎖)和共享鎖( 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

24、 釋放A 上的S 鎖。這就保證了其他事務(wù)可以讀 A ,但在T 釋放 A 上的S 鎖之前不能對A 做任何修改。5. 什么是活鎖?什么是死鎖?答:如果事務(wù)T1 封鎖了數(shù)據(jù) R,事務(wù)T2 又請求封鎖 R,于是 T2 等待。 T3 也請求封鎖 R,當T1 釋放了 R 上的封鎖之后系統(tǒng)首先批準了T3 的請求,T2 仍然等待。然后 T4 又請求封鎖 R,當 T3 釋放了 R 上的封鎖之后系統(tǒng)又批準了 T4 的請求, T2 有可能永遠等待,這就是活鎖的情形。 活鎖的含義是該等待事務(wù)等待時間太長,似乎被鎖住了, 實際上可能被激活。如果事務(wù)T1 封鎖了數(shù)據(jù) R1,T2 封鎖了數(shù)據(jù) R2,然后 T1 又請求封鎖

25、R2,T2 已封鎖了 R2,于是等待T2 釋放 R2 上的鎖。接著T2又申請封鎖R1,因 T1 已封鎖 R1,T2 也只能等待T1 釋放 R1 上的鎖。這樣就出現(xiàn)了T1 在等待 T2 ,而 T2 又在等待 T1 的局面, T1 和 T2 兩個事務(wù)永遠不能結(jié)束,形成死鎖。6 如何預(yù)防死鎖?答:在數(shù)據(jù)庫中, 產(chǎn)生死鎖的原因是兩個或多個事務(wù)都已封鎖了一些數(shù)據(jù)對象, 然后又都請求對已被其他事務(wù)封鎖的數(shù)據(jù)對象加鎖, 從而出項死等待。 防止死鎖的發(fā)生其實就是要破壞產(chǎn)生死鎖的條件。預(yù)防死鎖通常有兩種方法:( 1) 一次封鎖法一次封鎖法要求每個事務(wù)必須一次將所有要使用的數(shù)據(jù)全部加鎖,否則就不能繼續(xù)執(zhí)行。一次封

26、鎖法雖然可以有效地防止死鎖的發(fā)生, 但也存在問題, 一次就將以后要用到的全部數(shù)據(jù)加鎖,勢必擴大了封鎖的范圍,從而降低了系統(tǒng)的并發(fā)度。( 2)順序封鎖法順序封鎖法是預(yù)先對數(shù)據(jù)對象規(guī)定一個封鎖順序,所以事務(wù)都按這個順序?qū)嵭蟹怄i。順序封鎖法可以有效地防止死鎖,但也同時存在問題。事務(wù)的封鎖請求可以隨著事務(wù)的執(zhí)行而動態(tài)地決定, 很難事先確定每一個事務(wù)要封鎖哪些對象,因此也就很難按規(guī)定的順序去施加封鎖??梢姡诓僮飨到y(tǒng)中廣為采用的預(yù)防死鎖的策略并不很適合數(shù)據(jù)庫的特點,因此 DBMS在解決死鎖的問題上普遍采用的是診斷并解除死鎖的方法。7 請給出檢測死鎖發(fā)生的一種方法,當發(fā)生死鎖后如何解除死鎖?答: DBMS

27、中診斷死鎖的方法與操作系統(tǒng)類似,一般使用超時法 或事務(wù)等待圖 法。超時法是:如果一個事務(wù)的等待時間超過了規(guī)定的時限,就認為發(fā)生了死鎖。超時法實現(xiàn)簡單,但有可能誤判死鎖,事務(wù)因其他原因長時間等待超過時限時,系統(tǒng)會誤認為發(fā)生了死鎖。若時限設(shè)置得太長,又不能及時發(fā)現(xiàn)死鎖發(fā)生。DBMS并發(fā)控制子系統(tǒng)檢測到死鎖后,就要設(shè)法解除。 通常采用的方法是選擇一個處理死鎖代價最小的事務(wù),將其撤消,釋放此事務(wù)持有的所有鎖,使其他事務(wù)得以繼續(xù)運行下去。當然,對撤銷的事務(wù)所執(zhí)行的數(shù)據(jù)修改操作必須加以恢復(fù)。11 什么樣的并發(fā)調(diào)度是正確的調(diào)度?答: 可串行化(Serializable )的調(diào)度是正確的調(diào)度??纱谢恼{(diào)度的

28、定義:多個事務(wù)的并發(fā)執(zhí)行是正確的, 當且僅當其結(jié)果與按某一次序串行執(zhí)行它們時的結(jié)果相同, 稱這種調(diào)度策略為可串行化的調(diào)度。8. Tl , T2 , T3 是如下的 3 個事務(wù):Tl : A : = A + 2 ;T2:A:=A*2;T3:A:=A*2;(A<-A*A)設(shè)A的初值為0。( l )若這3 個事務(wù)允許并行執(zhí)行,則有多少可能的正確結(jié)果,請一一列舉出來。答 :A的最終結(jié)果可能有2 、4 、8 、16。因為串行執(zhí)行次序有Tl T2T3、TlT3T2 、T2T1T3 、T2T3Tl、T3T1T2 、T3T2 Tl。對應(yīng)的執(zhí)行結(jié)果是16 、8、4、2、4、2 。( 2 )請給出一個可串行化的調(diào)度,并給出執(zhí)行結(jié)果答:最后結(jié)果A 為 16 ,是可串行化的調(diào)度。( 3 )請給出一個非串行化的調(diào)度,并給出執(zhí)行結(jié)果。答:最后結(jié)果A 為 0 ,為非串行化的調(diào)度。( 4 )若這3 個事務(wù)都遵守兩段鎖協(xié)議,請給出一個不產(chǎn)生死鎖的可串行化調(diào)度。答:( 5

溫馨提示

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

評論

0/150

提交評論