版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)保護(hù)完整性第1頁(yè),共58頁(yè),2023年,2月20日,星期五數(shù)據(jù)庫(kù)是否具備完整性關(guān)系到數(shù)據(jù)庫(kù)系統(tǒng)能否真實(shí)地反映現(xiàn)實(shí)世界。維護(hù)數(shù)據(jù)庫(kù)的完整性是非常重要的。第2頁(yè),共58頁(yè),2023年,2月20日,星期五數(shù)據(jù)的完整性和安全性是兩個(gè)不同的概念,密切相關(guān)。完整性防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù),防止錯(cuò)誤信息的輸入和輸出防范對(duì)象是不合語(yǔ)義的數(shù)據(jù)安全性保護(hù)數(shù)據(jù)庫(kù)防止惡意的破壞和非法的存取防范對(duì)象是非法用戶和非法操作第3頁(yè),共58頁(yè),2023年,2月20日,星期五DBMS必須提供一種機(jī)制來(lái)檢查數(shù)據(jù)庫(kù)中的數(shù)據(jù),看其是否滿足語(yǔ)義規(guī)定的條件。完整性控制機(jī)制完整性約束條件定義機(jī)制完整性檢查機(jī)制違約反應(yīng)第4頁(yè),共58頁(yè),2023年,2月20日,星期五1、完整性約束條件定義完整性約束條件:數(shù)據(jù)模型的組成部分,約束數(shù)據(jù)庫(kù)中數(shù)據(jù)的語(yǔ)義。DBMS應(yīng)提供定義數(shù)據(jù)庫(kù)完整性約束條件(即數(shù)據(jù)上的語(yǔ)義約束條件),并把它們作為模式的一部分存入數(shù)據(jù)庫(kù)中第5頁(yè),共58頁(yè),2023年,2月20日,星期五2、完整性檢查機(jī)制檢查用戶發(fā)出的操作請(qǐng)求是否違背了完整性約束條件。第6頁(yè),共58頁(yè),2023年,2月20日,星期五3、違約反應(yīng)如果發(fā)現(xiàn)用戶的操作請(qǐng)求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動(dòng)作來(lái)保證數(shù)據(jù)的完整性。第7頁(yè),共58頁(yè),2023年,2月20日,星期五6.2.2完整性約束條件整個(gè)完整性控制都是圍繞完整性約束條件進(jìn)行的完整性約束條件是完整性控制機(jī)制的核心第8頁(yè),共58頁(yè),2023年,2月20日,星期五完整性約束條件作用的對(duì)象對(duì)象列對(duì)屬性的取值類型、范圍、精度等的約束條件元組對(duì)元組中各個(gè)屬性列間的聯(lián)系的約束關(guān)系對(duì)若干元組間、關(guān)系集合上以及關(guān)系之間聯(lián)系的約束第9頁(yè),共58頁(yè),2023年,2月20日,星期五對(duì)象的狀態(tài)靜態(tài)靜態(tài)約束:數(shù)據(jù)庫(kù)每一確定狀態(tài)時(shí)的數(shù)據(jù)對(duì)象所應(yīng)滿足的約束條件。對(duì)靜態(tài)對(duì)象的約束是反映數(shù)據(jù)庫(kù)狀態(tài)合理性的約束動(dòng)態(tài)動(dòng)態(tài)約束:數(shù)據(jù)庫(kù)從一種狀態(tài)轉(zhuǎn)變?yōu)榱硪环N狀態(tài)時(shí),新、舊值之間所應(yīng)滿足的約束條件。對(duì)動(dòng)態(tài)對(duì)象的約束是反映數(shù)據(jù)庫(kù)狀態(tài)變遷的約束第10頁(yè),共58頁(yè),2023年,2月20日,星期五完整性約束條件分類,六類完整性約束條件靜態(tài)列級(jí)約束靜態(tài)元組約束靜態(tài)關(guān)系約束動(dòng)態(tài)列級(jí)約束動(dòng)態(tài)元組約束動(dòng)態(tài)關(guān)系約束第11頁(yè),共58頁(yè),2023年,2月20日,星期五1.靜態(tài)列級(jí)約束靜態(tài)列級(jí)約束:對(duì)的取值域的說(shuō)明。最常見、最簡(jiǎn)單、最容易實(shí)現(xiàn)的一類完整性約束第12頁(yè),共58頁(yè),2023年,2月20日,星期五五類靜態(tài)列級(jí)約束1)數(shù)據(jù)類型約束數(shù)據(jù)的類型、長(zhǎng)度、單位、精度等例:學(xué)生姓名的數(shù)據(jù)類型為字符型,長(zhǎng)度為82)對(duì)數(shù)據(jù)格式的約束例:學(xué)號(hào):前兩位表示入學(xué)年份,后四位為順序編號(hào)出生日期:YY.MM.DD。第13頁(yè),共58頁(yè),2023年,2月20日,星期五3)取值范圍或取值集合的約束例:規(guī)定成績(jī)的取值范圍為0-100
年齡的取值范圍為14-29
性別的取值集合為[男,女]4)對(duì)空值的約束空值表示未定義或未知的值空值與零值和空格不同有的列允許空值,有的則不允許,如成績(jī)可為空值5)其他約束例:關(guān)于列的排序說(shuō)明,組合列等第14頁(yè),共58頁(yè),2023年,2月20日,星期五2.靜態(tài)元組約束規(guī)定元組的各個(gè)列之間的約束關(guān)系。例:訂貨關(guān)系中發(fā)貨量<=訂貨量教師關(guān)系中教授的工資>=700元靜態(tài)元組約束只局限在元組上第15頁(yè),共58頁(yè),2023年,2月20日,星期五3.靜態(tài)關(guān)系約束關(guān)系的各個(gè)元組之間或若干關(guān)系之間存在的各種聯(lián)系或約束常見靜態(tài)關(guān)系約束1)實(shí)體完整性約束2)參照完整性約束3)函數(shù)依賴約束4)統(tǒng)計(jì)約束第16頁(yè),共58頁(yè),2023年,2月20日,星期五函數(shù)依賴約束關(guān)系字段間存在的函數(shù)依賴?yán)涸趯W(xué)生-課程-教師關(guān)系
SJT(S,J,T)的函數(shù)依賴:
((S,J)→T,T→J)
主碼:(S,J)第17頁(yè),共58頁(yè),2023年,2月20日,星期五統(tǒng)計(jì)約束定義某個(gè)字段值與一個(gè)關(guān)系中多個(gè)元組的統(tǒng)計(jì)值之間的約束關(guān)系例:職工平均工資的2倍<=部門經(jīng)理的工資<=職工平均工資的5倍第18頁(yè),共58頁(yè),2023年,2月20日,星期五4.動(dòng)態(tài)列級(jí)約束動(dòng)態(tài)列級(jí)約束是修改列定義或列值時(shí)應(yīng)滿足的約束條件第19頁(yè),共58頁(yè),2023年,2月20日,星期五1)修改列定義時(shí)的約束例:將原來(lái)允許空值的列改為不允許空值時(shí):該列目前已存在空值,則拒絕這種修改2)修改列值時(shí)的約束修改列值時(shí)新舊值之間要滿足的約束條件例:職工工資調(diào)整>=原來(lái)工資年齡只能增長(zhǎng)第20頁(yè),共58頁(yè),2023年,2月20日,星期五5.動(dòng)態(tài)元組約束修改元組值:各個(gè)字段之間要滿足的約束條件例:職工工資調(diào)整不得低于其原來(lái)工資+工齡*1.5第21頁(yè),共58頁(yè),2023年,2月20日,星期五6.動(dòng)態(tài)關(guān)系約束關(guān)系變化前后狀態(tài)上的限制條件。例:事務(wù)一致性、原子性等約束條件第22頁(yè),共58頁(yè),2023年,2月20日,星期五完整性約束條件小結(jié)粒度狀態(tài)
列級(jí)
元組級(jí)
關(guān)系級(jí)
靜態(tài)列定義·類型·格式·值域
·空值
元組值應(yīng)滿足的條件
實(shí)體完整性約束參照完整性約束函數(shù)依賴約束統(tǒng)計(jì)約束動(dòng)態(tài)改變列定義或列值元組新舊值之間應(yīng)滿足的約束條件
關(guān)系新舊狀態(tài)間應(yīng)滿足的約束條件
第23頁(yè),共58頁(yè),2023年,2月20日,星期五6.2.3完整性控制一、DBMS的完整性控制機(jī)制DBMS的完整性控制機(jī)制應(yīng)具有的功能定義功能提供定義完整性約束條件的機(jī)制檢查功能檢查用戶發(fā)出的操作請(qǐng)求是否違背了完整性約束條件違約反應(yīng)如發(fā)現(xiàn)用戶的操作請(qǐng)求使數(shù)據(jù)違背了完整性約束條件,則采取一定的動(dòng)作來(lái)保證數(shù)據(jù)的完整性。第24頁(yè),共58頁(yè),2023年,2月20日,星期五1.定義功能一個(gè)完善的完整性控制機(jī)制應(yīng)該允許用戶定義各類完整性約束條件。第25頁(yè),共58頁(yè),2023年,2月20日,星期五2.檢查功能立即執(zhí)行的約束(Immediateconstraints)語(yǔ)句執(zhí)行完后立即檢查是否違背完整性約束延遲執(zhí)行的約束(Deferredconstrainsts)完整性檢查延遲到整個(gè)事務(wù)執(zhí)行結(jié)束后進(jìn)行第26頁(yè),共58頁(yè),2023年,2月20日,星期五例:銀行數(shù)據(jù)庫(kù)中“借貸總金額應(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)行完整性檢查。第27頁(yè),共58頁(yè),2023年,2月20日,星期五3.違約反應(yīng)拒絕該操作其他處理方法第28頁(yè),共58頁(yè),2023年,2月20日,星期五完整性規(guī)則五元組表示: (D,O,A,C,P)D(Data)約束作用的數(shù)據(jù)對(duì)象;O(Operation)觸發(fā)完整性檢查的數(shù)據(jù)庫(kù)操作用戶發(fā)出什么操作請(qǐng)求時(shí)需要檢查該完整性規(guī)則是立即檢查還是延遲檢查A(Assertion)數(shù)據(jù)對(duì)象必須滿足的斷言或語(yǔ)義約束,是規(guī)則的主體C(Condition)選擇A作用的數(shù)據(jù)對(duì)象值的謂詞P(Procedure)違反完整性規(guī)則時(shí)觸發(fā)的過(guò)程第29頁(yè),共58頁(yè),2023年,2月20日,星期五例:在“學(xué)號(hào)不能為空”的約束中D約束作用的對(duì)象為Sno屬性O(shè)插入或修改Student元組時(shí)ASno不能為空C無(wú)(A可作用于所有記錄的Sno屬性)P拒絕執(zhí)行該操作第30頁(yè),共58頁(yè),2023年,2月20日,星期五例:在“教授工資不得低于1000元”的約束中D約束作用的對(duì)象為工資Sal屬性O(shè)插入或修改職工元組時(shí)ASal不能小于1000C職稱=′教授′,
(A僅作用于職稱=‘教授’的記錄)P拒絕執(zhí)行該操作第31頁(yè),共58頁(yè),2023年,2月20日,星期五二、關(guān)系系統(tǒng)三類完整性的實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)都提供了定義和檢查實(shí)體完整性、參照完整性和用戶定義的完整性的功能第32頁(yè),共58頁(yè),2023年,2月20日,星期五違反實(shí)體完整性、用戶定義的完整性規(guī)則的操作拒絕執(zhí)行違反參照完整性的操作拒絕執(zhí)行接受這個(gè)操作,同時(shí)執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫(kù)的狀態(tài)正確第33頁(yè),共58頁(yè),2023年,2月20日,星期五三、參照完整性的實(shí)現(xiàn)例:職工-部門數(shù)據(jù)庫(kù)包含職工表EMP和部門表DEPTDEPT關(guān)系的主碼為部門號(hào)DeptnoEMP關(guān)系的主碼為職工號(hào)Empno,外碼為部門號(hào)DeptnoDEPT:被參照關(guān)系或目標(biāo)關(guān)系EMP:參照關(guān)系第34頁(yè),共58頁(yè),2023年,2月20日,星期五RDBMS實(shí)現(xiàn)參照完整性時(shí)需要考慮以下4方面:1.外碼是否可以接受空值的問(wèn)題外碼是否能夠取空值依賴于應(yīng)用環(huán)境的語(yǔ)義實(shí)現(xiàn)參照完整性系統(tǒng)提供定義外碼的機(jī)制定義外碼列是否允許空值的機(jī)制第35頁(yè),共58頁(yè),2023年,2月20日,星期五例:在職工-部門數(shù)據(jù)庫(kù)中EMP關(guān)系包含有外碼Deptno某元組的這一列若為空值,表示這個(gè)職工尚未分配到任何具體的部門工作和應(yīng)用環(huán)境的語(yǔ)義是相符第36頁(yè),共58頁(yè),2023年,2月20日,星期五例:學(xué)生-選課數(shù)據(jù)庫(kù)Student關(guān)系為被參照關(guān)系,其主碼為Sno。SC為參照關(guān)系,外碼為Sno。若SC的Sno為空值:表明尚不存在的某個(gè)學(xué)生,或者某個(gè)不知學(xué)號(hào)的學(xué)生,選修了某門課程,其成績(jī)記錄在Grade中。與學(xué)校的應(yīng)用環(huán)境是不相符的,因此SC的Sno列不能取空值。第37頁(yè),共58頁(yè),2023年,2月20日,星期五2.在被參照關(guān)系中刪除元組時(shí)出現(xiàn)違約操作的情形刪除被參照關(guān)系的某個(gè)元組(student)而參照關(guān)系有若干元組(SC)的外碼值與被刪除的被參照關(guān)系的主碼值相同第38頁(yè),共58頁(yè),2023年,2月20日,星期五違約反應(yīng)的策略級(jí)聯(lián)刪除(CASCADES)受限刪除(RESTRICTED)置空值刪除(NULLIFIES)這三種處理方法,哪一種是正確的,要依應(yīng)用環(huán)境的語(yǔ)義來(lái)定第39頁(yè),共58頁(yè),2023年,2月20日,星期五級(jí)聯(lián)刪除將參照關(guān)系中外碼值與被參照關(guān)系中要?jiǎng)h除元組主碼值相對(duì)應(yīng)的元組一起刪除受限刪除當(dāng)參照關(guān)系中沒(méi)有任何元組的外碼值與要?jiǎng)h除的被參照關(guān)系的元組的主碼值相對(duì)應(yīng)時(shí),系統(tǒng)才執(zhí)行刪除操作,否則拒絕此刪除操作第40頁(yè),共58頁(yè),2023年,2月20日,星期五置空值刪除刪除被參照關(guān)系的元組,并將參照關(guān)系中與被參照關(guān)系中被刪除元組主碼值相等的外碼值置為空值。第41頁(yè),共58頁(yè),2023年,2月20日,星期五例:要?jiǎng)h除Student關(guān)系中Sno=‘950001’的元組,而SC關(guān)系中有4個(gè)元組的Sno都等于950001。級(jí)聯(lián)刪除:將SC關(guān)系中所有4個(gè)Sno=‘950001’的元組一起刪除。如果參照關(guān)系同時(shí)又是另一個(gè)關(guān)系的被參照關(guān)系,則這種刪除操作會(huì)繼續(xù)級(jí)聯(lián)下去受限刪除:系統(tǒng)將拒絕執(zhí)行此刪除操作。第42頁(yè),共58頁(yè),2023年,2月20日,星期五置空值刪除:將SC關(guān)系中所有Sno=950001的元組的Sno值置為空值。在學(xué)生選課數(shù)據(jù)庫(kù)中,顯然第一種方法和第二種方法都是對(duì)的。第三種方法不符合應(yīng)用環(huán)境語(yǔ)義。第43頁(yè),共58頁(yè),2023年,2月20日,星期五3.在參照關(guān)系中插入元組時(shí)出現(xiàn)違約操作的情形需要在參照關(guān)系中插入元組,而被參照關(guān)系不存在相應(yīng)的元組違約反應(yīng)受限插入遞歸插入第44頁(yè),共58頁(yè),2023年,2月20日,星期五受限插入僅當(dāng)被參照關(guān)系中存在相應(yīng)的元組,其主碼值與參照關(guān)系插入元組的外碼值相同時(shí),系統(tǒng)才執(zhí)行插入操作,否則拒絕此操作。遞歸插入首先向被參照關(guān)系中插入相應(yīng)的元組,其主碼值等于參照關(guān)系插入元組的外碼值,然后向參照關(guān)系插入元組。第45頁(yè),共58頁(yè),2023年,2月20日,星期五例:向SC關(guān)系插入(99001,1,90)元組,而Student關(guān)系中尚沒(méi)有Sno=99001的學(xué)生受限插入:系統(tǒng)將拒絕向SC關(guān)系插入(99001,1,90)元組遞歸插入:系統(tǒng)將首先向Student關(guān)系插入Sno=99001的元組,然后向SC關(guān)系插入(99001,1,90)元組。第46頁(yè),共58頁(yè),2023年,2月20日,星期五4.修改被參照關(guān)系中主碼的問(wèn)題兩種策略不允許修改主碼允許修改主碼第47頁(yè),共58頁(yè),2023年,2月20日,星期五允許修改主碼策略違約操作要修改被參照關(guān)系中某些元組的主碼值,而參照關(guān)系中有些元組的外碼值正好等于被參照關(guān)系要修改的主碼值要修改參照關(guān)系中某些元組的主碼值,而被參照關(guān)系中沒(méi)有任何元組的主碼值等于參照關(guān)系修改后的外碼值第48頁(yè),共58頁(yè),2023年,2月20日,星期五違約反應(yīng)(1)修改的關(guān)系是被參照關(guān)系:與刪除類似級(jí)聯(lián)修改受限修改置空值修改第49頁(yè),共58頁(yè),2023年,2月20日,星期五級(jí)聯(lián)修改修改被參照關(guān)系中主碼值同時(shí),用相同的方法修改參照關(guān)系中相應(yīng)的外碼值。受限修改拒絕此修改操作。只當(dāng)參照關(guān)系中沒(méi)有任何元組的外碼值等于被參照關(guān)系中某個(gè)元組的主碼值時(shí),這個(gè)元組的主碼值才能被修改。置空值修改修改被參照關(guān)系中主碼值,同時(shí)將參照關(guān)系中相應(yīng)的外碼值置為空值。第50頁(yè),共58頁(yè),2023年,2月20日,星期五
例:將Student關(guān)系中Sno=950001的元組中Sno值改為960123。而SC關(guān)系中有4個(gè)元組的Sno=950001級(jí)聯(lián)修改將SC關(guān)系中4個(gè)Sno=950001元組中的Sno值也改為960123。如果參照關(guān)系同時(shí)又是另一個(gè)關(guān)系的被參照關(guān)系,則這種修改操作會(huì)繼續(xù)級(jí)聯(lián)下去。第51頁(yè),共58頁(yè),2023年,2月20日,星期五受限修改只有SC中沒(méi)有任何元組的Sno=950001時(shí),才能修改Student表中Sno=950001的元組的Sno值改為960123。置空值修改將Student表中Sno=950001的元組的Sno值改為960123。而將S表中所有Sno=950001的元組的Sno值置為空值。在學(xué)生選課數(shù)據(jù)庫(kù)中只有第一種方法是正確的。第52頁(yè),共58頁(yè),2023年,2月2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025山西忻州保德縣社區(qū)工作者招(選)聘36人備考題庫(kù)附答案
- 裝訂工崗前競(jìng)爭(zhēng)分析考核試卷含答案
- 電器附件制造工崗前安全技能測(cè)試考核試卷含答案
- 水聲換能器裝配工安全教育模擬考核試卷含答案
- 2024年海南省特崗教師招聘考試真題題庫(kù)附答案
- 2024年璧山縣事業(yè)單位聯(lián)考招聘考試歷年真題附答案
- 2024年湖南涉外經(jīng)濟(jì)學(xué)院輔導(dǎo)員考試筆試真題匯編附答案
- 2025年企業(yè)企業(yè)內(nèi)部審計(jì)制度手冊(cè)
- 2024年莎車縣幼兒園教師招教考試備考題庫(kù)附答案
- 2024年鄭州信息工程職業(yè)學(xué)院輔導(dǎo)員考試筆試題庫(kù)附答案
- GB/T 46755-2025智能紡織產(chǎn)品通用技術(shù)要求
- 2026北京市中央廣播電視總臺(tái)招聘124人參考題庫(kù)附答案
- 十五五規(guī)劃綱要解讀:循環(huán)經(jīng)濟(jì)模式推廣
- 2026年山西警官職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考題庫(kù)帶答案解析
- 2026年農(nóng)夫山泉-AI-面試題目及答案
- 2026凱翼汽車全球校園招聘(公共基礎(chǔ)知識(shí))綜合能力測(cè)試題附答案
- 山東省威海市環(huán)翠區(qū)2024-2025學(xué)年一年級(jí)上學(xué)期1月期末數(shù)學(xué)試題
- 2025年手術(shù)室護(hù)理實(shí)踐指南知識(shí)考核試題及答案
- 外貿(mào)公司采購(gòu)專員績(jī)效考核表
- 彩禮分期合同范本
- 胸腺瘤伴重癥肌無(wú)力課件
評(píng)論
0/150
提交評(píng)論