標籤:
定義:
DBMS對DB的監控,稱為資料庫的管理,或資料庫的保護。
******************************************
DBS啟動並執行最小邏輯工作單位是:事務。
事務定義:
是構成單一邏輯工作單元的操作集合,要麼完整執行,要麼完全不執行。
例如:
銀行存取款:要麼正確存取款,要麼完全不執行,不能出現:錢放進去,但帳號上沒給加上錢的情況。
即,只有一套步驟都完成後,才能宣告該事務成功執行,若有錯誤,則必須使資料庫恢複到事務的最初始狀態。
所以,事務有如下性質:
原子性:所有操作為一個整體,要麼全做,要麼全不做。
一致性:事務執行結果,與資料庫保持一致,不得因事務的執行導致資料庫資料錯亂。
隔離性:多個事務並發執行,應保持與單獨執行結果一致
持久性:事務完成後,對資料庫的更新應永久地反映在資料庫中。即使系統發生故障。
**************************************
資料庫的恢複:
系統能把資料庫從被破壞,不正確的狀態,恢複到最近一個正確的狀態,DBMS的這種能力稱為資料庫的可恢複性。
策略:
兩件事:轉儲、建立日誌。
兩種處理:若硬體損壞,需將最近一次拷貝的Database Backup到新的磁碟,利用日誌庫執行“重做”。若非物理破壞,不必拷貝,只要利用日誌“撤銷”所有不可靠的修改,再“重做”已提交,但更新可能還留在記憶體緩衝區的事務。
*************************************
並發控制:
問題:丟失更新、讀髒資料、不可重複讀取。
封鎖:鎖的作用是使並發事務對資料庫中資料項目的訪問能夠同步。
共用鎖定(S鎖):如果事務T對資料A加上共用鎖定後,則其他事務只能對A再加共用鎖定,不能加獨佔鎖定。獲准共用鎖定的事務職能讀取資料,不能修改資料。(就比如:word文檔,第一次開啟是可讀可編輯的,但當已經開啟一個,又開啟一遍的時候,就是唯讀狀態,我認為這應該就是S鎖的意思)
獨佔鎖定(X鎖):如果事務T對資料A加上獨佔鎖定後,則其他事務不能在對A加任何類型的封鎖。
獲准獨佔鎖定的事務既能讀取資料,也能修改資料。
資料庫死結的原因:若干事務相互等待對方釋放封鎖,就陷入了無限期等待狀態,系統進入死結。
預防資料庫死結的方法:1、要求一個事務必須一次性封鎖所需要的所有資料(要麼全成功,要麼全部成功)2、規定封鎖資料的順序,所有事務必須按照這個順序實行封鎖
解除資料庫死結的方法:允許死結發生,然後解除它,如果發現死結,則將其中一個代價較小的事務撤銷,復原這個事務,並釋放此事務持有的封鎖,使其他事務繼續進行。
總結:資料庫管理,主要是為了資料庫的安全。資料庫恢複、並發控制、完整性控制,都是為了保護資料庫,防止不合法使用,以免資料的泄密、更改或破壞。
【電腦管理——資料庫系統原理】——資料庫管理