




已閱讀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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 突破局限新材料新技術(shù)的創(chuàng)新研究考核試卷
- 自動(dòng)售貨機(jī)課程設(shè)計(jì)答辯
- 電氣設(shè)備連鎖零售管理考核試卷
- 電氣機(jī)械的安全操作與事故處理考核試卷
- 環(huán)保工程環(huán)保產(chǎn)業(yè)發(fā)展趨勢考核試卷
- 平安工地宣傳教育演講稿
- 2025中英文翻譯貸款合同條款
- 2025年基本建設(shè)借款合同模板
- 2025車輛租賃合同范本
- 2025年簽訂房屋租賃合同應(yīng)注意的關(guān)鍵事項(xiàng)
- 2023年江蘇鳳凰出版?zhèn)髅郊瘓F(tuán)有限公司招聘筆試模擬試題及答案解析
- 國開電大操作系統(tǒng) Linux系統(tǒng)使用 實(shí)驗(yàn)報(bào)告
- 干部選拔任用工作全部系列表格
- 胃癌合并冠心病的護(hù)理查房
- 風(fēng)電行業(yè)產(chǎn)品質(zhì)量先期策劃手冊(cè)
- 社區(qū)日間照料中心運(yùn)營方案
- 二年級(jí)下冊(cè)期末教學(xué)質(zhì)量分析P的課件
- 初中數(shù)學(xué)北師大七年級(jí)下冊(cè)(2023年新編)綜合與實(shí)踐綜合與實(shí)踐-設(shè)計(jì)自己的運(yùn)算程序 王穎
- 可燃?xì)怏w報(bào)警系統(tǒng)安裝記錄
- 伸臂式焊接變位機(jī)設(shè)計(jì)總體設(shè)計(jì)和旋轉(zhuǎn)減速器設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 血細(xì)胞儀白細(xì)胞五分類法原理和散點(diǎn)圖特征
評(píng)論
0/150
提交評(píng)論