版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)原理 第六章 數(shù)據(jù)庫(kù)保護(hù)技術(shù) 6.1 數(shù)據(jù)庫(kù)安全性控制數(shù)據(jù)庫(kù)安全性控制 6.2 數(shù)據(jù)庫(kù)完整性控制數(shù)據(jù)庫(kù)完整性控制 6.3 數(shù)據(jù)庫(kù)并發(fā)控制數(shù)據(jù)庫(kù)并發(fā)控制 6.4 數(shù)據(jù)庫(kù)恢復(fù)技術(shù)數(shù)據(jù)庫(kù)恢復(fù)技術(shù) 6.1 數(shù)據(jù)庫(kù)安全性控制 問(wèn)題的提出問(wèn)題的提出 數(shù)據(jù)庫(kù)的一大特點(diǎn)是數(shù)據(jù)可以共享數(shù)據(jù)庫(kù)的一大特點(diǎn)是數(shù)據(jù)可以共享 數(shù)據(jù)共享必然帶來(lái)數(shù)據(jù)庫(kù)的安全性問(wèn)題數(shù)據(jù)共享必然帶來(lái)數(shù)據(jù)庫(kù)的安全性問(wèn)題 數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)共享不能是無(wú)條件的共享數(shù)據(jù)庫(kù)系統(tǒng)中的數(shù)據(jù)共享不能是無(wú)條件的共享 3 數(shù)據(jù)庫(kù)安全性數(shù)據(jù)庫(kù)安全性 6.1 數(shù)據(jù)庫(kù)安全性控制 數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù),以防止數(shù)據(jù)庫(kù)的安全性是指保護(hù)數(shù)據(jù)庫(kù),以防止不合法不合法的
2、的 使用造成的數(shù)據(jù)泄密、更改或破壞。使用造成的數(shù)據(jù)泄密、更改或破壞。 計(jì)算機(jī)系統(tǒng)中,安全措施是一級(jí)一級(jí)層層設(shè)置計(jì)算機(jī)系統(tǒng)中,安全措施是一級(jí)一級(jí)層層設(shè)置 4 計(jì)算機(jī)系統(tǒng)的安全模型計(jì)算機(jī)系統(tǒng)的安全模型 6.1 數(shù)據(jù)庫(kù)安全性控制 常用方法常用方法 用戶(hù)標(biāo)識(shí)和鑒定用戶(hù)標(biāo)識(shí)和鑒定 存取控制存取控制 視圖視圖 審計(jì)審計(jì) 5 6.1 數(shù)據(jù)庫(kù)安全性控制 6.1.1 用戶(hù)標(biāo)識(shí)與鑒別用戶(hù)標(biāo)識(shí)與鑒別 6.1.2 存取控制存取控制 6.2.3 視圖視圖 6.2.4 審計(jì)審計(jì) 6 6.1.1 用戶(hù)標(biāo)識(shí)與鑒別 用戶(hù)標(biāo)識(shí)與鑒別用戶(hù)標(biāo)識(shí)與鑒別 (Identification 語(yǔ)義:將對(duì)指定操作對(duì)象的指定操作權(quán)限授予指定的用戶(hù)
3、語(yǔ)義:將對(duì)指定操作對(duì)象的指定操作權(quán)限授予指定的用戶(hù) 17 GRANT(續(xù)) 發(fā)出發(fā)出GRANT DBA 數(shù)據(jù)庫(kù)對(duì)象創(chuàng)建者(即屬主數(shù)據(jù)庫(kù)對(duì)象創(chuàng)建者(即屬主Owner) 擁有該權(quán)限的用戶(hù)擁有該權(quán)限的用戶(hù) 接受權(quán)限的用戶(hù)接受權(quán)限的用戶(hù) 一個(gè)或多個(gè)具體用戶(hù)一個(gè)或多個(gè)具體用戶(hù) PUBLIC(全體用戶(hù))(全體用戶(hù)) 18 WITH GRANT OPTION子句 WITH GRANT OPTION子句子句: 指定:可以指定:可以再授予再授予 沒(méi)有指定:沒(méi)有指定:不能傳播不能傳播 不允許循環(huán)授權(quán)不允許循環(huán)授權(quán) 19 GRANT舉例 把查詢(xún)把查詢(xún)Student表權(quán)限授給用戶(hù)表權(quán)限授給用戶(hù)U1 GRANT SEL
4、ECT ON Student TO U1 WITH GRANT OPTION; 20 授權(quán)與回收(續(xù)) 二、二、REVOKE 授予的權(quán)限可以由授予的權(quán)限可以由DBA或其他授權(quán)者用或其他授權(quán)者用 REVOKE語(yǔ)句收回語(yǔ)句收回 REVOKE語(yǔ)句的一般格式為:語(yǔ)句的一般格式為: REVOKE ,. ON FROM ,.; 21 REVOKE(續(xù)) 把用戶(hù)把用戶(hù)U1查詢(xún)學(xué)生表的權(quán)限收回查詢(xún)學(xué)生表的權(quán)限收回 REVOKE SELECT ON Student FROM U1; 22 小結(jié): SQL靈活的授權(quán)機(jī)制 DBA:擁有所有對(duì)象的所有權(quán)限:擁有所有對(duì)象的所有權(quán)限 不同的權(quán)限授予不同的用戶(hù)不同的權(quán)限授予
5、不同的用戶(hù) 用戶(hù)用戶(hù):擁有自己建立的對(duì)象的全部的操作權(quán)限:擁有自己建立的對(duì)象的全部的操作權(quán)限 GRANT:授予其他用戶(hù):授予其他用戶(hù) 被授權(quán)的用戶(hù)被授權(quán)的用戶(hù) “繼續(xù)授權(quán)繼續(xù)授權(quán)”許可:再授予許可:再授予 所有授予出去的權(quán)力在必要時(shí)又都可用所有授予出去的權(quán)力在必要時(shí)又都可用REVOKE語(yǔ)句收語(yǔ)句收 回回 23 6.1.2 存取控制 6.1.2.1 自主存取控制方法自主存取控制方法 6.1.2.2 授權(quán)與回收授權(quán)與回收 6.1.2.3 強(qiáng)制存取控制方法強(qiáng)制存取控制方法 24 自主存取控制缺點(diǎn) 存在問(wèn)題存在問(wèn)題 可能存在數(shù)據(jù)的可能存在數(shù)據(jù)的“無(wú)意泄露無(wú)意泄露” 主要原因主要原因 自主存取控制機(jī)制僅
6、僅通過(guò)對(duì)數(shù)據(jù)的存取權(quán)限進(jìn)行安自主存取控制機(jī)制僅僅通過(guò)對(duì)數(shù)據(jù)的存取權(quán)限進(jìn)行安 全控制,而數(shù)據(jù)本身并無(wú)安全性標(biāo)記全控制,而數(shù)據(jù)本身并無(wú)安全性標(biāo)記 解決方法解決方法 對(duì)系統(tǒng)控制下的對(duì)系統(tǒng)控制下的所有所有主主客客體實(shí)施強(qiáng)制存取控制策略體實(shí)施強(qiáng)制存取控制策略 25 6.1.2.3 強(qiáng)制存取控制方法 強(qiáng)制存取控制強(qiáng)制存取控制(Mandatory Access Control,簡(jiǎn)稱(chēng)簡(jiǎn)稱(chēng) MAC) 每一個(gè)數(shù)據(jù)庫(kù)對(duì)象被標(biāo)以一定的密級(jí)每一個(gè)數(shù)據(jù)庫(kù)對(duì)象被標(biāo)以一定的密級(jí), 每一個(gè)用戶(hù)也被每一個(gè)用戶(hù)也被 授予某一個(gè)級(jí)別的許可證授予某一個(gè)級(jí)別的許可證, 對(duì)任意一個(gè)對(duì)象對(duì)任意一個(gè)對(duì)象, 只有具有只有具有 合法許可證的用戶(hù)才
7、可以存取合法許可證的用戶(hù)才可以存取 嚴(yán)格嚴(yán)格 強(qiáng)制存取控制強(qiáng)制存取控制MAC特點(diǎn)特點(diǎn) 對(duì)系統(tǒng)控制下的對(duì)系統(tǒng)控制下的所有所有主主客客體體實(shí)施強(qiáng)制存取控制策略實(shí)施強(qiáng)制存取控制策略 不是用戶(hù)能直接感知或進(jìn)行控制,保證更高程度的安不是用戶(hù)能直接感知或進(jìn)行控制,保證更高程度的安 全性全性 適用對(duì)數(shù)據(jù)有嚴(yán)格而固定密級(jí)分類(lèi)部門(mén):軍事、政府適用對(duì)數(shù)據(jù)有嚴(yán)格而固定密級(jí)分類(lèi)部門(mén):軍事、政府 26 強(qiáng)制存取控制方法(續(xù)) 主體:主體:系統(tǒng)中的活動(dòng)實(shí)體系統(tǒng)中的活動(dòng)實(shí)體 DBMS所管理的實(shí)際用戶(hù)所管理的實(shí)際用戶(hù) 代表用戶(hù)的各進(jìn)程代表用戶(hù)的各進(jìn)程 客體:客體:系統(tǒng)中的被動(dòng)實(shí)體,是受主體操縱的系統(tǒng)中的被動(dòng)實(shí)體,是受主體操縱
8、的 文件文件 基表基表 索引索引 視圖視圖 27 強(qiáng)制存取控制方法(續(xù)) 敏感度標(biāo)記敏感度標(biāo)記(Label) 絕密(絕密(Top Secret) 機(jī)密(機(jī)密(Secret) 可信(可信(Confidential) 公開(kāi)(公開(kāi)(Public) 主體主體的敏感度標(biāo)記稱(chēng)為的敏感度標(biāo)記稱(chēng)為許可證級(jí)別許可證級(jí)別(Clearance Level) 客體客體的敏感度標(biāo)記稱(chēng)為的敏感度標(biāo)記稱(chēng)為密級(jí)密級(jí)(Classification Level) 28 強(qiáng)制存取控制方法(續(xù)) 強(qiáng)制存取控制規(guī)則強(qiáng)制存取控制規(guī)則 僅當(dāng)僅當(dāng)主體許可證級(jí)別主體許可證級(jí)別大于或等于大于或等于客體密級(jí)客體密級(jí)時(shí),主體才能時(shí),主體才能 讀讀取
9、相應(yīng)客體取相應(yīng)客體 僅當(dāng)僅當(dāng)主體許可證級(jí)別主體許可證級(jí)別等于等于客體密級(jí)客體密級(jí)時(shí),主體才能時(shí),主體才能寫(xiě)寫(xiě)相應(yīng)相應(yīng) 客體客體 被寫(xiě)入的客體也就具有了與許可證對(duì)等的密級(jí)被寫(xiě)入的客體也就具有了與許可證對(duì)等的密級(jí) 29 MAC與DAC DBMS安全機(jī)制:安全機(jī)制:DAC + MAC 實(shí)現(xiàn)實(shí)現(xiàn)MAC時(shí)要首先實(shí)現(xiàn)時(shí)要首先實(shí)現(xiàn)DAC 原因:較高安全性級(jí)別提供的安全保護(hù)要包含較原因:較高安全性級(jí)別提供的安全保護(hù)要包含較 低級(jí)別的所有保護(hù)低級(jí)別的所有保護(hù) 30 強(qiáng)制存取控制方法(續(xù)) DAC + MAC安全檢查示意圖安全檢查示意圖 31 v 先進(jìn)行先進(jìn)行DAC檢查,通過(guò)檢查,通過(guò)DAC檢查的數(shù)據(jù)對(duì)象再由系統(tǒng)
10、進(jìn)行檢查的數(shù)據(jù)對(duì)象再由系統(tǒng)進(jìn)行MAC檢檢 查,只有通過(guò)查,只有通過(guò)MAC檢查的數(shù)據(jù)對(duì)象方可存取檢查的數(shù)據(jù)對(duì)象方可存取 DAC 檢檢 查查 繼續(xù)語(yǔ)義檢查繼續(xù)語(yǔ)義檢查 安全檢查安全檢查 SQL語(yǔ)法分析語(yǔ)法分析 & 語(yǔ)義檢查語(yǔ)義檢查 MAC 檢檢 查查 6.1 數(shù)據(jù)庫(kù)安全性控制 6.1.1 用戶(hù)標(biāo)識(shí)與鑒別用戶(hù)標(biāo)識(shí)與鑒別 6.1.2 存取控制存取控制 6.1.3 視圖視圖 6.1.4 審計(jì)審計(jì) 32 6.1.3 視圖 視圖機(jī)制視圖機(jī)制 為不同的用戶(hù)定義不同的視圖,通過(guò)視圖把數(shù)據(jù)對(duì)象限制在為不同的用戶(hù)定義不同的視圖,通過(guò)視圖把數(shù)據(jù)對(duì)象限制在 一定范圍內(nèi),把要保密的數(shù)據(jù)對(duì)無(wú)權(quán)存取的用戶(hù)隱藏起來(lái),一定范圍內(nèi)
11、,把要保密的數(shù)據(jù)對(duì)無(wú)權(quán)存取的用戶(hù)隱藏起來(lái), 從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù)。 33 視圖機(jī)制(續(xù)) 建立計(jì)算機(jī)系學(xué)生的視圖,把對(duì)該視圖的建立計(jì)算機(jī)系學(xué)生的視圖,把對(duì)該視圖的SELECT 權(quán)限授于王平,把該視圖上的所有操作權(quán)限授于張權(quán)限授于王平,把該視圖上的所有操作權(quán)限授于張 明明 先立計(jì)算機(jī)系學(xué)生的視圖先立計(jì)算機(jī)系學(xué)生的視圖 計(jì)算機(jī)系計(jì)算機(jī)系_學(xué)生學(xué)生 CREATE VIEW 計(jì)算機(jī)系計(jì)算機(jī)系_學(xué)生學(xué)生 AS SELECT * FROM 學(xué)生學(xué)生 WHERE 所在系所在系=計(jì)算機(jī)系計(jì)算機(jī)系; 34 視圖機(jī)制(續(xù)) 在視圖上進(jìn)一步定義存取權(quán)限在視圖
12、上進(jìn)一步定義存取權(quán)限 GRANT SELECT ON 計(jì)算機(jī)系計(jì)算機(jī)系_學(xué)生學(xué)生 TO 王平王平 ; GRANT ALL PRIVILGES ON 計(jì)算機(jī)系計(jì)算機(jī)系_學(xué)生學(xué)生 TO 張明;張明; 35 6.1 數(shù)據(jù)庫(kù)安全性控制 6.1.1 用戶(hù)標(biāo)識(shí)與鑒別用戶(hù)標(biāo)識(shí)與鑒別 6.1.2 存取控制存取控制 6.1.3 視圖視圖 6.1.4 審計(jì)審計(jì) 36 6.1.4 審計(jì) 審計(jì)審計(jì) 審計(jì)日志審計(jì)日志(Audit Log): 將用戶(hù)對(duì)數(shù)據(jù)庫(kù)的所有操作將用戶(hù)對(duì)數(shù)據(jù)庫(kù)的所有操作 記錄在上面記錄在上面(日志文件日志文件) 一旦發(fā)生數(shù)據(jù)被非法存取,一旦發(fā)生數(shù)據(jù)被非法存取,DBA利用審計(jì)日志利用審計(jì)日志: 找出找
13、出 非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容非法存取數(shù)據(jù)的人、時(shí)間和內(nèi)容 審計(jì)需要在時(shí)間和空間上付出巨大的代價(jià)審計(jì)需要在時(shí)間和空間上付出巨大的代價(jià) 37 第六章 數(shù)據(jù)庫(kù)保護(hù)技術(shù) 6.1 數(shù)據(jù)庫(kù)安全性控制數(shù)據(jù)庫(kù)安全性控制 6.2 數(shù)據(jù)庫(kù)完整性控制數(shù)據(jù)庫(kù)完整性控制 6.3 數(shù)據(jù)庫(kù)并發(fā)控制數(shù)據(jù)庫(kù)并發(fā)控制 6.4 數(shù)據(jù)庫(kù)恢復(fù)技術(shù)數(shù)據(jù)庫(kù)恢復(fù)技術(shù) 6.2 數(shù)據(jù)庫(kù)完整性控制 數(shù)據(jù)的完整性數(shù)據(jù)的完整性 數(shù)據(jù)的數(shù)據(jù)的正確性和相容性正確性和相容性 學(xué)生的學(xué)號(hào)必須唯一學(xué)生的學(xué)號(hào)必須唯一 性別只能是男或女性別只能是男或女 本科學(xué)生年齡的取值范圍為本科學(xué)生年齡的取值范圍為1450的整數(shù)的整數(shù) 學(xué)生所選的課程必須是學(xué)校開(kāi)設(shè)的課程學(xué)生
14、所選的課程必須是學(xué)校開(kāi)設(shè)的課程 學(xué)生所在的院系必須是學(xué)校已成立的院系學(xué)生所在的院系必須是學(xué)校已成立的院系 要求用戶(hù)在數(shù)據(jù)庫(kù)中添加或修改數(shù)據(jù)時(shí)必須保要求用戶(hù)在數(shù)據(jù)庫(kù)中添加或修改數(shù)據(jù)時(shí)必須保 證一定的約束條件證一定的約束條件 39 6.2 數(shù)據(jù)庫(kù)完整性控制 為維護(hù)數(shù)據(jù)庫(kù)的完整性,為維護(hù)數(shù)據(jù)庫(kù)的完整性,DBMS必須:必須: n1.提供提供定義定義完整性約束條件的機(jī)制完整性約束條件的機(jī)制 n2.提供完整性提供完整性檢查檢查的方法的方法 n3.違約處理違約處理 40 數(shù)據(jù)庫(kù)完整性控制 完整性檢查是圍繞完整性約束條件進(jìn)行的,因完整性檢查是圍繞完整性約束條件進(jìn)行的,因 此,完整性約束條件是完整性控制機(jī)制的核
15、心。此,完整性約束條件是完整性控制機(jī)制的核心。 數(shù)據(jù)完整性約束可以分為:數(shù)據(jù)完整性約束可以分為: 屬性級(jí)約束,屬性級(jí)約束,針對(duì)列的類(lèi)型、取值范圍、精度、排針對(duì)列的類(lèi)型、取值范圍、精度、排 序等而制定的約束條件。序等而制定的約束條件。 元組級(jí)約束,元組級(jí)約束,元組中的字段組和字段間聯(lián)系的約束;元組中的字段組和字段間聯(lián)系的約束; 表級(jí)約束,表級(jí)約束,若干元組間、關(guān)系之間聯(lián)系的約束;若干元組間、關(guān)系之間聯(lián)系的約束; 41 數(shù)據(jù)庫(kù)完整性控制 完整性控制機(jī)制應(yīng)具有的功能完整性控制機(jī)制應(yīng)具有的功能 1) 定義完整性功能,提供定義完整性約束條件的機(jī)制。定義完整性功能,提供定義完整性約束條件的機(jī)制。 2) 檢
16、查完整性功能,檢查用戶(hù)發(fā)出的操作請(qǐng)求,看其是否檢查完整性功能,檢查用戶(hù)發(fā)出的操作請(qǐng)求,看其是否 違背了完整性約束條件。違背了完整性約束條件。 3) 控制完整性功能,監(jiān)視數(shù)據(jù)操作的整個(gè)過(guò)程,如果發(fā)現(xiàn)控制完整性功能,監(jiān)視數(shù)據(jù)操作的整個(gè)過(guò)程,如果發(fā)現(xiàn) 有違背了完整性約束條件的情況,則采取一定的動(dòng)作來(lái)保有違背了完整性約束條件的情況,則采取一定的動(dòng)作來(lái)保 證數(shù)據(jù)的完整性。證數(shù)據(jù)的完整性。 在完整性控制技術(shù)中,當(dāng)違反完整性約束時(shí),一般的處理方法是拒在完整性控制技術(shù)中,當(dāng)違反完整性約束時(shí),一般的處理方法是拒 絕導(dǎo)致破壞完整性的操作。絕導(dǎo)致破壞完整性的操作。 42 數(shù)據(jù)庫(kù)完整性控制 用附加操作來(lái)對(duì)參照完整性的
17、處理用附加操作來(lái)對(duì)參照完整性的處理 在被參照關(guān)系中刪除元組的問(wèn)題在被參照關(guān)系中刪除元組的問(wèn)題 受限刪除:受限刪除:僅當(dāng)外碼表中沒(méi)有任何元組的外碼值與主碼表中要?jiǎng)h除僅當(dāng)外碼表中沒(méi)有任何元組的外碼值與主碼表中要?jiǎng)h除 元組的主碼值相同時(shí),系統(tǒng)才執(zhí)行刪除操作,否則拒絕此刪除操作。元組的主碼值相同時(shí),系統(tǒng)才執(zhí)行刪除操作,否則拒絕此刪除操作。 級(jí)聯(lián)刪除:級(jí)聯(lián)刪除:將外碼表中所有外碼值與主碼表中要?jiǎng)h除的元組主碼值將外碼表中所有外碼值與主碼表中要?jiǎng)h除的元組主碼值 相同的元組一起刪除。如果外碼表同時(shí)又是另一個(gè)關(guān)系的主碼表,相同的元組一起刪除。如果外碼表同時(shí)又是另一個(gè)關(guān)系的主碼表, 則這種刪除操作會(huì)繼續(xù)級(jí)聯(lián)下去。
18、則這種刪除操作會(huì)繼續(xù)級(jí)聯(lián)下去。 置空值刪除:置空值刪除:刪除主碼表的元組,并將外碼表中相應(yīng)元組的外碼值刪除主碼表的元組,并將外碼表中相應(yīng)元組的外碼值 置空值。置空值。 43 數(shù)據(jù)庫(kù)完整性控制 在被參照關(guān)系中修改元組的問(wèn)題在被參照關(guān)系中修改元組的問(wèn)題 受限修改。受限修改。如果外碼表中,有外碼值與主碼表中要修改的主碼值相如果外碼表中,有外碼值與主碼表中要修改的主碼值相 同的元組,則拒絕修改。同的元組,則拒絕修改。 級(jí)聯(lián)修改。級(jí)聯(lián)修改。如果要修改主碼表中的某個(gè)元組的主碼值,則外碼表中如果要修改主碼表中的某個(gè)元組的主碼值,則外碼表中 相應(yīng)的外碼值也作相應(yīng)的修改。相應(yīng)的外碼值也作相應(yīng)的修改。 置空值修改
19、。置空值修改。修改主碼表的元組,并將外碼表中相應(yīng)元組的外碼值修改主碼表的元組,并將外碼表中相應(yīng)元組的外碼值 置空值。置空值。 44 第六章 數(shù)據(jù)庫(kù)保護(hù)技術(shù) 6.1 數(shù)據(jù)庫(kù)安全性控制數(shù)據(jù)庫(kù)安全性控制 6.2 數(shù)據(jù)庫(kù)完整性控制數(shù)據(jù)庫(kù)完整性控制 6.3 數(shù)據(jù)庫(kù)并發(fā)控制數(shù)據(jù)庫(kù)并發(fā)控制 6.4 數(shù)據(jù)庫(kù)恢復(fù)技術(shù)數(shù)據(jù)庫(kù)恢復(fù)技術(shù) 問(wèn)題的產(chǎn)生 多用戶(hù)數(shù)據(jù)庫(kù)系統(tǒng)的存在多用戶(hù)數(shù)據(jù)庫(kù)系統(tǒng)的存在 允許多個(gè)用戶(hù)同時(shí)使用的數(shù)據(jù)庫(kù)系統(tǒng)允許多個(gè)用戶(hù)同時(shí)使用的數(shù)據(jù)庫(kù)系統(tǒng) 6.3 數(shù)據(jù)庫(kù)并發(fā)控制 并發(fā)控制:并發(fā)控制: 控制數(shù)據(jù)庫(kù),防止多用戶(hù)并發(fā)使用數(shù)據(jù)庫(kù)時(shí)造成數(shù)據(jù)錯(cuò)誤控制數(shù)據(jù)庫(kù),防止多用戶(hù)并發(fā)使用數(shù)據(jù)庫(kù)時(shí)造成數(shù)據(jù)錯(cuò)誤 和程序運(yùn)行錯(cuò)
20、誤,保證數(shù)據(jù)的完整性。和程序運(yùn)行錯(cuò)誤,保證數(shù)據(jù)的完整性。 事務(wù):事務(wù): 事務(wù)是用戶(hù)定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全事務(wù)是用戶(hù)定義的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全 做要么全不做,是一個(gè)不可分割的工作單位。做要么全不做,是一個(gè)不可分割的工作單位。 在在SQL語(yǔ)言中,定義事務(wù)的語(yǔ)句有三條:語(yǔ)言中,定義事務(wù)的語(yǔ)句有三條: BEGIN TRANSACTION; COMMIT; ROLLBACK; 47 6.3 數(shù)據(jù)庫(kù)并發(fā)控制 事務(wù)的四個(gè)特性成為事務(wù)的四個(gè)特性成為ACID特性特性: 執(zhí)行的原子性(執(zhí)行的原子性(Atomicity):):一個(gè)事務(wù)中所有對(duì)數(shù)據(jù)庫(kù)的一個(gè)事務(wù)中所有對(duì)數(shù)據(jù)庫(kù)的 操作是一
21、個(gè)不可分割的操作序列。這些操作要么全部執(zhí)行,操作是一個(gè)不可分割的操作序列。這些操作要么全部執(zhí)行, 要么全部不執(zhí)行要么全部不執(zhí)行 結(jié)果的一致性(結(jié)果的一致性(Consistency):):事務(wù)執(zhí)行的結(jié)果必須是使事務(wù)執(zhí)行的結(jié)果必須是使 得數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài)得數(shù)據(jù)庫(kù)從一個(gè)一致性狀態(tài)變到另一個(gè)一致性狀態(tài) 彼此的隔離性(彼此的隔離性(Isolation):):多個(gè)事務(wù)并發(fā)執(zhí)行的時(shí)候,多個(gè)事務(wù)并發(fā)執(zhí)行的時(shí)候, 各個(gè)事務(wù)應(yīng)該像獨(dú)立執(zhí)行一樣,而不受其他事務(wù)的干擾各個(gè)事務(wù)應(yīng)該像獨(dú)立執(zhí)行一樣,而不受其他事務(wù)的干擾 作用的持久性(作用的持久性(Durability):):一個(gè)事務(wù)一旦完成其全
22、部一個(gè)事務(wù)一旦完成其全部 操作,它對(duì)數(shù)據(jù)庫(kù)的所有更新應(yīng)該永久得反映在數(shù)據(jù)庫(kù)中操作,它對(duì)數(shù)據(jù)庫(kù)的所有更新應(yīng)該永久得反映在數(shù)據(jù)庫(kù)中 6.3 數(shù)據(jù)庫(kù)并發(fā)控制 ACID特性在下面兩種情況下可能遭到破壞特性在下面兩種情況下可能遭到破壞 多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),各自的操作交叉執(zhí)行多個(gè)事務(wù)并發(fā)執(zhí)行時(shí),各自的操作交叉執(zhí)行 事務(wù)在運(yùn)行過(guò)程中被強(qiáng)行停止事務(wù)在運(yùn)行過(guò)程中被強(qiáng)行停止 6.3 數(shù)據(jù)庫(kù)并發(fā)控制 并發(fā)操作帶來(lái)的數(shù)據(jù)不一致性并發(fā)操作帶來(lái)的數(shù)據(jù)不一致性 丟失修改(丟失修改(Lost Update) 讀讀“臟臟”數(shù)據(jù)(數(shù)據(jù)(Dirty Read) 不可重復(fù)讀(不可重復(fù)讀(Non-repeatable Read) 記號(hào)
23、記號(hào) R(x):讀數(shù)據(jù)讀數(shù)據(jù)x W(x):寫(xiě)數(shù)據(jù)寫(xiě)數(shù)據(jù)x 1. 丟失修改 兩個(gè)事務(wù)兩個(gè)事務(wù)T1和和T2讀入同一數(shù)據(jù)并修改,讀入同一數(shù)據(jù)并修改,T2的的 提交結(jié)果破壞了提交結(jié)果破壞了T1提交的結(jié)果,導(dǎo)致提交的結(jié)果,導(dǎo)致T1的修的修 改被丟失。改被丟失。 丟失修改(續(xù)) T1T2 R(A)=16 R(A)=16 AA-2 AA-1 W(A)=14 W(A)=15 丟失修改丟失修改 2. 不可重復(fù)讀 不可重復(fù)讀是指事務(wù)不可重復(fù)讀是指事務(wù)T1讀取數(shù)據(jù)后,事務(wù)讀取數(shù)據(jù)后,事務(wù)T2 執(zhí)行更新操作,使執(zhí)行更新操作,使T1無(wú)法再現(xiàn)前一次讀取結(jié)無(wú)法再現(xiàn)前一次讀取結(jié) 果果。 不可重復(fù)讀(續(xù)) nT1讀取讀取B=1
24、00進(jìn)行運(yùn)算進(jìn)行運(yùn)算 nT2讀取同一數(shù)據(jù)讀取同一數(shù)據(jù)B,對(duì),對(duì) 其進(jìn)行修改后將其進(jìn)行修改后將B=200 寫(xiě)回?cái)?shù)據(jù)庫(kù)。寫(xiě)回?cái)?shù)據(jù)庫(kù)。 nT1為了對(duì)讀取值校對(duì)為了對(duì)讀取值校對(duì) 重讀重讀B,B已為已為200,與,與 第一次讀取值不一致第一次讀取值不一致 T1T2 R(A)=50 R(B)=100 求和求和=150 R(B)=100 BB*2 W(B)=200 R(A)=50 R(B)=200 和和=250 (驗(yàn)算不對(duì)驗(yàn)算不對(duì)) 不可重復(fù)讀不可重復(fù)讀 例如:例如: 3. 讀“臟”數(shù)據(jù) 讀讀“臟臟”數(shù)據(jù)是指:數(shù)據(jù)是指: 事務(wù)事務(wù)T1修改某一數(shù)據(jù),并將其寫(xiě)回磁盤(pán)修改某一數(shù)據(jù),并將其寫(xiě)回磁盤(pán) 事務(wù)事務(wù)T2讀取
25、同一數(shù)據(jù)后,讀取同一數(shù)據(jù)后,T1由于某種原因被撤銷(xiāo)由于某種原因被撤銷(xiāo) 這時(shí)這時(shí)T1已修改過(guò)的數(shù)據(jù)恢復(fù)原值,已修改過(guò)的數(shù)據(jù)恢復(fù)原值,T2讀到的數(shù)據(jù)就與數(shù)據(jù)讀到的數(shù)據(jù)就與數(shù)據(jù) 庫(kù)中的數(shù)據(jù)不一致庫(kù)中的數(shù)據(jù)不一致 T2讀到的數(shù)據(jù)就為讀到的數(shù)據(jù)就為“臟臟”數(shù)據(jù),即不正確的數(shù)據(jù)數(shù)據(jù),即不正確的數(shù)據(jù) 讀“臟”數(shù)據(jù)(續(xù)) T1T2 R(C)=100 CC*2 W(C)=200 R(C)=200 ROLLBACK C恢復(fù)為恢復(fù)為100 例如例如 讀讀“臟臟”數(shù)據(jù)數(shù)據(jù) n T1將將C值修改為值修改為200, T2讀到讀到C為為200 n T1由于某種原因撤銷(xiāo),由于某種原因撤銷(xiāo), 其修改作廢,其修改作廢,C恢復(fù)恢復(fù)
26、 原值原值100 n 這時(shí)這時(shí)T2讀到的讀到的C為為200, 與數(shù)據(jù)庫(kù)內(nèi)容不一致,與數(shù)據(jù)庫(kù)內(nèi)容不一致, 就是就是“臟臟”數(shù)據(jù)數(shù)據(jù) 并發(fā)控制概述(續(xù)) 數(shù)據(jù)不一致性:由于數(shù)據(jù)不一致性:由于并發(fā)操作破壞了事務(wù)的隔并發(fā)操作破壞了事務(wù)的隔 離性離性 并發(fā)控制就是要用并發(fā)控制就是要用正確的方式調(diào)度并發(fā)操作正確的方式調(diào)度并發(fā)操作, 使一個(gè)用戶(hù)事務(wù)的執(zhí)行不受其他事務(wù)的干擾,使一個(gè)用戶(hù)事務(wù)的執(zhí)行不受其他事務(wù)的干擾, 從而避免造成數(shù)據(jù)的不一致性從而避免造成數(shù)據(jù)的不一致性 并發(fā)控制概述(續(xù)) 并發(fā)控制的主要技術(shù)并發(fā)控制的主要技術(shù) 封鎖封鎖(Locking) 時(shí)間戳?xí)r間戳(Timestamp) 樂(lè)觀控制法樂(lè)觀控制法
27、 封鎖 什么是封鎖什么是封鎖 基本封鎖類(lèi)型基本封鎖類(lèi)型 鎖的相容矩陣鎖的相容矩陣 什么是封鎖 封鎖就是事務(wù)封鎖就是事務(wù)T在對(duì)某個(gè)數(shù)據(jù)對(duì)象(例如表、記在對(duì)某個(gè)數(shù)據(jù)對(duì)象(例如表、記 錄等)操作之前,先向系統(tǒng)發(fā)出請(qǐng)求,對(duì)其加鎖。錄等)操作之前,先向系統(tǒng)發(fā)出請(qǐng)求,對(duì)其加鎖。 加鎖后事務(wù)加鎖后事務(wù)T就對(duì)該數(shù)據(jù)對(duì)象有了一定的控制,就對(duì)該數(shù)據(jù)對(duì)象有了一定的控制, 在事務(wù)在事務(wù)T釋放它的鎖之前,其它的事務(wù)對(duì)該數(shù)據(jù)釋放它的鎖之前,其它的事務(wù)對(duì)該數(shù)據(jù) 對(duì)象的操作受到一定的限制。對(duì)象的操作受到一定的限制。 基本封鎖類(lèi)型 一個(gè)事務(wù)對(duì)某個(gè)數(shù)據(jù)對(duì)象加鎖后究竟擁有什么一個(gè)事務(wù)對(duì)某個(gè)數(shù)據(jù)對(duì)象加鎖后究竟擁有什么 樣的控制由封鎖的類(lèi)型決定。樣
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級(jí)數(shù)學(xué)上冊(cè)蘇教版《釘子板上的多邊形》聽(tīng)評(píng)課記錄
- 八年級(jí)數(shù)學(xué)上冊(cè) 14.3 因式分解 14.3.1 提公因式法聽(tīng)評(píng)課記錄 新人教版
- 湘教版數(shù)學(xué)七年級(jí)上冊(cè)2.4《整式》聽(tīng)評(píng)課記錄
- 青島版數(shù)學(xué)七年級(jí)下冊(cè)12.1《平方差公式》聽(tīng)評(píng)課記錄
- 魯教版地理六年級(jí)下冊(cè)7.4《俄羅斯》聽(tīng)課評(píng)課記錄1
- 人民版九年級(jí)政治全冊(cè)第三單元第八課依法治國(guó)第3-4喜中有憂(yōu)我們共同的責(zé)任聽(tīng)課評(píng)課記錄
- 中圖版地理八年級(jí)下冊(cè)7.4《巴西》聽(tīng)課評(píng)課記錄
- 鋁合金窗產(chǎn)品質(zhì)量監(jiān)督抽查實(shí)施細(xì)則
- 小學(xué)二年級(jí)數(shù)學(xué)口算練習(xí)題
- 一年級(jí)英語(yǔ)聽(tīng)評(píng)課記錄
- 湖北省武漢市2024-2025學(xué)年度高三元月調(diào)考英語(yǔ)試題(含答案無(wú)聽(tīng)力音頻有聽(tīng)力原文)
- 商務(wù)星球版地理八年級(jí)下冊(cè)全冊(cè)教案
- 天津市河西區(qū)2024-2025學(xué)年四年級(jí)(上)期末語(yǔ)文試卷(含答案)
- 2025年空白離婚協(xié)議書(shū)
- 校長(zhǎng)在行政會(huì)上總結(jié)講話(huà)結(jié)合新課標(biāo)精神給學(xué)校管理提出3點(diǎn)建議
- 北京市北京四中2025屆高三第四次模擬考試英語(yǔ)試卷含解析
- 2024年快遞行業(yè)無(wú)人機(jī)物流運(yùn)輸合同范本及法規(guī)遵循3篇
- T-CSUS 69-2024 智慧水務(wù)技術(shù)標(biāo)準(zhǔn)
- 2025年護(hù)理質(zhì)量與安全管理工作計(jì)劃
- 地下商業(yè)街的規(guī)劃設(shè)計(jì)
- 2024-2030年全球及中國(guó)低密度聚乙烯(LDPE)行業(yè)需求動(dòng)態(tài)及未來(lái)發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論