考研復試數據庫(六)


第六部分  數據庫保護技術

(一)、考核內容

(1) 事務機制與數據庫安全性

(2) 數據庫完整性、數據庫恢復、並發控制

(二)、考核要求

(1)理解數據庫事務的概念及特性;掌握事務的提交與回退方法。

(2)了解數據庫面臨的安全威脅;掌數據庫安全控制機制與方法。

(3)理解數據庫的完整性約束條件。

(4)了解數據庫恢復技術。

(5)了解數據庫並發控制技術。

 

(一)選擇

1.( )是DBMS的基本單位,它是用戶定義的一組邏輯一致的程序序列。

A.程序     B.命令     C.事務       D.文件          

 

2.事務的原子性是指( )。

A.事務中包括的所有操作要么都做,要么都不做   

B.事務一旦提交,對數據庫的改變是永久的

C.一個事務內部的操作及使用的數據對並發的其他事務是隔離的  

D.事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態

 

3.事務的一致性是指( )。

A.事務中包括的所有操作要么都做,要么都不做      

B.事務一旦提交,對數據為的改變是永久的

C.一個事務內部的操作及使用的數據對並發的其他事務是隔離的  

D.事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態

 

4.事務的隔離性是指( )。

A.事務中包括的所有操作要么都做,要么都不做     

B.事務一旦提交,對數據庫的改變是永久的

C.一個事務內部的操作及使用的數據對並發的其他事務是隔離的  

D.事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態

 

5、事務的永久性(Durabilty)是指( )。

A.事務中包括的所有操作要么都做,要么都不做    

B.事務一旦提交,對數據庫的改變是永久的

C.一個事力內部的操作及使用的數據對並發的其他事務是隔離的

D.事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態

 

6.若數據庫中只包含成功事務提交的結果,則此數據庫就稱為處於( )狀態。

A.安全 B.一致 C.不安全 D.不一致                      

 

7.若系統在運行過程中,由於某種原因,造成系統停止運行,致使事務在執行過程中以非控制方式終止,這時內存中的信息丟失,而存儲在外存上的數據未受影響,這種情況稱為( )。

A.事務故障 B.系統故障 C.介質故障 D.運行故障       

 

8.若系統在運行過程中,由於某種硬件故障,使存儲在外存上的數據部分損失或全部損失,這種情況稱為( )。

A.事務故障 B.系統故障 C.介質故障 D.運行故障       

 

9.( )用來記錄對數據庫中數據進行的每一次更新操作。

A.后援副本 B.日志文件 C.數據庫 D.緩沖區              

 

10.用於數據庫恢復的重要文件是( )。

A.數據庫文件 B.索引文件 C.日志文件 D.備注文件            

 

11、數據庫恢復的基礎是利用轉儲的冗余數據。這些轉儲的冗余數據包括(  )。

A.數據字典、應用程序、審計檔案、數據庫后備副本    

B.數據字典、應用程序、日志文件、審計檔案

C.日志文件、數據庫后備副本             

D.數據字典、應用程序、數據庫后備副本                 

 

12.下面哪個不是數據庫系統必須提供的數據控制功能( )。

A.安全性 B.可移植性 C.完整性 D.並發控制

 

13.保護數據庫,防止未經授權的或不合法的使用造成的數據泄漏、更改破壞。這是指數據的( )。

A.安全性 B.完整性 C.並發控制 D.恢復

 

14.數據庫的( )是指數據的正確性和相容性。

A.安全性 B.完整性 C.並發控制 D.恢復

 

15.在數據系統中,對存取權限的定義稱為( )。

A.命令     B.授權     C.定義     D.審計

 

16.數據庫管理系統通常提供授權功能來控制不同用戶訪問數據的權限,這主要是為了實現數據庫的 ( )。

A.可靠性 B.一致性 C.完整性 D.安全性

 

17.事務是數據庫進行的基本工作單位。如果一個事務執行成功,則全部更新提交;如果一個事務執行失敗,則已做過的更新被恢復原狀,好像整個事務從未有過這些更新,這樣保持了數據庫處於( )狀態。

A.安全性 B.一致性 C.健壯性 D.可靠性

 

18.多用戶的數據庫系統的目標之一是使它的每個用戶好像面對着一個單用戶的數據庫一樣使用它,為此數據庫系統必須進行( )。

A.安全性控制 B.完整性控制 C.並發控制 D.可靠性控

 

19.設有兩個事務T1、T2,其並發操作如下所示,下面評價正確的是( )。

A.該操作不存在問題 B.該操作丟失修改

C.該操作不能重復讀 D.該操作讀“臟”數據

 

T1

T2

①讀A=10

③A=A-5寫回

 

讀A=10

 

A=A-8寫回

 

 

20.設有兩個事務T1、T2,其並發操作如下所示,下列評價正確的是      

A.該操作不存在問題 B.該操作丟失修改

C.該操作不能重復讀 D.該操作讀“臟”數據

 

T1

T2

①讀A=100

A=A*2寫回

③ROLLBACK

恢復A=100

 

讀A=10

 

 

21.設有兩個事務T1和T2,它們的並發操作如下所示。

T1

T2

①讀X=48

③X=X+10寫回X

 

讀X=48

 

X=X-2寫回X

 

對於這個並發操作,下面評價正確的是( )。

A.該操作丟失了修改 B.該操作不存在問題

C.該操作讀“臟”數據 D.該操作不能重復讀

 

22.解決並發操作帶來的數據不一致性總是普遍采用( )。

A.封鎖 B.恢復 C.存取控制 D.協商

 

23.若事務T對數據R已經加X鎖,則其他事務對數據R ( )。

A.可以加S鎖不能加X鎖 B.不能加S鎖可以加X鎖

C.可以加S鎖也可以加X鎖 D.不能加任何鎖

 

24.不允許任何其他事務對這個鎖定目標再加任何類型的鎖是               

A.共享鎖 B.排它鎖 C.共享鎖或排它鎖 D.以上都不是

 

25.數據庫中的封鎖機制是                的主要方法。

A.完整性 B.安全性 C.並發控制 D.恢復

 

26.關於“死鎖”,下列說法中正確的是                         

A.死鎖是操作系統中的問題,數據庫操作中不存在

B.在數據庫操作中防止死鎖的方法是禁止兩個用戶同時操作數據庫

C.當兩個用戶競爭相同資源時不會發生死鎖

D.只有出現並發操作時,才有可能出現死鎖

 

27.對並發操作若不加以控制,可能會帶來                     問題。

A.不安全 B.死鎖 C.死機 D.不一致

 

28.數據庫系統的並發控制的主要方法是采用              機制。

A.拒絕 B.改為串行 C.鎖 D.不加任何控制

29.若數據庫中只包含成功事務提交的結果,則此數據庫就稱為處於                狀態。

A.安全 B、.一致 C.不安全 D.不一致

 

30.若系統在運行過程中,由於某種原因,造成系統停止運行,致使事務在執行過程中以非控制方式終止,這時內存中的信息丟失,而存儲在外存上的數據未受影響,這種情況稱為                  

A.事務故障 B.系統故障 C.介質故障 D.運行故障

 

31.若系統在運行過程中,由於某種硬件故障,使存儲在外存上的數據部分損失或全部損失,這種情況稱為                   

A.事務故障 B.系統故障 C.介質故障 D.運行故障

 

32.后援副本的用途是                                     

A.安全性保障 B.一致性控制 C.故障后的恢復   D.數據的轉儲

 

33.日志文件是用於記錄                                         

A.程序運行過程 B.數據操作

C.對數據的所有更新操作 D.程序執行的結果

 

34.並發操作會帶來哪些數據不一致性                      

A.丟失修改、讀過時數據(不可重復讀)、臟讀、死鎖

B.讀過時數據(不可重復讀)、臟讀、死鎖

C.丟失修改、臟讀、死鎖

D.丟失修改、讀過時數據(不可重復讀)、臟讀

 

35.數據庫恢復的基礎是利用轉儲的冗余數據。這些轉儲的冗余數據包括            

A.數據字典、應用程序、審計檔案、數據庫后備副本

B.數據字典、應用程序、日志文件、審計檔案

C.日志文件、數據庫后備副本

D.數據字典、應用程序、數據庫后備副本

 

36.在數據庫的安全性控制中,為了保證用戶只能存取他有權存取的數據。在授權的定義中,數據對象的                 ,授權子系統就越靈活。

A.范圍越小 B.范圍越大 C.約束越細致 D.范圍越適中

 

37.數據庫恢復通常可采取如下方法:

(1).定期將數據庫做成           

(2).在進行事務處理過程中將數據庫更新的全部內容寫入            

(3).在數據庫系統運行正確的情況下,系統按一定時間間隙設立            ,新的建立后意味着舊的            去掉,即在內存緩沖區中的內容還沒有寫入到磁盤中去的有關狀態             記錄都寫入到磁盤文件中去,這種文件稱為            

(4).發生故障時,用當時數據內容和            的更新前的映像,將文件恢復到最近的            狀態。

(5).用(4)不能恢復數據時,可用最新的                        的更新映像將文件恢復到最新的            狀態。

A.副本文件 B.日志文件 C.檢查點文件

D.死鎖文件 E.兩套文件 F.主文件

G.庫文件

 

(二)概念、術語:

術語:

事務的原子性

事務的隔離性

事務的永久性

完整性約束

觸發器

引用完整性約束

實體完整性約束

排他鎖

共享鎖

 

簡述:

1)簡述事務中的提交和回滾.

2)數據庫的並發操作會帶來哪些問題?如何解決?

3)簡述基本的封鎖類型及它們的含義。

4)簡述數據庫在運行過程中可能產生的故障主要有哪幾類?

5)簡述怎樣進行系統故障的恢復?

6)簡述怎樣進行介質故障的恢復?

7)簡述數據庫的並發控制。

 

 

第六部分  數據庫保護技術

(一)選擇

1. C 2. A 3. D 4. C 5. B

6. B   7. B.    8. C 9. B   10. C

11. C 12 . B 13. A  14. B 15. B

16. D 17. B  18. C 19.B 20.D

21.A 22.A 23.D 24.B 25.C

26.D 27.D 28.C 29.B 30.B

31.C 32.C 33.C 34.D 35.C 

36.A 37. ①A   ②B   ③C   ④B    ⑤C

 

(二)概念、術語:

術語

事務的原子性:一個事務或者成功地結束,或者什么都不做,即對數據庫不產生任何影響。

事務的隔離性:是指一個事務內部的操作及使用的數據對其它並發事務是隔離的,並發執行的兩個或多個事務可以同時運行而互不影響。

事務的永久性:一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的,隨后的其它操作或故障都不會對其結果有任何影響。

完整性約束:是保護數據庫中數據正確性和相容性所做的各種檢查或數據應滿足的約束條件。

觸發器:是一個能因某一個事件觸發而由系統自動執行的SQL語句序列。

引用完整性約束:也稱為參照完整性約束,是指一個關系的外鍵值必須與另一個關系的主鍵值相匹配。

實體完整性約束:也稱主鍵完整性約束,是指每個關系的主鍵值必須非空且唯一。

排他鎖:當某個事務T為修改某個數據項A且不允許其他事務修改該數據項,或不允許其它事務對該數據項加S鎖時,該事務可以對A加排他鎖。

共享鎖:當某個事務T希望阻止其他事務修改正為它讀取的某個數據項A時,該事務可以對A加共享鎖。

 

簡述

1)簡述事務中的提交和回滾.

參考答案:事務中的提交(COMMIT)是提交事務的所有操作。具體說就是將事務中所有對數據庫的更新寫回到磁盤上的物理數據庫中去,事務正常結束。事務中的回滾(ROLLBACK)是數據庫滾回到事務開始時的狀態。具體地說就是,在事務運行的過程中發生了某種故障,事務不能繼續執行,系統將事務中對數據庫的所有已完成的更新操作全部撤消,使數據庫回滾到事務開始時的狀態。

2)數據庫的並發操作會帶來哪些問題?如何解決?

參考答案:數據庫並發操作會帶來的數據不一致性問題包括丟失修改、讀過時數據和讀“臟”數據。對於並發操作帶來的問題,可以用並發控制的方法調度並發操作,避免造成數據的不一致性,使一個用戶事務的執行不受其它事務的干擾。一級鎖協議可防止丟失修改;二級鎖協議不僅可以防止丟失修改,而且可以防止讀“臟”數據。三級鎖協議除了防止丟失修改和不讀“臟”數據外,還可防止讀過時數據。

3)簡述基本的封鎖類型及它們的含義。

參考答案:基本的封鎖的類型有排它鎖(“X”鎖)和共享鎖(“S”鎖)兩種。

若事務T對數據A加上X鎖,則只允許事務T讀取和修改數據A,其他事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖。

若事務T對數據A加上S鎖,則其他事務可以再對A加S鎖,而不能加X鎖,直到T釋放A上的鎖。

 

4)簡述數據庫在運行過程中可能產生的故障主要有哪幾類?

參考答案:數據庫在運行過程中可能產生的故障有如下幾類:

(1).事務故障

事務在運行過程中由於種種原因,如輸入數據的錯誤,運算溢出,違反了某些完整性限制,某些應用程序的錯誤,以及並行事務發生死鎖等,使事務未能運行到正常終止點之前就被撤消了,這種情況稱為“事務故障”。

(2).系統故障

系統故障是指系統在運行過程中,由於某種原因,如OS和DBMS代碼錯誤,操作員操作失誤,特定類型的硬件錯誤(如CPU故障),突然停電等造成系統停止運行,致使事務在執行過程中以非控方式終止。這時,內存中的信息丟失,而存儲在外存儲上的數據未受影響,這種情況稱為“系統故障”。

(3).介質故障

系統在運行過程中,由於某種硬件故障,如磁盤損壞,磁頭碰撞,或由於OS的某種潛在的錯誤,瞬時強磁場干擾,使存儲在外存上的數據部分損失或全部損失,稱之為“介質故障”。

 

5)簡述怎樣進行系統故障的恢復?

參考答案:當系統故障發生時,造成數據庫處於不一致狀態的原因有兩個,一個是一些未完成事務對數據庫的部分更新已寫入數據庫中,另一個是一些已提交事務對數據庫的更新還留在內存緩沖區,沒來得及寫回數據庫。因此,基本的恢復分為以下兩步:

(1).根據日志文件建立重做隊列和撤消隊列

從頭掃描日志文件,找出故障前已提交的事務記錄,將其事務標識放入重做隊列;還要找出故障前尚未完成的事務,將該事務放入撤消隊列。

(2).對重做隊列中的事務進行重做處理,對撤消隊列中的事務進行撤消處理

對於重做處理(REDO),正向掃描日志文件,再根據重做隊列,將已完成的事務的所有操作重新執行;對於撤消處理(UNDO),反向掃描日志文件,再根據撤消隊列,將未完成的事務的更新操作執行逆操作。

 

6)簡述怎樣進行介質故障的恢復?

參考答案:在發生介質故障時,磁盤上的物理數據庫被破壞,這時的恢復操作分為以下幾步:

(1).重裝轉儲后援副本,使數據庫恢復到轉儲時的一致狀態;

(2).從故障開始,反向閱讀日志文件,找出已提交事務標記作重做隊列;

(3).從起始點開始正向閱讀日志文件,根據重做隊列的記錄,重做所有已完成的事務,將數據庫恢復至故障前某一時刻的一致狀態。

 

7)簡述數據庫的並發控制。

參考答案:數據庫是一個共享資源,它允許多個用戶程序並行地存取數據庫中的數據,但是,如果系統對並行執行的操作不加以控制就會存取和存儲不正確的數據,破壞數據庫的完整性。

並發控制的主要方法是采用封鎖機制。封鎖是事務T在對某個數據對象操作之前,先向系統發出請求對其加鎖。基本的封鎖類型有兩種:排它鎖(X鎖)和共享鎖(S鎖)。所謂X鎖是事務T對數據A加上X鎖時,只允許事務T讀取和修改數據A,其他任何事務都不量能再對A加任何類型的鎖,直到T釋放A上的鎖。所謂S鎖,是事務T對數據A加上S鎖時,其他事物只能再對數據A加S鎖,而不能加X鎖,直到T釋放A上的S鎖。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM