第5章 數(shù)據(jù)庫完整性.ppt_第1頁
第5章 數(shù)據(jù)庫完整性.ppt_第2頁
第5章 數(shù)據(jù)庫完整性.ppt_第3頁
第5章 數(shù)據(jù)庫完整性.ppt_第4頁
第5章 數(shù)據(jù)庫完整性.ppt_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1 第5章數(shù)據(jù)庫完整性 2 數(shù)據(jù)庫的完整性是指保護(hù)數(shù)據(jù)庫中數(shù)據(jù)的正確性 有效性和相容性 防止錯(cuò)誤的數(shù)據(jù)進(jìn)入數(shù)據(jù)庫造成無效操作 一些完整性約束的例子 比如年齡屬于數(shù)值型數(shù)據(jù) 只能含0 1 9 不能含字母或特殊符號(hào) 月份只能取1 12之間的正整數(shù) 表示同一事實(shí)的兩個(gè)數(shù)據(jù)應(yīng)相同 否則就不相容 如一個(gè)人不能有兩個(gè)學(xué)號(hào) 維護(hù)數(shù)據(jù)庫的完整性非常重要 數(shù)據(jù)庫中的數(shù)據(jù)是否具備完整性關(guān)系到數(shù)據(jù)能否真實(shí)地反映現(xiàn)實(shí)世界 5 1數(shù)據(jù)庫完整性的含義 3 數(shù)據(jù)庫的完整性和安全性是數(shù)據(jù)庫保護(hù)的兩個(gè)不同的方面 安全性是保護(hù)數(shù)據(jù)庫 以防止非法使用所造成數(shù)據(jù)的泄露 更改或破壞 安全性措施的防范對(duì)象是非法用戶和非法操作 完整性是防止合法用戶使用數(shù)據(jù)庫時(shí)向數(shù)據(jù)庫中加入不符合語義的數(shù)據(jù) 完整性措施的防范對(duì)象是不合語義的數(shù)據(jù) 5 1數(shù)據(jù)庫完整性的含義 續(xù) 4 為了實(shí)現(xiàn)完整性控制 數(shù)據(jù)庫管理員應(yīng)向DBMS提出一組完整性規(guī)則 來檢查數(shù)據(jù)庫中的數(shù)據(jù) 看其是否滿足語義約束 這些語義約束構(gòu)成了數(shù)據(jù)庫的完整性規(guī)則 這組規(guī)則作為DBMS控制數(shù)據(jù)完整性的依據(jù) 它定義了何時(shí)檢查 檢查什么 查出錯(cuò)誤又怎樣處理等事項(xiàng) 5 2完整性規(guī)則的組成 5 5 2完整性規(guī)則的組成 續(xù) 具體地說 完整性規(guī)則主要由以下三部分構(gòu)成 1 觸發(fā)條件 規(guī)定系統(tǒng)什么時(shí)候使用規(guī)則檢查數(shù)據(jù) 2 約束條件 規(guī)定系統(tǒng)檢查用戶發(fā)出的操作請(qǐng)求違背了什么樣的完整性約束條件 3 違約響應(yīng) 規(guī)定系統(tǒng)如果發(fā)現(xiàn)用戶的操作請(qǐng)求違背了完整性約束條件 應(yīng)該采取一定的動(dòng)作來保證數(shù)據(jù)的完整性 即違約時(shí)要做的事情 6 一條完整性規(guī)則可以用一個(gè)五元組 D O A C P 來形式化地表示 其中 D data 代表約束作用的數(shù)據(jù)對(duì)象 O operation 代表觸發(fā)完整性檢查的數(shù)據(jù)庫操作 即當(dāng)用戶發(fā)出什么操作請(qǐng)求時(shí)需要檢查該完整性規(guī)則 A assertion 代表數(shù)據(jù)對(duì)象必須滿足的語義約束 這是規(guī)則的主體 C condition 代表選擇A作用的數(shù)據(jù)對(duì)象值的謂詞 P procdure 代表違反完整性規(guī)則時(shí)觸發(fā)執(zhí)行的操作過程 5 2完整性規(guī)則的組成 續(xù) 7 例如 對(duì)于 學(xué)號(hào)不能為空 的這條完整性約束 D 代表約束作用的數(shù)據(jù)對(duì)象為SNO屬性 O operation 當(dāng)用戶插入或修改數(shù)據(jù)時(shí)需要檢查該完整性規(guī)則 A assertion SNO不能為空 C condition A可作用于所有記錄的SNO屬性 P procdure 拒絕執(zhí)行用戶請(qǐng)求 8 5 4完整性規(guī)則的執(zhí)行 完整性規(guī)則從執(zhí)行時(shí)間上可分為立即執(zhí)行約束和延遲執(zhí)行約束立即執(zhí)行約束是指在執(zhí)行用戶事務(wù)過程中 某一條語句執(zhí)行完成后 系統(tǒng)立即對(duì)此數(shù)據(jù)進(jìn)行完整性約束條件檢查 延遲執(zhí)行約束是指在整個(gè)事務(wù)執(zhí)行結(jié)束后 再對(duì)約束條件進(jìn)行完整性檢查 結(jié)果正確后才能提交 例如 銀行數(shù)據(jù)庫中 借貸總金額應(yīng)平衡 的約束就應(yīng)該屬于延遲執(zhí)行約束 從賬號(hào)A轉(zhuǎn)一筆錢到賬號(hào)B為一個(gè)事務(wù) 從賬號(hào)A轉(zhuǎn)出去錢后 賬就不平了 必須等轉(zhuǎn)入賬號(hào)B后 賬才能重新平衡 這時(shí)才能進(jìn)行完整性檢查 9 5 4完整性規(guī)則的執(zhí)行 續(xù) 如果發(fā)現(xiàn)用戶操作請(qǐng)求違背了立即執(zhí)行約束 則可以拒絕該操作 以保護(hù)數(shù)據(jù)的完整性 如果發(fā)現(xiàn)用戶操作請(qǐng)求違背了延遲執(zhí)行約束 而又不知道是哪個(gè)事務(wù)的操作破壞了完整性 則只能拒絕整個(gè)事務(wù) 把數(shù)據(jù)庫恢復(fù)到該事務(wù)執(zhí)行前的狀態(tài) 10 5 5關(guān)系模型的完整性 關(guān)系模型的完整性包括實(shí)體完整性 參照完整性和用戶定義完整性 對(duì)于違反實(shí)體完整性和用戶定義完整性規(guī)則的操作一般都是采用拒絕執(zhí)行的方式進(jìn)行處理 11 對(duì)于違反參照完整性的操作 并不都是簡單的拒絕執(zhí)行 一般在接受這個(gè)操作的同時(shí) 執(zhí)行一些附加的操作 以保證數(shù)據(jù)庫的狀態(tài)仍然是正確的 在被參照關(guān)系中刪除元組時(shí)可有三種不同的策略 級(jí)聯(lián)刪除 將參照關(guān)系中所有外碼值與被參照關(guān)系中要?jiǎng)h除元組主碼值相同的元組一起刪除 受限刪除 僅當(dāng)參照關(guān)系中沒有任何元組的外碼值與被參照關(guān)系中的主碼值相同時(shí) 系統(tǒng)才執(zhí)行刪除操作 否則拒絕此刪除操作 置空值刪除 刪除被參照關(guān)系的元組 并將參照關(guān)系中相應(yīng)元組的外碼值置空值 5 5關(guān)系模型的完整性 續(xù) 12 5 5關(guān)系模型的完整性 續(xù) 在參照關(guān)系中插入元組時(shí)的策略受限插入 僅當(dāng)被參照關(guān)系中存在此相應(yīng)元組 其主碼值與參照關(guān)系插入元組的外碼值相同時(shí) 系統(tǒng)才執(zhí)行相應(yīng)操作 否則拒絕此操作 遞歸插入 首先向北參照關(guān)系插入相應(yīng)的元組 其主碼值等于參照關(guān)系插入元組的外碼值 然后向參照關(guān)系插入元組 13 5 5關(guān)系模型的完整性 續(xù) 修改關(guān)系中主碼的問題 不允許修改主碼允許修改主碼 但必須保證主碼的唯一性和非空 當(dāng)修改的關(guān)系是被參照關(guān)系時(shí) 還必須檢查參照關(guān)系 有三種策略 級(jí)聯(lián)修改受限修改置空置修改 14 5 6完整性約束條件的分類 從約束條件使用的對(duì)象分可分為 列約束 列的類型 取值范圍等元組約束 元組中各個(gè)字段間聯(lián)系的約束關(guān)系約束 關(guān)系之間聯(lián)系的約束從約束對(duì)象的狀態(tài)分為 靜態(tài)約束 指對(duì)數(shù)據(jù)庫每一個(gè)確定狀態(tài)所應(yīng)滿足的約束條件 是反映數(shù)據(jù)庫狀態(tài)合理性的約束 動(dòng)態(tài)約束 指數(shù)據(jù)庫從一種狀態(tài)轉(zhuǎn)變?yōu)榱硪环N狀態(tài)時(shí) 新舊值之間所應(yīng)滿足的約束條件 動(dòng)態(tài)約束反映的是數(shù)據(jù)庫狀態(tài)變遷的約束 15 小結(jié) 數(shù)據(jù)庫中的完整性約束規(guī)則由DBMS提供的語句進(jìn)行描述 經(jīng)過編譯后存放在數(shù)據(jù)字典中 數(shù)據(jù)庫完整性約束的主要優(yōu)點(diǎn)是違約由系統(tǒng)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論