登記日誌文件為什麼先寫文件
A. 資料庫原理及應用基礎的常見類型題
1.B 2.C 3.B 4.C 5.D 6.C 7.C 8.D 9.C 10.A
11.A 12.A 13.A - 不知道14。乙evogue2006 - 10 - 24 11點47分01秒15?16.A 17.B 18.A 19.D 20.C
試述事務的概念和事務的四個特性。
A:
事務是一個用戶定義的資料庫操作序列,這些操作要麼全部做或不做的整體,是一個不可分割的工作單元。
事務有四個特點:原子性(原子性),一致性(一致性),隔離(隔離)和持久性(Durability)。這四個特點也被稱為ACID屬性。
原子性:事務資料庫的邏輯工作單元,該交易包括所有的操作,無論是做還是不做。
一致性:事務執行的結果必須更改資料庫從一個一致狀態轉換到另一個一致的狀態。
隔離:一個事務的執行不能被其他事務的干擾。一個事務內的操作和使用其他並發事務的數據分離出來,並發執行的個別交易不能互相干擾。
持續性:持續性的,也被稱為永久(持久性),指的到交易提交其數據存儲在資料庫中的變化應該是永久性的。接下來的操作或故障不應該有任何影響其執行結果。
2。為什麼事務非正常時間的推移,會影響資料庫中數據的正確性,舉了一個例子。
A:
事務的執行結果必須更改資料庫從一個一致狀態轉換到另一個一致狀態。如果出現故障的資料庫系統的操作,一些尚未完成的交易被迫中斷,這些未完成的交易的一部分已被寫入到物理資料庫對資料庫所做的更改,然後在資料庫中不正確的狀態,或者是不一致的狀態。
如一個工廠的庫存管理系統,它是必要的量Q的某些部分從倉庫1倉庫2個存儲。
你可以定義一個事務T,T包括兩個操作; Q1 = Q1-Q,Q2 = Q2 + Q. T改變的終??止,只有當第一個操作,資料庫是不一致Q庫存沒有理由。
3。資料庫中為什麼要有恢復子系統?它的功能是什麼?
A:
是不可避免的,因為計算機系統的硬體故障,軟體錯誤,操作錯誤和惡意破壞所造成的這些故障從正在運行的事務中發生非正常中斷,影響資料庫中的數據正確性,而破壞了資料庫中,因此,在資料庫中的數據的全部或部分損失,因此必須有一個恢復子系統。功能
恢復子系統:資料庫從錯誤狀態恢復到一個已知的良好狀態(也被稱為一致的狀態或完整狀態)。
4。在資料庫中可能出現的故障運行幾類?什麼故障影響正常執行的交易嗎?什麼故障破壞資料庫中的數據?
A:資料庫系統的各種可能發生的故障大致可分為如下幾類:
(1)內部交易失敗;
(2)系統故障; />(3)介質故障;
(4)計算機病毒。的
交易失敗,系統故障和介質故障影響事務的正常執行;介質故障和計算機病毒破壞的數據
庫。
5。根據回收技術?
A:
數據轉儲和登錄日誌文件是資料庫恢復的基本技術。
當一個故障在系統運行過程中,轉儲資料庫的日誌文件,你可以將資料庫恢復到一致狀態,在發生故障之前的備份副本。
6。資料庫的轉儲的意義是什麼?各種數據轉儲方法的比較。
答案:
數據轉儲是基本的技術,在恢復的資料庫。所謂的轉儲資料庫DBA定期復制到磁帶或其他磁碟保存。可以重新載入資料庫破壞的資料庫的備份副本恢復時的狀態轉儲。
靜態轉儲:轉儲系統操作運行的事務。靜態轉儲,但必須等待用戶交易結束之前運行。同樣,新的事務必須等待執行轉儲結束。顯然,這將減少資料庫的可用性。
動態轉儲:轉儲期間允許資料庫訪問或。動態的轉儲可以克服靜態轉儲的缺點,它並不需要等待正在運行的用戶交易的結束,也不會影響新事務的操作。然而,備份的數據副本結束時的轉儲和不能保證正確和有效的。 ,因為轉儲運行在交易過程中可能會一些數據,備份的數據副本是不符合版本的資料庫。
為此,我們必須活動期間注冊使用mp transaction資料庫,以創建一個日誌文件(日誌文件)。在這樣的日誌文件的備份副本可以得到正確的資料庫狀態的時刻。
轉儲海量轉儲和增量轉儲可以分為兩種方式。
大規模傾倒每一個轉儲所有資料庫。增量轉儲每次更新只轉儲上次轉儲數據。從恢復的角度來看,大量的轉儲的備份副本恢復一般更容易。如果該資料庫,事務處理,是非常頻繁,增量轉儲方式更實用,更有效。
7。日誌文件?為什麼要建立一個日誌文件?
答案:
(1)日誌文件是用來記錄交易文件對資料庫的更新操作。
(2)建立的日誌文件的目的:交易故障恢復系統故障恢復;協助媒體恢復的備份副本。
登記日誌文件為什麼要寫入日誌文件後,寫入到資料庫?
A:
的數據寫入到資料庫中,兩種不同的操作,這個後的日誌記錄被寫入到日誌文件中。這兩個操作之間可能發生了故障,即這兩個寫操作只完成了。
先寫一個資料庫,而不是變化的運行記錄中,小數點後不能被恢復這一。如果你寫的日誌,但沒有資料庫,恢復執行UNDO操作,不影響資料庫的正確性。所以一定要確保你寫的日誌文件,日誌記錄寫入到日誌文件中,然後寫入到資料庫的變化。
9,測試是針對不同的故障恢復策略和方法。 (也就是說,如何進行交易系統故障恢復故障恢復介質恢復?)
A:
交易故障恢復:
事務故??障的恢復是自動完成的DBMS ,是對用戶透明。
DBMS執行恢復步驟:
(1)反向掃描文件日誌(即從最後一次掃描日誌文件),則該事務更新操作。
(2)事務的更新操作執行逆操作。關於日誌記錄更新前值嗎?寫入到資料庫中。
(3)反向掃描日誌文件,做同樣的。
(4)?下去,直到你讀的開始標記本次交易,交易失敗恢復完整。
A:
系統故障恢復:
系統出現故障可能會導致資料庫處於不一致的狀態:
首先,沒有完成的交易資料庫的更新可能已被寫入到資料庫中;
已提交的交易資料庫的更新可能還留在緩沖區中,並沒有寫入到資料庫。
恢復操作(UNDO)的未竟事業出現故障,重做(REDO)已完成的交易。
恢復步驟:
(1)正向掃描日誌文件,以確定該交易已提交在故障發生前隊列中(REDO隊列的)和未完成的事務隊列(UNDO隊列)。
(2)UNDO處理隊列中的個別交易的。
UNDO處理方法是反向掃描日誌文件,更新操作執行相反的操作,每一個UNDO事務迫在眉睫的「價值」(前映像)記錄寫入到資料庫中,然後再更新。
(3)治療重做重做隊列事務。
REDO處理方法:正向掃描日誌文件,每個REDO事務重新執行操作的日誌文件登記。即將推出的日誌記錄寫入到資料庫中的更新值「(後映像)。
解析度:
步驟(1)如何確定的REDO隊列和UNDO隊列,請考慮一下吧。 BR />的演算法如下:
1)創建兩個事務隊列:
·UNDO-LIST:需要執行undo操作的事務集;
·REDO-LIST:需要執行重做操作事務集;
事務隊列最初是空的。
)從日誌文件頭,正向掃描日誌文件
是否有新的開始(遇到BEGIN TRANSACTION)交易鈦,鈦暫時放入UNDO-LIST隊列;
·如果提交的事務(遇到結束事務)TJ TJ從隊列undo-list中的REDO-LIST隊列;
直到最後的日誌文件A:
介質故障恢復:
介質故障是最嚴重的故障。
恢復方法是重裝資料庫,然後重做已完成交易的過程是:
(1 )DBA裝入最新的資料庫備份(從故障時間最近的轉儲副本),將資料庫恢復到一致的狀態轉儲。
(2)DBA的日誌文件的副本載入轉儲結束時間
(3)DBA啟動系統恢復命令來完成還原的DBMS的功能,重做已完成的交易。
解析
1)我們假設靜態轉儲的步驟(1)安裝資料庫的備份副本。
2)如果您使用的是靜態和動態轉儲步驟(1)將資料庫的備份副本是不夠的,需要同時載入的副本日誌文件的轉儲開始治療後的時間,以獲得正確的資料庫的備份副本。
3)(2)步演算法來重做已完成的交易:
正向掃描日誌文件,以找出識別在故障發生之前提交的交易中,計入的重量隊列
B。再次向前掃描日誌文件,重做重做隊列中的所有交易。即將推出的日誌記錄寫入到資料庫中的更新值。
>
10。檢查點恢復技術的優勢是什麼?
A:
測井技術進行資料庫恢復,恢復子系統必須搜索日誌,以確定哪些事務需要重做,哪些事務需要。一般來說,你需要檢查所有的記錄。這樣做有兩個問題:
首先,搜索整個日誌將花費大量的時間。
REDO處理的事務實際上寫的更新操作資料庫恢復子系統又執行這些操作,浪費了大量的時間。
檢查點技術,以解決這些問題。
11。師叔檢查點的恢復步驟。
①從啟動文件的最後一個檢查點記錄在日誌文件中的地址找到最後一個檢查點記錄在日誌文件中找到的地址。
②檢查站的檢查點記錄的建立時間列表中的所有運行的事務ACTIVE-LIST。
創建兩個事務隊列:
·UNDO-LIST:需要執行undo操作的事務集;
·REDO-LIST:集交易需要執行恢復操作;
ACTIVE-LIST暫時到UNDO-LIST隊列,REDO隊列暫時空。
③從檢查點開始正向掃描日誌文件
任何新的起點事務鈦undo-list中的Ti暫時放置在隊列中;
·如果提交事務TJ,TJ移動從UNDO-LIST隊列,REDO-LIST隊列,直到最後的日誌文件;
>④UNDO操作執行undo-list中的每一筆交易REDO-LIST中的每個事務執行REDO操作。
12。資料庫鏡像?使用?
答案:
資料庫鏡像是根據對DBA的要求,自動復制到另一個磁碟上的關鍵數據在整個資料庫或部分。每當主資料庫更新時,DBMS自動復制更新後的數據,在過去,DBMS自動保證鏡像的一致性
使用資料庫鏡像的數據和主數據。:
一個用於資料庫恢復。當介質故障的鏡像磁碟繼續提供使用的資料庫管理系統自動鏡像磁碟數據恢復的資料庫,並且不需要關閉系統並重新安裝該資料庫的副本。
二是要提高無故障,當用戶的數據加排他鎖來其他用戶可以讀取的數據的資料庫的可用性。鏡像資料庫,無需等待用戶釋放該鎖。
B. 什麼是日誌文件為什麼要設立日誌文件
摘要 日誌文件(Logfiles)是包含系統消息的文件,包括內核、服務、在系統上運行的應用程序等。不同的日誌文件記載不同的信息。日誌文件系統比傳統的文件系統安全,因為它用獨立的日誌文件跟蹤磁碟內容的變化。日誌文件系統(journalingfilesystem)是一個具有故障恢復能力的文件系統,在這個文件系統中,因為對目錄以及點陣圖的更新信息總是在原始的磁碟日誌被更新之前寫到磁碟上的一個連續的日誌上,所以它保證了數據的完整性。當發生系統錯誤時,一個全日誌文件系統將會保證磁碟上的數據恢復到發生系統崩潰前的狀態。同時,它還將覆蓋未保存的數據,並將其存在如果計算機沒有崩潰的話這些數據可能已經遺失的位置,這是對關鍵業務應用來說的一個很重要的特性。
C. 資料庫原理及應用試題
1.B 2.C 3.B 4.C 5.D 6.C 7.C 8.D 9.C 10.A
11.A 12.A 13.A --不太確定 14.B 15.C 16.A 17.B 18.A 19.D 20.C
1.試述事務的概念及事務的四個特性。
答:
事務是用戶定義的一個資料庫操作序列,這些操作要麼全做要麼全不做,是一個不可分割的工作單位。
事務具有四個特性:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持續性(Durability)。這個四個特性也簡稱為ACID特性。
原子性:事務是資料庫的邏輯工作單位,事務中包括的諸操作要麼都做,要麼都不做。
一致性:事務執行的結果必須是使資料庫從一個一致性狀態變到另一個一致性狀態。
隔離性:一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對其他並發事務是隔離的,並發執行的各個事務之間不能互相干擾。
持續性:持續性也稱永久性(Permanence),指一個事務一旦提交,它對資料庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其執行結果有任何影響。
2.為什麼事務非正常結束時會影響資料庫數據的正確性,請列舉一例說明之。
答:
事務執行的結果必須是使資料庫從一個一致性狀態變到另一個一致性狀態。如果資料庫系統運行中發生故障,有些事務尚未完成就被迫中斷,這些未完成事務對資料庫所做的修改有一部分已寫入物理資料庫,這時資料庫就處於一種不正確的狀態,或者說是不一致的狀態。
例如某工廠的庫存管理系統中,要把數量為Q的某種零件從倉庫1移到倉庫2存放。
則可以定義一個事務T,T包括兩個操作;Q1=Q1-Q,Q2=Q2+Q。如果T非正常終止時只做了第一個操作,則資料庫就處於不一致性狀態,庫存量無緣無故少了Q。
3.資料庫中為什麼要有恢復子系統?它的功能是什麼?
答:
因為計算機系統中硬體的故障、軟體的錯誤、操作員的失誤以及惡意的破壞是不可避免的,這些故障輕則造成運行事務非正常中斷,影響資料庫中數據的正確性,重則破壞資料庫,使資料庫中全部或部分數據丟失,因此必須要有恢復子系統。
恢復子系統的功能是:把資料庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為一致狀態或完整狀態)。
4.資料庫運行中可能產生的故障有哪幾類?哪些故障影響事務的正常執行?哪些故障破壞資料庫數據?
答:資料庫系統中可能發生各種各樣的故障,大致可以分以下幾類:
(1)事務內部的故障;
(2)系統故障;
(3)介質故障;
(4)計算機病毒。
事務故障、系統故障和介質故障影響事務的正常執行;介質故障和計算機病毒破壞數據
庫數據。
5.據庫恢復的基本技術有哪些?
答:
數據轉儲和登錄日誌文件是資料庫恢復的基本技術。
當系統運行過程中發生故障,利用轉儲的資料庫後備副本和日誌文件就可以將資料庫恢復到故障前的某個一致性狀態。
6. 資料庫轉儲的意義是什麼? 試比較各種數據轉儲方法。
答:
數據轉儲是資料庫恢復中採用的基本技術。所謂轉儲即DBA定期地將資料庫復制到磁帶或另一個磁碟上保存起來的過程。當資料庫遭到破壞後可以將後備副本重新裝入,將資料庫恢復到轉儲時的狀態。
靜態轉儲:在系統中無運行事務時進行的轉儲操作。靜態轉儲簡單,但必須等待正運行的用戶事務結束才能進行。同樣,新的事務必須等待轉儲結束才能執行。顯然,這會降低資料庫的可用性。
動態轉儲:指轉儲期間允許對資料庫進行存取或修改。動態轉儲可克服靜態轉儲的缺點,它不用等待正在運行的用戶事務結束,也不會影響新事務的運行。但是,轉儲結束時後援副本上的數據並不能保證正確有效。因為轉儲期間運行的事務可能修改了某些數據,使得後援副本上的數據不是資料庫的一致版本。
為此,必須把轉儲期間各事務對資料庫的修改活動登記下來,建立日誌文件(log file)。這樣,後援副本加上日誌文件就能得到資料庫某一時刻的正確狀態。
轉儲還可以分為海量轉儲和增量轉儲兩種方式。
海量轉儲是指每次轉儲全部資料庫。增量轉儲則指每次只轉儲上一次轉儲後更新過的數據。從恢復角度看,使用海量轉儲得到的後備副本進行恢復一般說來更簡單些。但如果資料庫很大,事務處理又十分頻繁,則增量轉儲方式更實用更有效。
7. 什麼是日誌文件?為什麼要設立日誌文件?
答:
(1)日誌文件是用來記錄事務對資料庫的更新操作的文件。
(2)設立日誌文件的目的是: 進行事務故障恢復;進行系統故障恢復;協助後備副本進行介質故障恢復。
8. 登記日誌文件時為什麼必須先寫日誌文件,後寫資料庫?
答:
把對數據的修改寫到資料庫中和把表示這個修改的日誌記錄寫到日誌文件中是兩個不同的操作。有可能在這兩個操作之間發生故障,即這兩個寫操作只完成了一個。
如果先寫了資料庫修改,而在運行記錄中沒有登記這個修改,則以後就無法恢復這個修改了。如果先寫日誌,但沒有修改資料庫,在恢復時只不過是多執行一次UNDO操作,並不會影響資料庫的正確性。所以一定要先寫日誌文件,即首先把日誌記錄寫到日誌文件中,然後寫資料庫的修改。
9. 針對不同的故障,試給出恢復的策略和方法。(即如何進行事務故障的恢復?系統故障的恢復?介質故障恢復?)
答:
事務故障的恢復:
事務故障的恢復是由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. 再一次正向掃描日誌文件,對重做隊列中的所有事務進行重做處理。即將日誌記錄中「更新後的值」寫入資料庫。
10. 具有檢查點的恢復技術有什麼優點?
答:
利用日誌技術進行資料庫恢復時,恢復子系統必須搜索日誌,確定哪些事務需要REDO,哪些事務需要UNDO。一般來說,需要檢查所有日誌記錄。這樣做有兩個問題:
一是搜索整個日誌將耗費大量的時間。
二是很多需要REDO處理的事務實際上已經將它們的更新操作結果寫到資料庫中了,恢復子系統又重新執行了這些操作,浪費了大量時間。
檢查點技術就是為了解決這些問題。
11. 試述使用檢查點方法進行恢復的步驟。
答:
① 從重新開始文件中找到最後一個檢查點記錄在日誌文件中的地址,由該地址在日誌文件中找到最後一個檢查點記錄。
② 由該檢查點記錄得到檢查點建立時刻所有正在執行的事務清單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操作。
12. 什麼是資料庫鏡像?它有什麼用途?
答:
資料庫鏡像即根據DBA的要求,自動把整個資料庫或者其中的部分關鍵數據復制到另一個磁碟上。每當主資料庫更新時,DBMS自動把更新後的數據復制過去,即DBMS自動保證鏡像數據與主數據的一致性。
資料庫鏡像的用途有:
一是用於資料庫恢復。當出現介質故障時,可由鏡像磁碟繼續提供使用,同時DBMS自動利用鏡像磁碟數據進行資料庫的恢復,不需要關閉系統和重裝資料庫副本。
二是提高資料庫的可用性。在沒有出現故障時,當一個用戶對某個數據加排它鎖進行修改時,其他用戶可以讀鏡像資料庫上的數據,而不必等待該用戶釋放鎖。
D. 登記日誌文件應遵循哪些原則,為什麼
為保證資料庫是可恢復的,登記日誌文件時必須遵循兩條原則:
1. 登記的次序嚴格按並發事務執行的時間次序。
2.
必須先寫日誌文件,後寫資料庫。
把對數據的修改寫到資料庫中和把寫表示這個修改的日誌記錄寫到日誌文件中是兩個不同的操作。有可能在這兩個操作之間發生故障,即這兩個寫操作只完成了一個。如果先寫了資料庫修改,而在運行記錄中沒有登記下這個修改,則以後就無法恢復這個修改了。如果先寫日誌,但沒有修改資料庫,按日誌文件恢復時只不過是多執行一次不必要的UNDO操作,並不會影響資料庫的正確性。所以為了安全,一定要先寫日誌文件,即首先把日誌記錄寫到日誌文件中,然後寫資料庫的修改。這就是「先寫日誌文件」的原則。
E. 奧鵬教育計算機-資料庫技術(B)誰會
忽然他居然他放假糊塗人
F. 登記日記文件時為什麼必須先寫日記文件,後寫資料庫日誌文件能否和資料庫存儲在一起,為什麼
因為日誌是用來恢復資料庫的。
舉例來說,如果先寫資料庫,後寫日誌,但是在剛好寫了資料庫而未寫日誌的時候崩潰了,那麼根據日誌恢復出來的資料庫就少了一條記錄(假設是插入操作)。但反過來的話,完全可以根據日誌文件把這條數據恢復出來。
同樣的原因,日誌文件是不推薦和資料庫存儲在同一個硬碟的,因為一旦硬碟壞了就會一起死掉。當然,如果已經使用了帶容錯的RAID,甚至是盤櫃之類的設備,那麼可以放在一起沒有太大問題。
G. 為什麼要先寫日誌文件後寫資料庫
數據更新並不一定都能成功,日誌需要給給回滾段參考用。
H. 我給高分,求重郵試題
這是答案;
答題紙
一、單項選擇題(每小題2分,共20分)
題號 1 2 3 4 5 6 7 8 9 10
答案
二、填空題(每空2分,共20分)。
1. 2.
3. 4.
5. 6.
7. 8.
9. 10.
三、簡答題(共5小題,每小題4分,共20分)。
四、設計題(共5小題,每小題關系代數式2分,SQL語句2分,共20分)。
五、綜合題(共2題,每題10分,共20分)。
2007-9-1 22:44 liaojk123
2005-06-1db-A卷參考答案與評分細則
一、單項選擇題(每小題2分,共20分)
題號 1 2 3 4 5 6 7 8 9 10
答案 B B A C A C C C C D
二、填空題(每空2分,共20分)。
1. 資料庫系統 2. 外模式/模式映像
3. __選擇__ 4. _數據操縱_____
5. __DISTINCT_ 6. _GRANT___
7. _刪除異常__ 8. __3__
9. _物理___ 10. __實體__
三、簡答題(共5小題,每小題4分,共20分)。
1. 數據結構、數據操作、完整性約束。(錯一個扣1分,全錯不得分)
2. 需求分析、概念結構設計、邏輯結構設計、物理結構設計、資料庫實事、資料庫運行和維護。(錯一個扣0.5分,全錯不得分)
3. 事務是用戶定義的一個資料庫操作序列,這些操作要麼全做要麼全不做,是一個不可分割的工作單位。(2分)事務具有原子性、一致性、隔離性和持續性等特性。(每點0.5分)
4. 丟失修改、不可重復讀、讀「臟」數據。(錯一個扣1分,全錯不得分)
5. (1)正像掃描日誌文件,找出在故障發生前已經提交的事務,將其事務標識記入REDO隊列。同時找出故障發生時尚未完成的事務,將其事務標識記入UNDO隊列。(2)對UNDO隊列中的各個事務進行撤銷處理。(3)對REDO隊列中的各個事務進行重做處理。(錯一個扣1.5分,全錯不得分)
四、設計題(共5小題,每小題關系代數式2分,SQL語句2分,共20分)。注意:答案不唯一!
1.檢索所有選修了課程號為「C112」的課程的學生的學號和分數;
select 學號,分數 from 學習 where 課程號=』C112』;
∏學號,分數( 課程號=』C112』(學習))
2. 檢索「英語」專業學生所學課程的信息,包括學號、姓名、課程名和分數;
select 學習.學號,姓名,課程名,分數
from 學生,課程,學習
where 學習.學號=學生.學號 and 學習.課程號=課程.課程號 and 專業=』英語』;
∏學號,姓名,課程名,分數(∏學號,姓名( 專業=』英語』(學生))∞學習∞∏課程號,課程名(課程))
3. 檢索「資料庫原理」課程成績高於90分的所有學生的學號、姓名、專業和分數;
Select 學生.學號,姓名,專業,分數 from 學生,學習
Where 學生.學號=學習.學號 and 分數>90 and 課程號=
(select 課程號 from 課程 where 課程名=『資料庫原理』);
∏學號,姓名,專業,分數(∏學號,姓名,專業(學生)∞( 分數>90( 學習))∞∏課程號,課程名( 課程名=』資料庫原理』(課程)))
4.檢索不學課程號為「C135」課程的學生信息,包括學號,姓名和專業;
Select 學號,姓名,專業 from 學生
Where 學號 not in
(select 學號 from 學習 where 課程號=『C135』);
(∏學號(學生)-∏學號( 課程號=『C135』( 學習)))∞(∏學號,姓名,專業(學生)
5.檢索至少學過課程號為「C135」和「C219」的課程的學生的信息,包括學號、姓名和專業。
Select 學號,姓名,專業 from 學生 where 學號 in
(select X1.學號 from 學習 X1,學習 X2 where X1.學號=X2.學號 and X1.課程號=『C135』and X2。課程號=『C219』);
(∏學號,課程號(學習)÷∏課程號( 課程號=『C135』∨課程號=『C219』 (課程))) ∞∏學號,姓名,專業(學生)
五、綜合題(共2題,每題10分,共20分)。
1.現有如下關系模式:借閱(圖書編號,書名,作者名,出版社,讀者編號,讀者姓名,借閱日期,歸還日期),基本函數依賴集F={圖書編號→(書名,作者名,出版社),讀者編號→讀者姓名,(圖書編號,讀者編號,借閱日期)→歸還日期}
(1)讀者編號是候選碼嗎?(2分)
(2)寫出該關系模式的主碼。(2分)
(3)該關系模式中是否存在非主屬性對碼的部分函數依賴?如果存在,請寫出一個。(2分)
(4)該關系模式滿足第幾範式?並說明理由。(4分)
答:(1)不是。
(2)(圖書編號,讀者編號,借閱日期)
(3)存在。書名函數依賴於圖書編號,圖書編號是碼的真子集,所以書名部分函數依賴於碼。
(4)1NF。因為存在非主屬性對碼的部分函數依賴。
2. 某工廠生產多種產品,每種產品由不同的零件組裝而成,有的零件可用在不同的產品上。產品有產品號和產品名兩個屬性,零件有零件號和零件名兩個屬性。根據語義設計ER模型,並將ER模型轉換成關系模式,要求關系模式主碼加下劃線表示。(ER模型4分,關系模型6分)
產品(產品號,產品名)
零件(零件號,零件名)
組裝(產品號,零件號)
2007-9-1 22:45 liaojk123
重 慶 郵 電 學 院 2005 ~ 2006 學 年 第 一 學 期
題號 一 二 三 四 五 六 總分
分數
評卷人
計算機學院 《資料庫原理》 期末考試題 120分鍾
一、單項選擇題(本大題共10小題,每小題2分,共20分)
1.模式的邏輯子集通常稱為( )
A.存儲模式 B.內模式
C.外模式 D.模式
2.DB、DBMS和DBS三者之間的關系是( )
A..DB包括DBMS和DBS B.DBS包括DB和DBMS
C.DBMS包括DB和DBS D.不能相互包括
3.已知兩個關系如下:
R A B C
1 b1 c1
2 b2 c2
3 b1 c1
S D E A
d1 e1 1
d2 e2 1
d3 e1 2
假設R的主鍵是A,S的主鍵是D,在關系S的定義中包含外鍵子句:
「FOREIGN KEY (A) REFERENCES R(A) ON DELETE RESTRICT」,
下列SQL語句不能成功執行的是( )
A.DELETE FROM R WHERE A=2
B.DELETE FROM R WHERE A=3
C.DELETE FROM S WHERE A=1
D.DELETE FROM S WHERE A=2
4.在SQL中,與「NOT IN」等價的操作符是( )
A.<>ALL B.<>SOME
C.=SOME D.=ALL
5..如何構造出一個合適的數據邏輯結構是( )主要解決的問題。�
A.關系資料庫優化 B.數據字典 �
C.關系資料庫規范化理論 D.關系資料庫查詢
6.將ER模型轉換成關系模型,屬於資料庫的( )
A.需求分析 B.概念設計
C.邏輯設計 D.物理設計
7.如果事務T已在數據R上加了X鎖,則其他事務在數據R上( )
A.只可加X鎖 B.只可加S鎖
C.可加S鎖或X鎖 D.不能加任何鎖
8.「is-part-of」聯系是指數據間的( )
A.包含關系 B.分類關系 C.繼承關系 D.並關系
9.在分布式資料庫中,數據的垂直分片是對全局關系的( )
A.選擇操作 B.投影操作
C.自然聯接操作 D.半聯接操作
10.在資料庫設計中,表示用戶業務流程的常用方法是( )
A.DFD B.ER圖 C.程序流程圖 D.數據結構圖
二、填空題(每空2分,共20分)
1.資料庫的邏輯數據獨立性是由___外模式/模式____映象提供的。
2.在資料庫設計中,規劃存儲結構和存取方法屬於____物理_______設計。
3.在計算機網路環境中,各個場地採用相同類型的數據模型和DBMS,稱之為___同構同質______型分布式資料庫系統。
4.SQL語言提供資料庫定義、___數據操縱_____、數據控制等功能。
5.關系代數中專門的關系運算包括:選擇、投影、連接和__除法______。
6.當資料庫被破壞後,如果事先保存了____日誌文件____和資料庫的副本,就有可能恢復資料庫。
7.關系中主碼的取值必須唯一且非空,這條規則是__實體____完整性規則。
8.設有學生表S(學號,姓名,班級)和學生選課表SC(學號,課程號,成績),為維護數據一致性,表S與SC之間應滿足__參照____完整性約束。�
9.在函數依賴中,平凡的FD可根據推規則中的___自反律 ___律推出。
10.設關系模式R(A,B,C,D),函數依賴集F={AB→C,D→B},則R的候選碼為____ ABD _____
三、簡答題(本大題共4小題,每小題5分,共20分)
1.什麼是事務?事務具有那些特性?
1.資料庫系統中的常見故障有哪些?
3.什麼是死鎖?
4.簡述資料庫並發操作通常會帶來哪些問題。
四、設計題(本大題共5小題,每小題4分,共20分)
現有關系資料庫如下:�
學生(學號,姓名,性別,專業,獎學金)�
課程(課程號,名稱,學分)�
學習(學號,課程號,分數)�
分別用關系代數表達式和SQL語句實現下列1—5小題:�
1.檢索所有選修了課程號為「C112」的課程的學生的學號和分數;
2.檢索「英語」專業學生所學課程的信息,包括學號、姓名、課程名和分數。
3.檢索「資料庫原理」課程成績高於90分的所有學生的學號、姓名、專業和分數;
4.檢索不學課程號為「C135」課程的學生信息,包括學號,姓名和專業;
5.檢索至少學過課程號為「C135」和「C219」的學生信息,包括學號、姓名和專業;
五、綜合題(本大題共2題,每題10分,共20分)
1.假設為自學考試成績管理設計了一個關系R(S#,SN,C#,CN,G,U),其屬性的含義依次為考生號、姓名、課程號、課程名、分數和主考學校名稱。
規定每個學生學習一門課程只有一個分數;一個主考學校主管多門課程的考試,且一門課程只能屬於一個主考學校管理;每名考生有唯一的考號,每門課程有唯一的課程號。
(1)寫出關系模式R基本的函數依賴集。(2分)
(2)寫出關系模式R的候選碼。(2分)
(3)關系模式R最高達到第幾範式?為什麼?(3分)
(4)將R規范化為3NF。(3分)
2. 某工廠生產多種產品,每種產品由不同的零件組裝而成,有的零件可用在不同的產品上。產品有產品號和產品名兩個屬性,零件有零件號和零件名兩個屬性。根據語義設計ER模型,並將ER模型轉換成關系模式。(ER模型5分,關系模型5分)
2007-9-1 22:46 liaojk123
重 慶 郵 電 學 院 2004 ~ 2005 學 年 第 二 學 期
通信與信息工程學院 《資料庫原理》 參考答案與評分標准
一、單項選擇題(每小題2分,共20分)
A B B B B B A D B C
二、簡述題(每小題5分,共35分)
1. 在數據面向的對象方面:文件系統的管理者是文件系統;資料庫系統的管理者是資料庫管理系統。(1分)在數據共享程度方面:文件系統共享性差,冗餘度大;資料庫系統共享性高,冗餘小。(1分)在數據獨立性方面:文件系統數據獨立性差;資料庫系統具有高度的物理獨立性和一定的邏輯獨立性。(1分)在數據結構化方面:文件系統記錄內有結構,整體無結構;資料庫系統整體結構化。(1分)在數據控制能力方面:文件系統由應用程序自己控制;資料庫系統由資料庫管理系統控制。(1分)
[說明:指出三點不同都可,上述答案供參考]
2. 資料庫系統有外模式、模式和內模式三級模式結構[2分],在這三級模式之間提供了兩級映象,即外模式/模式映象和模式/內模式映象[2分]。正是這兩層映象保證了資料庫系統中的數據能夠具有較高的邏輯獨立性和物理獨立性[1分]。
3. 查詢選修了1號課程或3號課程的學生的學號[5分]。
[說明:將或寫成和的扣3分]
4. 若關系中的某一個屬性組的值能夠唯一地標識一個元組,則成該屬性組為候選碼[2分];若一個關系中有多個候選碼,則選定其中一個為主碼[1分];設F是關系R中的一個屬性組,但不是R的碼,如果F與關系S中的主碼相對應,則稱F為R的外碼[2分]。
5. 需求分析、概念設計、邏輯設計、物理設計、資料庫實施、資料庫運行與維護。[5分,答案不全適當扣分]
6. 並發操作可能會帶來的數據不一致性問題包括丟失修改、不可重復度和讀臟數據[3分]。產生這些問題的主要原因是並發操作破壞了事務的隔離性[2分]。
7.R屬於第一範式[2分],分解為如下兩個模式[3分]:
R1(A,D), A為主碼;R2(A,B,C), (A,B)為主碼,A為外碼
三、用SQL語句描述下列資料庫操作 (每小題3分,共30分)
1. SELECT * FROM S;
2. SELECT DISTINCT S# FROM SC WHERE G<60;
3. SELECT S#, G FROM SC WHERE C#=3 ORDER BY G DESC;
4. SELECT COUNT(*) FROM S;
5. SELECT SN FROM S WHERE SD IN (『IS』, 『CS』);或
SELECT SN FROM S WHERE SD=『IS』 OR SD=『CS』;
6. SELECT S#, COUNT(*) FROM SC GROUP BY S#;
7. SELECT S# FROM SC WHERE C#=2 AND G>=90;
8. DELETE FROM SC WHERE S# IN(或=)
(SELECT S# FROM S WHERE SN=』 王敏』)
9. UPDATE S SET SA=SA+1;
10. CREATE VIEW XXX AS SELECT S#, SN, SA FROM S WHERE SD=』CS』;
I. SQL Server日誌作用以及為什麼先寫日誌後寫數據
今天在看Oracle的BackupGroundProcess,里邊有一段是寫到為什麼先寫日誌後寫數據的:LGWR, on the other hand, does lots of sequential writes to the redo log. This is an important distinction and one of the reasons that Oracle has a redo log and the LGWR process as well as the DBWn process. Scattered writes are significantly slower than sequential writes. By having the SGA buffer dirty blocks and the LGWR process do large sequential writes that can re-create these dirty buffers, we achieve an increase in performance. 其實SQL Server也是一樣,每一個SQL Server的資料庫都會按照其修改數據(insert,update,delete)的順序將對應的日誌記錄到日誌文件.SQL Server使用了Write-Ahead logging技術來保證了事務日誌的原子性和持久性.而這項技術不僅僅保證了ACID中的原子性(A)和持久性(D),還大大減少了IO操作,把對數據的修改提交到磁碟的工作交給lazy-writer和checkpoint.預寫式日誌(Write-Ahead Logging (WAL))SQL Server使用了WAL來確保了事務的原子性和持久性.實際上,不光是SQL Server,基本上主流的關系資料庫包括oracle,mysql,db2都使用了WAL技術.WAL的核心思想是:在數據寫入到資料庫之前,先寫入到日誌.因為對於數據的每筆修改都記錄在日誌中,所以將對於數據的修改實時寫入到磁碟並沒有太大意義,即使當SQL Server發生意外崩潰時,在恢復(recovery)過程中那些不該寫入已經寫入到磁碟的數據會被回滾(RollBack),而那些應該寫入磁碟卻沒有寫入的數據會被重做(Redo)。從而保證了持久性(Durability)但WAL不僅僅是保證了原子性和持久性。還會提高性能.硬碟是通過旋轉來讀取數據,通過WAL技術,每次提交的修改數據的事務並不會馬上反映到資料庫中,而是先記錄到日誌.在隨後的CheckPoint和lazy Writer中一並提交,如果沒有WAL技術則需要每次提交數據時寫入資料庫:而使用WAL合並寫入,會大大減少磁碟IO:也許你會有疑問,那每次對於修改的數據還是會寫入日誌文件.同樣消耗磁碟IO。上篇文章講過,每一筆寫入日誌的記錄都是按照先後順序,給定順序編號的LSN進行寫入的,日誌只會寫入到日誌文件的邏輯末端。而不像數據那樣,可能會寫到磁碟的各個地方.所以,寫入日誌的開銷會比寫入數據的開銷小很多。SQL Server修改數據的步驟SQL Server對於數據的修改,會分為以下幾個步驟順序執行:1.在SQL Server的緩沖區的日誌中寫入」Begin Tran」記錄2.在SQL Server的緩沖區的日誌頁寫入要修改的信息3.在SQL Server的緩沖區將要修改的數據寫入數據頁4.在SQL Server的緩沖區的日誌中寫入」Commit」記錄5.將緩沖區的日誌寫入日誌文件6.發送確認信息(ACK)到客戶端(SMSS,ODBC等)可以看到,事務日誌並不是一步步寫入磁碟.而是首先寫入緩沖區後,一次性寫入日誌到磁碟.這樣既能在日誌寫入磁碟這塊減少IO,還能保證日誌LSN的順序.上面的步驟可以看出,即使事務已經到了Commit階段,也僅僅只是把緩沖區的日誌頁寫入日誌,並沒有把數據寫入資料庫.那將要修改的數據頁寫入資料庫是在何時發生的呢?Lazy Writer和CheckPoint上面提到,SQL Server修改數據的步驟中並沒有包含將數據實際寫入到磁碟的過程.實際上,將緩沖區內的頁寫入到磁碟是通過兩個過程中的一個實現:這兩個過程分別為:1.CheckPoint2.Lazy Writer任何在緩沖區被修改的頁都會被標記為「臟」頁。將這個臟頁寫入到數據磁碟就是CheckPoint或者Lazy Writer的工作.當事務遇到Commit時,僅僅是將緩沖區的所有日誌頁寫入磁碟中的日誌文件:而直到Lazy Writer或CheckPoint時,才真正將緩沖區的數據頁寫入磁碟文件:前面說過,日誌文件中的LSN號是可以比較的,如果LSN2>LSN1,則說明LSN2的發生時間晚於LSN1的發生時間。CheckPoint或Lazy Writer通過將日誌文件末尾的LSN號和緩沖區中數據文件的LSN進行對比,只有緩沖區內LSN號小於日誌文件末尾的LSN號的數據才會被寫入到磁碟中的資料庫。因此確保了WAL(在數據寫入到資料庫之前,先寫入日誌)。Lazy Writer和CheckPoint的區別Lazy Writer和CheckPoint往往容易混淆。因為Lazy Writer和CheckPoint都是將緩沖區內的「臟」頁寫入到磁碟文件當中。但這也僅僅是他們唯一的相同點了。Lazy Writer存在的目的是對緩沖區進行管理。當緩沖區達到某一臨界值時,Lazy Writer會將緩沖區內的臟頁存入磁碟文件中,而將未修改的頁釋放並回收資源。而CheckPoint存在的意義是減少伺服器的恢復時間(Recovery Time).CheckPoint就像他的名字指示的那樣,是一個存檔點.CheckPoint會定期發生.來將緩沖區內的「臟」頁寫入磁碟。但不像Lazy Writer,Checkpoint對SQL Server的內存管理毫無興趣。所以CheckPoint也就意味著在這個點之前的所有修改都已經保存到了磁碟.這里要注意的是:CheckPoint會將所有緩沖區的臟頁寫入磁碟,不管臟頁中的數據是否已經Commit。這意味著有可能已經寫入磁碟的「臟頁」會在之後回滾(RollBack).不過不用擔心,如果數據回滾,SQL Server會將緩沖區內的頁再次修改,並寫入磁碟。通過CheckPoint的運作機制可以看出,CheckPoint的間歇(Recovery Interval)長短有可能會對性能產生影響。這個CheckPoint的間歇是一個伺服器級別的參數。可以通過sp_config進行配置,也可以在SSMS中進行配置:恢復間歇的默認參數是0,意味著由SQL Server來管理這個回復間隔。而自己設置恢復間隔也是需要根據具體情況來進行界定。
J. 1 在下列的數據恢復過程中,()是不一定需要日誌文件的 A 事物故障恢復B系統故障恢復C動態轉儲 D靜態轉儲
c、動態轉儲;b、聚集;c、子模式;d、所有屬性組合為關系的外碼;d、視圖;b、對象;c、9。
數據信息的表現形式和載體,可以是符號、文字、數字、語音、圖像、視頻等。而信息是數據的內涵,信息是載入於數據之上,對數據作具有含義的解釋。
數據和信息是不可分離的,信息依賴數據來表達,數據則生動具體表達出信息。
(10)登記日誌文件為什麼先寫文件擴展閱讀:
資料庫的運行管理功能是DBMS的運行控制、管理功能,包括多用戶環境下的並發控制、安全性檢查和存取限制控制、完整性檢查和執行、運行日誌的組織管理、事務的管理和自動恢復,即保證事務的原子性。這些功能保證了資料庫系統的正常運行。
在某個區間連續變化的物理量,又可以分為圖形數據(如點、線、面)、符號數據、文字數據和圖像數據等,如聲音的大小和溫度的變化等。