




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)庫原理第六章 數(shù)據(jù)庫保護技術 6.1 數(shù)據(jù)庫安全性控制數(shù)據(jù)庫安全性控制6.2 數(shù)據(jù)庫完整性控制數(shù)據(jù)庫完整性控制6.3 數(shù)據(jù)庫并發(fā)控制數(shù)據(jù)庫并發(fā)控制6.4 數(shù)據(jù)庫恢復技術數(shù)據(jù)庫恢復技術 6.1 數(shù)據(jù)庫安全性控制 問題的提出問題的提出數(shù)據(jù)庫的一大特點是數(shù)據(jù)可以共享數(shù)據(jù)庫的一大特點是數(shù)據(jù)可以共享數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的安全性問題數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的安全性問題數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享3數(shù)據(jù)庫安全性數(shù)據(jù)庫安全性6.1 數(shù)據(jù)庫安全性控制數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫,以防止數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫,以防止不合法不合法的的使用造成的數(shù)據(jù)泄密、
2、更改或破壞。使用造成的數(shù)據(jù)泄密、更改或破壞。計算機系統(tǒng)中,安全措施是一級一級層層設置計算機系統(tǒng)中,安全措施是一級一級層層設置4計算機系統(tǒng)的安全模型計算機系統(tǒng)的安全模型 6.1 數(shù)據(jù)庫安全性控制常用方法常用方法用戶標識和鑒定用戶標識和鑒定存取控制存取控制視圖視圖審計審計56.1 數(shù)據(jù)庫安全性控制6.1.1 用戶標識與鑒別用戶標識與鑒別6.1.2 存取控制存取控制6.2.3 視圖視圖6.2.4 審計審計66.1.1 用戶標識與鑒別用戶標識與鑒別用戶標識與鑒別 (Identification & Authentication)系統(tǒng)提供的最外層安全保護措施系統(tǒng)提供的最外層安全保護措施7用戶標識
3、與鑒別(續(xù))用戶標識用戶標識用輸入用戶名(用戶標識號)來標明用戶身份。用輸入用戶名(用戶標識號)來標明用戶身份。口令口令系統(tǒng)核對口令以鑒別用戶身份系統(tǒng)核對口令以鑒別用戶身份 用戶名和口令易被竊取用戶名和口令易被竊取n每個用戶預先約定好一個每個用戶預先約定好一個計算過程計算過程或者或者函數(shù)函數(shù)86.1 數(shù)據(jù)庫安全性控制6.1.1 用戶標識與鑒別用戶標識與鑒別6.1.2 存取控制存取控制6.2.3 視圖視圖6.2.4 審計審計96.1.2 存取控制存取控制存取控制在數(shù)據(jù)庫系統(tǒng)中用戶只能訪問其有權訪問的數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)中用戶只能訪問其有權訪問的數(shù)據(jù)存取控制機制存取控制機制組成組成定義用戶權限定義用戶
4、權限合法權限檢查合法權限檢查 用戶權限定義和合法權檢查機制一起組成了用戶權限定義和合法權檢查機制一起組成了 DBMS的的安全子系統(tǒng)安全子系統(tǒng)10存取控制(續(xù))常用存取控制方法:常用存取控制方法:自主存取控制、強制存取控制自主存取控制、強制存取控制自主存取控制自主存取控制(Discretionary Access Control,簡稱簡稱DAC):用:用戶對于不同的數(shù)據(jù)庫對象有不同的存取權限戶對于不同的數(shù)據(jù)庫對象有不同的存取權限, 不同的用戶對同不同的用戶對同一對象也有不同的權限一對象也有不同的權限, 而且用戶還可以將其擁有的存取權限而且用戶還可以將其擁有的存取權限轉授給其它用戶轉授給其它用戶靈
5、活靈活強制存取控制強制存取控制(Mandatory Access Control,簡稱簡稱 MAC):每一:每一個數(shù)據(jù)庫對象被標以一定的密級個數(shù)據(jù)庫對象被標以一定的密級, 每一個用戶也被授予某一個每一個用戶也被授予某一個級別的許可證級別的許可證, 對任意一個對象對任意一個對象,只有具有合法許可證的用戶才只有具有合法許可證的用戶才可以存取可以存取嚴格嚴格116.1.2 存取控制6.1.2.1 自主存取控制方法自主存取控制方法6.1.2.2 授權與回收授權與回收6.1.2.3 強制存取控制方法強制存取控制方法126.1.2.1 自主存取控制方法自主存取控制自主存取控制(Discretionary
6、Access Control,簡簡稱稱DAC)用戶對不同的數(shù)據(jù)庫對象有不同存取權限用戶對不同的數(shù)據(jù)庫對象有不同存取權限, 不同用戶對同一不同用戶對同一對象也有不同權限對象也有不同權限, 且用戶可將其擁有的存取權限轉授給其且用戶可將其擁有的存取權限轉授給其它用戶它用戶靈活靈活DAC機制機制用戶權限組成用戶權限組成授權授權與與回收回收136.1.2.1 自主存取控制方法用戶權限組成用戶權限組成數(shù)據(jù)對象數(shù)據(jù)對象操作類型操作類型授權:授權:定義存取權限定義存取權限定義用戶可以在哪些數(shù)據(jù)庫對象上進行哪些類型的操作定義用戶可以在哪些數(shù)據(jù)庫對象上進行哪些類型的操作授權授權與與回收回收通過通過SQL的的GRA
7、NT語句和語句和REVOKE語句實現(xiàn)語句實現(xiàn)14自主存取控制方法(續(xù))關系數(shù)據(jù)庫系統(tǒng)中存取控制對象關系數(shù)據(jù)庫系統(tǒng)中存取控制對象 對象類型對象類型對象對象操操 作作 類類 型型基本表基本表CREATE TABLE,ALTER TABLE模式模式視圖視圖CREATE VIEW索引索引CREATE INDEX數(shù)據(jù)數(shù)據(jù)基本表和視圖基本表和視圖SELECT,INSERT,UPDATE,DELETE,ALL PRIVILEGES數(shù)據(jù)數(shù)據(jù)屬性列屬性列SELECT,INSERT,UPDATE,ALL PRIVILEGES15關系數(shù)據(jù)庫系統(tǒng)中的存取權限關系數(shù)據(jù)庫系統(tǒng)中的存取權限 6.1.2 存取控制6.1.2.
8、1 自主存取控制方法自主存取控制方法6.1.2.2 授權與回收授權與回收6.1.2.3 強制存取控制方法強制存取控制方法166.1.2.2 授權與回收一、一、GRANTGRANT語句的一般格式:語句的一般格式: GRANT ,. ON TO ,. WITH GRANT OPTION;語義:將對指定操作對象的指定操作權限授予指定的用戶語義:將對指定操作對象的指定操作權限授予指定的用戶17GRANT(續(xù))發(fā)出發(fā)出GRANTDBA數(shù)據(jù)庫對象創(chuàng)建者(即屬主數(shù)據(jù)庫對象創(chuàng)建者(即屬主Owner)擁有該權限的用戶擁有該權限的用戶接受權限的用戶接受權限的用戶 一個或多個具體用戶一個或多個具體用戶PUBLIC(
9、全體用戶)(全體用戶)18WITH GRANT OPTION子句WITH GRANT OPTION子句子句:指定:可以指定:可以再授予再授予沒有指定:沒有指定:不能傳播不能傳播不允許循環(huán)授權不允許循環(huán)授權19GRANT舉例把查詢把查詢Student表權限授給用戶表權限授給用戶U1 GRANT SELECT ON Student TO U1WITH GRANT OPTION;20授權與回收(續(xù))二、二、REVOKE授予的權限可以由授予的權限可以由DBA或其他授權者用或其他授權者用REVOKE語句收回語句收回REVOKE語句的一般格式為:語句的一般格式為: REVOKE ,. ON FROM ,.
10、;21REVOKE(續(xù))把用戶把用戶U1查詢學生表的權限收回查詢學生表的權限收回REVOKE SELECTON Student FROM U1;22小結: SQL靈活的授權機制DBA:擁有所有對象的所有權限:擁有所有對象的所有權限不同的權限授予不同的用戶不同的權限授予不同的用戶用戶用戶:擁有自己建立的對象的全部的操作權限:擁有自己建立的對象的全部的操作權限GRANT:授予其他用戶:授予其他用戶被授權的用戶被授權的用戶“繼續(xù)授權繼續(xù)授權”許可:再授予許可:再授予所有授予出去的權力在必要時又都可用所有授予出去的權力在必要時又都可用REVOKE語句收語句收回回236.1.2 存取控制6.1.2.1
11、自主存取控制方法自主存取控制方法6.1.2.2 授權與回收授權與回收6.1.2.3 強制存取控制方法強制存取控制方法24自主存取控制缺點存在問題存在問題可能存在數(shù)據(jù)的可能存在數(shù)據(jù)的“無意泄露無意泄露”主要原因主要原因自主存取控制機制僅僅通過對數(shù)據(jù)的存取權限進行安自主存取控制機制僅僅通過對數(shù)據(jù)的存取權限進行安全控制,而數(shù)據(jù)本身并無安全性標記全控制,而數(shù)據(jù)本身并無安全性標記解決方法解決方法對系統(tǒng)控制下的對系統(tǒng)控制下的所有所有主主客客體實施強制存取控制策略體實施強制存取控制策略256.1.2.3 強制存取控制方法強制存取控制強制存取控制(Mandatory Access Control,簡稱簡稱 M
12、AC)每一個數(shù)據(jù)庫對象被標以一定的密級每一個數(shù)據(jù)庫對象被標以一定的密級, 每一個用戶也被每一個用戶也被授予某一個級別的許可證授予某一個級別的許可證, 對任意一個對象對任意一個對象, 只有具有只有具有合法許可證的用戶才可以存取合法許可證的用戶才可以存取嚴格嚴格強制存取控制強制存取控制MAC特點特點對系統(tǒng)控制下的對系統(tǒng)控制下的所有所有主主客客體體實施強制存取控制策略實施強制存取控制策略不是用戶能直接感知或進行控制,保證更高程度的安不是用戶能直接感知或進行控制,保證更高程度的安全性全性適用對數(shù)據(jù)有嚴格而固定密級分類部門:軍事、政府適用對數(shù)據(jù)有嚴格而固定密級分類部門:軍事、政府26強制存取控制方法(續(xù)
13、)主體:主體:系統(tǒng)中的活動實體系統(tǒng)中的活動實體DBMS所管理的實際用戶所管理的實際用戶代表用戶的各進程代表用戶的各進程客體:客體:系統(tǒng)中的被動實體,是受主體操縱的系統(tǒng)中的被動實體,是受主體操縱的文件文件基表基表索引索引視圖視圖27強制存取控制方法(續(xù))敏感度標記敏感度標記(Label)絕密(絕密(Top Secret)機密(機密(Secret)可信(可信(Confidential)公開(公開(Public)主體主體的敏感度標記稱為的敏感度標記稱為許可證級別許可證級別(Clearance Level)客體客體的敏感度標記稱為的敏感度標記稱為密級密級(Classification Level)28
14、強制存取控制方法(續(xù))強制存取控制規(guī)則強制存取控制規(guī)則僅當僅當主體許可證級別主體許可證級別大于或等于大于或等于客體密級客體密級時,主體才能時,主體才能讀讀取相應客體取相應客體僅當僅當主體許可證級別主體許可證級別等于等于客體密級客體密級時,主體才能時,主體才能寫寫相應相應客體客體被寫入的客體也就具有了與許可證對等的密級被寫入的客體也就具有了與許可證對等的密級29MAC與DACDBMS安全機制:安全機制:DAC + MAC實現(xiàn)實現(xiàn)MAC時要首先實現(xiàn)時要首先實現(xiàn)DAC原因:較高安全性級別提供的安全保護要包含較原因:較高安全性級別提供的安全保護要包含較低級別的所有保護低級別的所有保護30強制存取控制方
15、法(續(xù))DAC + MAC安全檢查示意圖安全檢查示意圖31v 先進行先進行DAC檢查,通過檢查,通過DAC檢查的數(shù)據(jù)對象再由系統(tǒng)進行檢查的數(shù)據(jù)對象再由系統(tǒng)進行MAC檢檢查,只有通過查,只有通過MAC檢查的數(shù)據(jù)對象方可存取檢查的數(shù)據(jù)對象方可存取DAC 檢檢 查查繼續(xù)語義檢查繼續(xù)語義檢查安全檢查安全檢查SQL語法分析語法分析 & 語義檢查語義檢查MAC 檢檢 查查6.1 數(shù)據(jù)庫安全性控制6.1.1 用戶標識與鑒別用戶標識與鑒別6.1.2 存取控制存取控制6.1.3 視圖視圖6.1.4 審計審計326.1.3 視圖視圖機制視圖機制為不同的用戶定義不同的視圖,通過視圖把數(shù)據(jù)對象限制在為不同的用
16、戶定義不同的視圖,通過視圖把數(shù)據(jù)對象限制在一定范圍內,把要保密的數(shù)據(jù)對無權存取的用戶隱藏起來,一定范圍內,把要保密的數(shù)據(jù)對無權存取的用戶隱藏起來,從而自動地對數(shù)據(jù)提供一定程度的安全保護。從而自動地對數(shù)據(jù)提供一定程度的安全保護。33視圖機制(續(xù))建立計算機系學生的視圖,把對該視圖的建立計算機系學生的視圖,把對該視圖的SELECT權限授于王平,把該視圖上的所有操作權限授于張權限授于王平,把該視圖上的所有操作權限授于張明明 先立計算機系學生的視圖先立計算機系學生的視圖 計算機系計算機系_學生學生 CREATE VIEW 計算機系計算機系_學生學生 AS SELECT * FROM 學生學生 WHER
17、E 所在系所在系=計算機系計算機系;34視圖機制(續(xù))在視圖上進一步定義存取權限在視圖上進一步定義存取權限 GRANT SELECT ON 計算機系計算機系_學生學生 TO 王平王平 ; GRANT ALL PRIVILGES ON 計算機系計算機系_學生學生 TO 張明;張明; 356.1 數(shù)據(jù)庫安全性控制6.1.1 用戶標識與鑒別用戶標識與鑒別6.1.2 存取控制存取控制6.1.3 視圖視圖6.1.4 審計審計366.1.4 審計審計審計審計日志審計日志(Audit Log): 將用戶對數(shù)據(jù)庫的所有操作將用戶對數(shù)據(jù)庫的所有操作記錄在上面記錄在上面(日志文件日志文件)一旦發(fā)生數(shù)據(jù)被非法存取,
18、一旦發(fā)生數(shù)據(jù)被非法存取,DBA利用審計日志利用審計日志: 找出找出非法存取數(shù)據(jù)的人、時間和內容非法存取數(shù)據(jù)的人、時間和內容審計需要在時間和空間上付出巨大的代價審計需要在時間和空間上付出巨大的代價37第六章 數(shù)據(jù)庫保護技術6.1 數(shù)據(jù)庫安全性控制數(shù)據(jù)庫安全性控制6.2 數(shù)據(jù)庫完整性控制數(shù)據(jù)庫完整性控制6.3 數(shù)據(jù)庫并發(fā)控制數(shù)據(jù)庫并發(fā)控制6.4 數(shù)據(jù)庫恢復技術數(shù)據(jù)庫恢復技術6.2 數(shù)據(jù)庫完整性控制數(shù)據(jù)的完整性數(shù)據(jù)的完整性數(shù)據(jù)的數(shù)據(jù)的正確性和相容性正確性和相容性 學生的學號必須唯一學生的學號必須唯一性別只能是男或女性別只能是男或女本科學生年齡的取值范圍為本科學生年齡的取值范圍為1450的整數(shù)的整數(shù)學
19、生所選的課程必須是學校開設的課程學生所選的課程必須是學校開設的課程學生所在的院系必須是學校已成立的院系學生所在的院系必須是學校已成立的院系要求用戶在數(shù)據(jù)庫中添加或修改數(shù)據(jù)時必須保要求用戶在數(shù)據(jù)庫中添加或修改數(shù)據(jù)時必須保證一定的約束條件證一定的約束條件396.2 數(shù)據(jù)庫完整性控制為維護數(shù)據(jù)庫的完整性,為維護數(shù)據(jù)庫的完整性,DBMS必須:必須:n1.提供提供定義定義完整性約束條件的機制完整性約束條件的機制n2.提供完整性提供完整性檢查檢查的方法的方法n3.違約處理違約處理40數(shù)據(jù)庫完整性控制完整性檢查是圍繞完整性約束條件進行的,因完整性檢查是圍繞完整性約束條件進行的,因此,完整性約束條件是完整性控
20、制機制的核心。此,完整性約束條件是完整性控制機制的核心。數(shù)據(jù)完整性約束可以分為:數(shù)據(jù)完整性約束可以分為:屬性級約束,屬性級約束,針對列的類型、取值范圍、精度、排針對列的類型、取值范圍、精度、排序等而制定的約束條件。序等而制定的約束條件。元組級約束,元組級約束,元組中的字段組和字段間聯(lián)系的約束;元組中的字段組和字段間聯(lián)系的約束;表級約束,表級約束,若干元組間、關系之間聯(lián)系的約束;若干元組間、關系之間聯(lián)系的約束;41數(shù)據(jù)庫完整性控制完整性控制機制應具有的功能完整性控制機制應具有的功能1) 定義完整性功能,提供定義完整性約束條件的機制。定義完整性功能,提供定義完整性約束條件的機制。2) 檢查完整性功
21、能,檢查用戶發(fā)出的操作請求,看其是否檢查完整性功能,檢查用戶發(fā)出的操作請求,看其是否違背了完整性約束條件。違背了完整性約束條件。3) 控制完整性功能,監(jiān)視數(shù)據(jù)操作的整個過程,如果發(fā)現(xiàn)控制完整性功能,監(jiān)視數(shù)據(jù)操作的整個過程,如果發(fā)現(xiàn)有違背了完整性約束條件的情況,則采取一定的動作來保有違背了完整性約束條件的情況,則采取一定的動作來保證數(shù)據(jù)的完整性。證數(shù)據(jù)的完整性。在完整性控制技術中,當違反完整性約束時,一般的處理方法是拒在完整性控制技術中,當違反完整性約束時,一般的處理方法是拒絕導致破壞完整性的操作。絕導致破壞完整性的操作。42數(shù)據(jù)庫完整性控制用附加操作來對參照完整性的處理用附加操作來對參照完整性
22、的處理在被參照關系中刪除元組的問題在被參照關系中刪除元組的問題受限刪除:受限刪除:僅當外碼表中沒有任何元組的外碼值與主碼表中要刪除僅當外碼表中沒有任何元組的外碼值與主碼表中要刪除元組的主碼值相同時,系統(tǒng)才執(zhí)行刪除操作,否則拒絕此刪除操作。元組的主碼值相同時,系統(tǒng)才執(zhí)行刪除操作,否則拒絕此刪除操作。級聯(lián)刪除:級聯(lián)刪除:將外碼表中所有外碼值與主碼表中要刪除的元組主碼值將外碼表中所有外碼值與主碼表中要刪除的元組主碼值相同的元組一起刪除。如果外碼表同時又是另一個關系的主碼表,相同的元組一起刪除。如果外碼表同時又是另一個關系的主碼表,則這種刪除操作會繼續(xù)級聯(lián)下去。則這種刪除操作會繼續(xù)級聯(lián)下去。置空值刪除
23、:置空值刪除:刪除主碼表的元組,并將外碼表中相應元組的外碼值刪除主碼表的元組,并將外碼表中相應元組的外碼值置空值。置空值。43數(shù)據(jù)庫完整性控制在被參照關系中修改元組的問題在被參照關系中修改元組的問題受限修改。受限修改。如果外碼表中,有外碼值與主碼表中要修改的主碼值相如果外碼表中,有外碼值與主碼表中要修改的主碼值相同的元組,則拒絕修改。同的元組,則拒絕修改。級聯(lián)修改。級聯(lián)修改。如果要修改主碼表中的某個元組的主碼值,則外碼表中如果要修改主碼表中的某個元組的主碼值,則外碼表中相應的外碼值也作相應的修改。相應的外碼值也作相應的修改。置空值修改。置空值修改。修改主碼表的元組,并將外碼表中相應元組的外碼值
24、修改主碼表的元組,并將外碼表中相應元組的外碼值置空值。置空值。 44第六章 數(shù)據(jù)庫保護技術6.1 數(shù)據(jù)庫安全性控制數(shù)據(jù)庫安全性控制6.2 數(shù)據(jù)庫完整性控制數(shù)據(jù)庫完整性控制6.3 數(shù)據(jù)庫并發(fā)控制數(shù)據(jù)庫并發(fā)控制6.4 數(shù)據(jù)庫恢復技術數(shù)據(jù)庫恢復技術問題的產生多用戶數(shù)據(jù)庫系統(tǒng)的存在多用戶數(shù)據(jù)庫系統(tǒng)的存在允許多個用戶同時使用的數(shù)據(jù)庫系統(tǒng)允許多個用戶同時使用的數(shù)據(jù)庫系統(tǒng)6.3 數(shù)據(jù)庫并發(fā)控制并發(fā)控制:并發(fā)控制:控制數(shù)據(jù)庫,防止多用戶并發(fā)使用數(shù)據(jù)庫時造成數(shù)據(jù)錯誤控制數(shù)據(jù)庫,防止多用戶并發(fā)使用數(shù)據(jù)庫時造成數(shù)據(jù)錯誤和程序運行錯誤,保證數(shù)據(jù)的完整性。和程序運行錯誤,保證數(shù)據(jù)的完整性。事務:事務:事務是用戶定義的一
25、個數(shù)據(jù)庫操作序列,這些操作要么全事務是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位。做要么全不做,是一個不可分割的工作單位。在在SQL語言中,定義事務的語句有三條:語言中,定義事務的語句有三條: BEGIN TRANSACTION; COMMIT; ROLLBACK;476.3 數(shù)據(jù)庫并發(fā)控制事務的四個特性成為事務的四個特性成為ACID特性特性:執(zhí)行的原子性(執(zhí)行的原子性(Atomicity):):一個事務中所有對數(shù)據(jù)庫的一個事務中所有對數(shù)據(jù)庫的操作是一個不可分割的操作序列。這些操作要么全部執(zhí)行,操作是一個不可分割的操作序列。這些操作要么全部執(zhí)行,要么全部
26、不執(zhí)行要么全部不執(zhí)行結果的一致性(結果的一致性(Consistency):):事務執(zhí)行的結果必須是使事務執(zhí)行的結果必須是使得數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)得數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)彼此的隔離性(彼此的隔離性(Isolation):):多個事務并發(fā)執(zhí)行的時候,多個事務并發(fā)執(zhí)行的時候,各個事務應該像獨立執(zhí)行一樣,而不受其他事務的干擾各個事務應該像獨立執(zhí)行一樣,而不受其他事務的干擾作用的持久性(作用的持久性(Durability):):一個事務一旦完成其全部一個事務一旦完成其全部操作,它對數(shù)據(jù)庫的所有更新應該永久得反映在數(shù)據(jù)庫中操作,它對數(shù)據(jù)庫的所有更新應該永久得反映在
27、數(shù)據(jù)庫中6.3 數(shù)據(jù)庫并發(fā)控制ACID特性在下面兩種情況下可能遭到破壞特性在下面兩種情況下可能遭到破壞多個事務并發(fā)執(zhí)行時,各自的操作交叉執(zhí)行多個事務并發(fā)執(zhí)行時,各自的操作交叉執(zhí)行事務在運行過程中被強行停止事務在運行過程中被強行停止6.3 數(shù)據(jù)庫并發(fā)控制并發(fā)操作帶來的數(shù)據(jù)不一致性并發(fā)操作帶來的數(shù)據(jù)不一致性丟失修改(丟失修改(Lost Update)讀讀“臟臟”數(shù)據(jù)(數(shù)據(jù)(Dirty Read)不可重復讀(不可重復讀(Non-repeatable Read)記號記號R(x):讀數(shù)據(jù)讀數(shù)據(jù)xW(x):寫數(shù)據(jù)寫數(shù)據(jù)x 1. 丟失修改兩個事務兩個事務T1和和T2讀入同一數(shù)據(jù)并修改,讀入同一數(shù)據(jù)并修改,T
28、2的的提交結果破壞了提交結果破壞了T1提交的結果,導致提交的結果,導致T1的修的修改被丟失。改被丟失。丟失修改(續(xù))T1T2 R(A)=16R(A)=16 AA-2AA-1W(A)=14W(A)=15丟失修改丟失修改2. 不可重復讀不可重復讀是指事務不可重復讀是指事務T1讀取數(shù)據(jù)后,事務讀取數(shù)據(jù)后,事務T2 執(zhí)行更新操作,使執(zhí)行更新操作,使T1無法再現(xiàn)前一次讀取結無法再現(xiàn)前一次讀取結果果。不可重復讀(續(xù))nT1讀取讀取B=100進行運算進行運算nT2讀取同一數(shù)據(jù)讀取同一數(shù)據(jù)B,對,對其進行修改后將其進行修改后將B=200寫回數(shù)據(jù)庫。寫回數(shù)據(jù)庫。nT1為了對讀取值校對為了對讀取值校對重讀重讀B,
29、B已為已為200,與,與第一次讀取值不一致第一次讀取值不一致 T1T2 R(A)=50 R(B)=100求和求和=150R(B)=100BB*2W(B)=200 R(A)=50R(B)=200和和=250(驗算不對驗算不對)不可重復讀不可重復讀 例如:例如:3. 讀“臟”數(shù)據(jù) 讀讀“臟臟”數(shù)據(jù)是指:數(shù)據(jù)是指:事務事務T1修改某一數(shù)據(jù),并將其寫回磁盤修改某一數(shù)據(jù),并將其寫回磁盤事務事務T2讀取同一數(shù)據(jù)后,讀取同一數(shù)據(jù)后,T1由于某種原因被撤銷由于某種原因被撤銷這時這時T1已修改過的數(shù)據(jù)恢復原值,已修改過的數(shù)據(jù)恢復原值,T2讀到的數(shù)據(jù)就與數(shù)據(jù)讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致庫中的數(shù)據(jù)不一致T2讀
30、到的數(shù)據(jù)就為讀到的數(shù)據(jù)就為“臟臟”數(shù)據(jù),即不正確的數(shù)據(jù)數(shù)據(jù),即不正確的數(shù)據(jù) 讀“臟”數(shù)據(jù)(續(xù))T1T2 R(C)=100 CC*2 W(C)=200R(C)=200ROLLBACK C恢復為恢復為100例如例如讀讀“臟臟”數(shù)據(jù)數(shù)據(jù) n T1將將C值修改為值修改為200,T2讀到讀到C為為200n T1由于某種原因撤銷,由于某種原因撤銷,其修改作廢,其修改作廢,C恢復恢復原值原值100n 這時這時T2讀到的讀到的C為為200,與數(shù)據(jù)庫內容不一致,與數(shù)據(jù)庫內容不一致,就是就是“臟臟”數(shù)據(jù)數(shù)據(jù) 并發(fā)控制概述(續(xù))數(shù)據(jù)不一致性:由于數(shù)據(jù)不一致性:由于并發(fā)操作破壞了事務的隔并發(fā)操作破壞了事務的隔離性離性并發(fā)控制就是要用并發(fā)控制就是要用正確的方式調度并發(fā)操作正確的方式調度并發(fā)操作,使一個用戶事務的執(zhí)行不受其他事務的干擾,使一個用戶事務的執(zhí)行不受其他事務的干擾,從而避免造成數(shù)據(jù)的不一致性從而避免造成數(shù)據(jù)的不一致性 并發(fā)控制概述(續(xù))并發(fā)控制的主要技術并發(fā)控制的主要技術封鎖封鎖(Locking)時間戳時間戳(Timestamp)樂觀控制法樂觀控制法封鎖什么是封鎖什么是封鎖基本封鎖類型基本封鎖類型鎖的相容矩陣鎖的相容矩陣什么是封鎖封鎖就是事務封鎖就是事務T在對某個數(shù)據(jù)對象(例如表、記在對某個數(shù)據(jù)對象(例如表、記錄等)操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖。錄等)操作之前,先向系統(tǒng)發(fā)出請求,對其
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年激光隧道斷面測量系統(tǒng)項目合作計劃書
- 電競酒店宵禁管理協(xié)議
- 第11講 美國 巴西 第2課時 教學設計 2023-2024學年高二下學期
- 常泰過江通道主橋施工方案
- 第2課 學會寬容 第一課時 教學設計-2023-2024學年道德與法治六年級下冊統(tǒng)編版
- XX年招生網點加盟合同6篇
- 第三章 實驗活動1 乙酸乙酯的制備與性質 教學設計 2023-2024學年高二下學期化學人教版(2019)選擇性必修3
- 奇妙的門鈴(教學設計)-2023-2024學年小學生科學課后服務拓展
- 室內鋼結構防銹漆施工方案
- 第七單元第 23 課 內戰(zhàn)爆發(fā)2023-2024學年八年級上冊歷史同步教學設計(部編版)
- 2024-2025學年重慶市渝中區(qū)四年級(上)期末數(shù)學試卷
- 2025年人教版中考英語一輪復習:七年級下冊考點測試卷(含答案)
- 四川省成都市2025年中考數(shù)學模擬試卷五套附參考答案
- 四川省自貢市2024-2025學年上學期八年級英語期末試題(含答案無聽力音頻及原文)
- 2025-2030年中國汽車防滑鏈行業(yè)競爭格局展望及投資策略分析報告新版
- 2025年上海用人單位勞動合同(4篇)
- 二年級上冊口算題3000道-打印版讓孩子口算無憂
- 2025年生物安全年度工作計劃
- 三年級體育下冊全冊教案
- 人教版數(shù)學六年級下冊全冊核心素養(yǎng)目標教學設計
- 通用電子嘉賓禮薄
評論
0/150
提交評論