當前位置:才華齋>計算機>計算機四級>

2017計算機等級考試四級資料庫系統工程師練習題

計算機四級 閱讀(3.28W)

計算機四級是等級考試的最高級別。為幫助同學們複習四級資料庫系統工程師考試,以下是本站小編搜尋整理的一份計算機等級考試四級資料庫系統工程師練習題,供參考練習,希望對大家有所幫助!想了解更多相關資訊請持續關注我們應屆畢業生考試網!

2017計算機等級考試四級資料庫系統工程師練習題

1 .________ 是一系列的資料庫操作,是資料庫應用程式的基本邏輯單元。 (問答題)

事務

2 . 試述事務的概念及事務的四個特性。 (填空題)

事務是使用者定義的一個數據庫操作序列,這些操作要麼全做要麼全不做,是一個不可分割的工作單位。事務具有四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持續性(Durability)。這個四個特性也簡稱為ACID特性。原子性:事務是資料庫的邏輯工作單位,事務中包括的諸操作要麼都做,要麼都不做。一致性:事務執行的結果必須是使資料庫從一個一致性狀態變到另一個一致性狀態。隔離性:一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的資料對其他併發事務是隔離的,併發執行的各個事務之間不能互相干擾。持續性:持續性也稱永久性(Permanence),指一個事務一旦提交,它對資料庫中資料的改變就應該是永久性的。接下來的其他操作或故障不應該對其執行結果有任何影響。

3 . 為什麼事務非正常結束時會影響資料庫資料的正確性,請列舉一例說明之。 (填空題)

事務執行的結果必須是使資料庫從一個一致性狀態變到另一個一致性狀態。如果資料庫系統執行中發生故障,有些事務尚未完成就被迫中斷,這些未完成事務對資料庫所做的修改有一部分已寫入物理資料庫,這時資料庫就處於一種不正確的狀態,或者說是不一致的狀態。例如某工廠的庫存管理系統中,要把數量為Q的某種零件從倉庫1移到倉庫2存放。則可以定義一個事務T,T包括兩個操作;Q1=Q1-Q,Q2=Q2+Q。如果T非正常終止時只做了第一個操作,則資料庫就處於不一致性狀態,庫存量無緣無故少了Q。

4 . 事務處理技術主要包括________ 技術和________技術。 (問答題)

資料庫恢復 併發控制

5 . 在SQL語言中,定義事務控制的語句主要有________ 、________ 和 ________ 。 (問答題)

BEGIN TRANSACTION COMMIT ROLLBACK

6 . 資料庫中為什麼要有恢復子系統?它的功能是什麼? (填空題)

因為計算機系統中硬體的故障、軟體的錯誤、操作員的失誤以及惡意的破壞是不可避免的,這些故障輕則造成執行事務非正常中斷,影響資料庫中資料的正確性,重則破壞資料庫,使資料庫中全部或部分資料丟失,因此必須要有恢復子系統。恢復子系統的功能是:把資料庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為一致狀態或完整狀態)。

7 . 事務具有四個特性:它們是________ 、________ 、________ 和 ________ 。這個四個特性也簡稱為________特性。 (問答題)

原子性(Atomicity) 一致性(Consistency) 隔離性(Isolation) 持續性(Durability) ACID

8 . 資料庫執行中可能產生的故障有哪幾類?哪些故障影響事務的正常執行?哪些故障破壞資料庫資料? (填空題)

資料庫系統中可能發生各種各樣的故障,大致可以分以下幾類:(1) 事務內部的故障;(2) 系統故障;(3) 介質故障;(4) 計算機病毒。事務故障、系統故障和介質故障影響事務的正常執行;介質故障和計算機病毒破壞資料庫資料。

9 . 把資料庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為一致狀態)的功能,這就是________ 。 (問答題)

資料庫的恢復

10 . 資料庫恢復的基本技術有哪些? (填空題)

資料轉儲和登入日誌檔案是資料庫恢復的基本技術。當系統執行過程中發生故障,利用轉儲的資料庫後備副本和日誌檔案就可以將資料庫恢復到故障前的某個一致性狀態。

11 . 資料庫系統中可能發生各種各樣的故障,大致可以分為________ 、________ 、________ 和 ________ 等。 (問答題)

事務故障 系統故障 介質故障 計算機病毒

12 .資料庫轉儲的意義是什麼? 試比較各種資料轉儲方法。 (填空題)

資料轉儲是資料庫恢復中採用的基本技術。所謂轉儲即DBA定期地將資料庫複製到磁帶或另一個磁碟上儲存起來的過程。當資料庫遭到破壞後可以將後備副本重新裝入,將資料庫恢復到轉儲時的狀態。靜態轉儲:在系統中無執行事務時進行的轉儲操作。如上圖所示。靜態轉儲簡單,但必須等待正執行的使用者事務結束才能進行。同樣,新的事務必須等待轉儲結束才能執行。顯然,這會降低資料庫的可用性。動態轉儲:指轉儲期間允許對資料庫進行存取或修改。動態轉儲可克服靜態轉儲的缺點,它不用等待正在執行的使用者事務結束,也不會影響新事務的執行。但是,轉儲結束時後援副本上的資料並不能保證正確有效。因為轉儲期間執行的事務可能修改了某些資料,使得後援副本上的資料不是資料庫的一致版本。為此,必須把轉儲期間各事務對資料庫的修改活動登記下來,建立日誌檔案(log file)。這樣,後援副本加上日誌檔案就能得到資料庫某一時刻的正確狀態。轉儲還可以分為海量轉儲和增量轉儲兩種方式。海量轉儲是指每次轉儲全部資料庫。增量轉儲則指每次只轉儲上一次轉儲後更新過的資料。從恢復角度看,使用海量轉儲得到的後備副本進行恢復一般說來更簡單些。但如果資料庫很大,事務處理又十分頻繁,則增量轉儲方式更實用更有效。

13 . 建立冗餘資料最常用的技術是________ 和________ 。通常在一個數據庫系統中,這兩種方法是一起使用的。 (問答題)

資料轉儲 登入日誌檔案

14 .什麼是日誌檔案?為什麼要設立日誌檔案? (填空題)

(1) 日誌檔案是用來記錄事務對資料庫的更新操作的檔案。(2) 設立日誌檔案的目的是: 進行事務故障恢復;進行系統故障恢復;協助後備副本進行介質故障恢復。

15 . 轉儲可分為________ 和________,轉儲方式可以有________和 ________。 (問答題)

靜態轉儲 動態轉儲 海量轉儲 增量轉儲

16 .登記日誌檔案時為什麼必須先寫日誌檔案,後寫資料庫? (填空題)

把對資料的修改寫到資料庫中和把表示這個修改的日誌記錄寫到日誌檔案中是兩個不同的操作。有可能在這兩個操作之間發生故障,即這兩個寫操作只完成了一個。如果先寫了資料庫修改,而在執行記錄中沒有登記這個修改,則以後就無法恢復這個修改了。如果先寫日誌,但沒有修改資料庫,在恢復時只不過是多執行一次UNDO操作,並不會影響資料庫的正確性。所以一定要先寫日誌檔案,即首先把日誌記錄寫到日誌檔案中,然後寫資料庫的修改。

17 .針對不同的故障,試給出恢復的策略和方法。(即如何進行事務故障的恢復?系統故障的'恢復?介質故障恢復?) (填空題)

答:事務故障的恢復:事務故障的恢復是由DBMS自動完成的,對使用者是透明的。 DBMS執行恢復步驟是:(1)反向掃描檔案日誌(即從最後向前掃描日誌檔案),查詢該事務的更新操作。(2)對該事務的更新操作執行逆操作。即將日誌記錄中“更新前的值”寫入資料庫。(3)繼續反向掃描日誌檔案,做同樣處理。(4)如此處理下去,直至讀到此事務的開始標記,該事務故障的恢復就完成了。答:系統故障的恢復:系統故障可能會造成資料庫處於不一致狀態:一是未完成事務對資料庫的更新可能已寫入資料庫;二是已提交事務對資料庫的更新可能還留在緩衝區,沒來得及寫入資料庫。因此恢復操作就是要撤銷(UNDO)故障發生時未完成的事務,重做(REDO)已完成的事務。系統的恢復步驟是:(1)正向掃描日誌檔案,找出在故障發生前已經提交的事務佇列(REDO佇列)和未完成的事務佇列(UNDO佇列)。(2)對撤銷佇列中的各個事務進行UNDO處理。進行UNDO處理的方法是,反向掃描日誌檔案,對每個UNDO事務的更新操作執行逆操作,即將日誌記錄中“更新前的值”(Before Image)寫入資料庫。(3)對重做佇列中的各個事務進行REDO處理。進行REDO處理的方法是:正向掃描日誌檔案,對每個REDO事務重新執行日誌檔案登記的操作。即將日誌記錄中“更新後的值”(After Image)寫入資料庫。 *解析:在第(1)步中如何找出REDO佇列和UNDO佇列?請大家思考一下。下面給出一個演算法: 1) 建立兩個事務佇列: ? UNDO-LIST: 需要執行undo操作的事務集合; ? REDO-LIST: 需要執行redo操作的事務集合;兩個事務佇列初始均為空。 2) 從日誌檔案頭開始,正向掃描日誌檔案 ? 如有新開始(遇到Begin Transaction)的事務Ti,把Ti暫時放入UNDO-LIST佇列; ? 如有提交的事務(遇到End Transaction)Tj,把Tj從UNDO-LIST佇列移到REDO-LIST佇列;直到日誌檔案結束答:介質故障的恢復:介質故障是最嚴重的一種故障。恢復方法是重灌資料庫,然後重做已完成的事務。具體過程是:(1) DBA裝入最新的資料庫後備副本(離故障發生時刻最近的轉儲副本),使資料庫恢復到轉儲時的一致性狀態。(2) DBA裝入轉儲結束時刻的日誌檔案副本(3) DBA啟動系統恢復命令,由DBMS完成恢復功能,即重做已完成的事務。 *解析 1)我們假定採用的是靜態轉儲,因此第(1)步裝入資料庫後備副本便可以了。 2)如果採用的是動態轉儲,第(1)步裝入資料庫後備副本還不夠,還需同時裝入轉儲開始時刻的日誌檔案副本,經過處理後才能得到正確的資料庫後備副本。 3)第(2)步重做已完成的事務的演算法是: a. 正向掃描日誌檔案,找出故障發生前已提交的事務的標識,將其記入重做佇列 b. 再一次正向掃描日誌檔案,對重做佇列中的所有事務進行重做處理。即將日誌記錄中“更新後的值”寫入資料庫。

18 .________ 是用來記錄事務對資料庫的更新操作的檔案。主要有兩種格式:以________為單位的日誌檔案和以________為單位的日誌檔案。 (問答題)

日誌檔案 記錄 資料塊

19 .什麼是檢查點記錄,檢查點記錄包括哪些內容? (填空題)

檢查點記錄是一類新的日誌紀錄。它的內容包括: ① 建立檢查點時刻所有正在執行的事務清單。 ② 這些事務的最近一個日誌記錄的地址。

20 .具有檢查點的恢復技術有什麼優點?試舉一個具體的例子加以說明。 (填空題)

利用日誌技術進行資料庫恢復時,恢復子系統必須搜尋日誌,確定哪些事務需要REDO,哪些事務需要UNDO。一般來說,需要檢查所有日誌記錄。這樣做有兩個問題:一是搜尋整個日誌將耗費大量的時間。二是很多需要REDO處理的事務實際上已經將它們的更新操作結果寫到資料庫中了,恢復子系統又重新執行了這些操作,浪費了大量時間。檢查點技術就是為了解決這些問題。

21 .試述使用檢查點方法進行恢復的步驟。 (填空題)

① 從重新開始檔案中找到最後一個檢查點記錄在日誌檔案中的地址,由該地址在日誌檔案中找到最後一個檢查點記錄。 ② 由該檢查點記錄得到檢查點建立時刻所有正在執行的事務清單ACTIVE-LIST。這裡建立兩個事務佇列: ? UNDO-LIST: 需要執行undo操作的事務集合; ? REDO-LIST: 需要執行redo操作的事務集合;把ACTIVE-LIST暫時放入UNDO-LIST佇列,REDO佇列暫為空。 ③ 從檢查點開始正向掃描日誌檔案 ? 如有新開始的事務Ti,把Ti暫時放入UNDO-LIST佇列; ? 如有提交的事務Tj,把Tj從UNDO-LIST佇列移到REDO-LIST佇列,直到日誌檔案結束; ④ 對UNDO-LIST中的每個事務執行UNDO操作, 對REDO-LIST中的每個事務執行REDO操作。

22 .什麼是資料庫映象?它有什麼用途? (填空題)

資料庫映象即根據DBA的要求,自動把整個資料庫或者其中的部分關鍵資料複製到另一個磁碟上。每當主資料庫更新時,DBMS自動把更新後的資料複製過去,即DBMS自動保證映象資料與主資料的一致性。資料庫映象的用途有:一是用於資料庫恢復。當出現介質故障時,可由映象磁碟繼續提供使用,同時DBMS自動利用映象磁碟資料進行資料庫的恢復,不需要關閉系統和重灌資料庫副本。二是提高資料庫的可用性。在沒有出現故障時,當一個使用者對某個資料加排它鎖進行修改時,其他使用者可以讀映象資料庫上的資料,而不必等待該使用者釋放鎖。