自考數據庫原理第六章數據庫保護
第六章 數據庫保護
93. 事務的概念:
事務是一個操作序列。這些操作要么都做,要么都不做,是一個不可分割的工作單位,是數據庫環(huán)境中的邏輯工作單位,相當于操作系統環(huán)境中的“進程”概念。事務以BEGIN TRANSACTION 語句開始,以COMMIT語句或ROLLBACK語句結束。
94. 事務的性質:
事務必須有四個性質:轉自環(huán) 球 網 校edu24ol.com
(1) 原子性:一個事務中所有對數據庫操作是一個不可分割的操作序列。事務要么完事地被全部執(zhí)行,要么什么也不做。
(2) 一致性:一個事務獨立執(zhí)行的結果將保證數據庫的一致性,即數據不會因事務的執(zhí)行而遭受破壞。
(3) 隔離性:在并發(fā)事務被執(zhí)行時,系統應保證與這些事務先后單獨執(zhí)行時的結果一樣,此時達到了隔離性要求。
(4) 持久性:一個事務一旦完成全部操作后,它對數據庫的所有更新應永久地反映在數據庫中。
上述的四個性質稱為事務的ACID性質。
95. 數據庫系統中可能發(fā)生的故障:
(1) 事務故障:通常分為兩種:非預期的事務故障(溢出、死鎖),可預期的事務故障(可發(fā)現可撤消的)
(2) 系統故障:在硬件故障,軟件錯誤的影響下,雖引起內存信息丟失,但未破壞外存中的數據。這種情況稱為故障終止假設。系統故障通常稱為軟故障。
(3) 介質故障:這類故障將破壞數據庫,并影響正在存取這部分數據的所有事務。介質故障通常被稱為硬故障、磁盤故障。
96. 數據庫恢復可以用哪些方法實現:
(1) 定期對整個數據庫進行復制或轉儲。
1) 轉儲可分為靜態(tài)轉儲和動態(tài)轉儲。
靜態(tài)轉儲:轉儲期間不允許(或不存在)對數據庫進行任何存取、修改活動。
動態(tài)轉儲:轉儲期間允許對數據庫進行存取或修改,即轉儲和用戶事務可以并發(fā)執(zhí)行。
2) 還可分為海量存儲和增量轉儲
海量存儲:每次轉儲全部數據庫
增量轉儲:每次只轉儲上次轉儲后更新的數據。
(2) 建立“日志”文件轉自環(huán) 球 網 校edu24ol.com
(3) 恢復
1) 如果數據庫已被破壞,就裝入最近一次備份的數據庫,然后利用“日志”文件執(zhí)行REDO操作。
2) 數據庫未被損壞,但某些數據可能不可靠。不必復制存檔的數據庫,只要通過“日志”文件執(zhí)行UNDO操作,把已經結束的不可靠的事務進行REDO處理。
97. 運行記錄優(yōu)先原則:
(1) 至少要等相應運行記錄已經寫入“日志”文件后,才能允許事務往數據庫中寫記錄。
(2) 直到事務的所有運行記錄都已寫入運行“日志”文件后,才能允許事務完成“END TRANSACTION”處理。
98. 數據庫的并發(fā)操作會帶來哪些問題:
(1) 丟失更新問題
(2) 不一致分析問題
(3) “臟數據”的讀出
99. 常見的封鎖有哪兩種:
排它型封鎖(X封鎖)和共享型封鎖(S封鎖)
100. 兩段封鎖協議規(guī)定所有事務要遵守哪些規(guī)則:
(1) 在對任何數據進行讀寫操作之前,事務首先要獲得對該數據的封鎖。
(2) 在釋放一個封鎖之后,事務不再獲得任何其它封鎖。
所謂兩段,就是每個事務分成前后兩個階段:增生階段和收縮階段。
增生階段:也稱為擴展階段或申請封鎖階段。在增生階段中,事務可申請封鎖,但不能解除任何已取得的封鎖。
收縮階段:也稱為釋放封鎖階段。在收縮階段中,事務可釋放封鎖,但是不能申請新的封鎖。
101. 兩段封鎖法與可串行化調度的關系:
如果所有事務都是兩段式的,那么它們的并發(fā)調度是可串行化的。兩段式封鎖是可串行化的充分條件,但不是必要條件。如果存在事務不遵守兩段封鎖協議,那么它們并發(fā)調度也許是可串行化的,也許不是。
102. 對數據庫的非法更新有幾種:
(1) 數據本身是錯誤的,輸入時,就按錯誤的數據輸入。
(2) 數據原來是正確的,由于操作或程序的錯誤,造成插入時變成錯誤的數據。
(3) 由于系統故障,使數據發(fā)生錯誤。
(4) 若干事務的并發(fā)執(zhí)行產生不正確的數據。
(5) 人為地故意破壞。
103. 完整性子系統的主要功能有哪兩點:
(1) 監(jiān)督事務的執(zhí)行,并測試是否違反完整性規(guī)則。
(2) 如有違反現象,則采取恰當的操作。
104. 完整性規(guī)則:
完整性規(guī)則集是由數據庫管理員或應用程序員事先向完整性子系統提供有關數據約束的一組規(guī)則。每個規(guī)則由三部分組成:
(1) 什么時候使用規(guī)則進行檢查(觸發(fā)條件)
(2) 要檢查什么樣的錯誤(約束條件,謂詞)
(3) 若檢查出錯誤,該怎樣處理(ELSE子句)
在關系數據庫中,完整性規(guī)則可分為三類:
(1) 域完整性規(guī)則,定義屬性的取值范圍。
(2) 域聯系的規(guī)則,定義在一個或多個關系中,屬性值間的聯系、影響和約束。
(3) 關系完整性規(guī)則,定義更新操作對數據庫中值的影響和限制。
105. SQL中的完整性約束規(guī)則有哪些:
(1) 主鍵約束:主鍵值不允許空,也不允許出現重復。用主鍵子句:“PRIMARY KEY (S#)”或主鍵短語:在屬性S#的定義后加上“PRIMARY KEY”字樣來定義。
(2) 外鍵約束:用外鍵子名定義外鍵。如“FOREIGN KEY (S#)REFERENCES S(S#)”
(3) 在屬性值上的約束:1)非空值約束“NOT NULL”2)基于屬性的檢查子句“CHECK”3)域約束子句“CREATE DOMAIN ……CHECK”
(4) 全局約束:基于元組的檢查子句(CHECK)和斷言(CREATE ASSERTION……CHECK)。
106. 數據庫的安全性:
是指保護數據庫,防止不合法的使用,以免數據的泄漏、非法更改和破壞。對數據庫不合法的使用稱為數據庫的濫用。數據庫的濫用可分為無意的和惡意的兩類。
無意的濫用容易發(fā)生系統故障,并發(fā)訪問數據庫時引起異常現象以及違反數據完整性約束等邏輯錯誤。
惡意的濫用主要是指未經授權的讀取數據(即偷竊信息)和未經授權的修改數據(即破壞數據)。
107. 數據庫的完整性與安全性的區(qū)別:
數據庫的完整性是指盡可能避免對數據庫的無意的濫用;
數據庫的安全性是指盡可能避免對數據庫的惡意的濫用。
108. 用戶的權限:
用戶(或應用程序)使用數據庫的方式稱為權限。訪問數據庫的權限有如下幾種:
(1) 讀權限
(2) 插入權限
(3) 修改權限
(4) 刪除權限。
修改數據庫模式的權限:
(1) 索引權限
(2) 資源權限
(3) 修改權限
(4) 撤消權限
最新資訊
- 考前必背!自學考試《中國近現代史綱要》論述題高頻考點2024-10-19
- 自考報考策略:科學搭配科目,加速畢業(yè)進程2024-07-20
- 2025年考研考生五一假期,英語科目應該如何復習?2024-05-03
- 備考指南!2024年4月自學考試考前要做哪些準備?2024-03-31
- 考前備考沖刺!自考如何一次就過?2024-03-30
- 考點匯總:《中國近現代史綱要》論述題2024-03-25
- 備考資料:《中國近現代史綱要》簡答題考點匯總2024-03-25
- 自考可以從哪些維度進行備考?2024-02-17
- @自考生,這里有備考技巧2024-02-17
- 自學考試備考復習方法!建議收藏2024-02-16