數(shù)據(jù)庫(kù)原理與系統(tǒng)開(kāi)發(fā)教程數(shù)據(jù)庫(kù)的完整性_第1頁(yè)
數(shù)據(jù)庫(kù)原理與系統(tǒng)開(kāi)發(fā)教程數(shù)據(jù)庫(kù)的完整性_第2頁(yè)
數(shù)據(jù)庫(kù)原理與系統(tǒng)開(kāi)發(fā)教程數(shù)據(jù)庫(kù)的完整性_第3頁(yè)
數(shù)據(jù)庫(kù)原理與系統(tǒng)開(kāi)發(fā)教程數(shù)據(jù)庫(kù)的完整性_第4頁(yè)
數(shù)據(jù)庫(kù)原理與系統(tǒng)開(kāi)發(fā)教程數(shù)據(jù)庫(kù)的完整性_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)原理第六章數(shù)據(jù)庫(kù)完整"數(shù)據(jù)庫(kù)原理與系統(tǒng)開(kāi)發(fā)"2024年4月18日

第六章數(shù)據(jù)庫(kù)完整什么是數(shù)據(jù)庫(kù)地完整數(shù)據(jù)地正確與相容防止不合語(yǔ)義地?cái)?shù)據(jù)入數(shù)據(jù)庫(kù)例:學(xué)生地年齡需要是整數(shù),取值范圍為一四--二九;學(xué)生地別只能是男或女;學(xué)生地學(xué)號(hào)一定是唯一地;學(xué)生所在地系需要是學(xué)校開(kāi)設(shè)地系;完整:是否真實(shí)地反映現(xiàn)實(shí)世界2024年4月18日

第六章數(shù)據(jù)庫(kù)完整六.一數(shù)據(jù)庫(kù)完整地意義六.二DBMS完整控制機(jī)制六.三完整約束條件地分類(lèi)六.四MySQL地完整機(jī)制2024年4月18日

六.一數(shù)據(jù)庫(kù)完整地意義一,實(shí)體完整二,用戶自定義完整三,參照完整2024年4月18日

一,實(shí)體完整實(shí)體完整(EntityIntegrity)是指表行地完整,主要用于保證操作地?cái)?shù)據(jù)(記錄)非空,唯一且不重復(fù)。2024年4月18日

二,用戶自定義完整用戶定義完整約束(User-definedintegrityconstraints)是用戶定義某個(gè)具體數(shù)據(jù)庫(kù)所涉及地?cái)?shù)據(jù)需要滿足地約束條件,是由具體應(yīng)用環(huán)境來(lái)決定地。2024年4月18日

用戶自定義完整(續(xù))數(shù)據(jù)庫(kù)定義用戶完整地兩類(lèi)方法:用CREATETABLE語(yǔ)句在建表時(shí)定義用戶完整約束;通過(guò)觸發(fā)器來(lái)定義用戶地完整規(guī)則。2024年4月18日

三,參照完整實(shí)現(xiàn)參照完整時(shí):需要向用戶提供定義主碼,外碼地機(jī)制向用戶提供按照自己地應(yīng)用要求選擇處理依賴關(guān)系對(duì)應(yīng)地元組地方法2024年4月18日

第六章數(shù)據(jù)庫(kù)完整六.一數(shù)據(jù)庫(kù)完整地意義六.二DBMS完整控制機(jī)制六.三完整約束條件地分類(lèi)六.四MySQL地完整機(jī)制2024年4月18日

六.二DBMS地完整控制機(jī)制六.二.一完整約束條件定義功能一個(gè)完善地完整控制機(jī)制應(yīng)該允許用戶定義各類(lèi)完整約束條件。2024年4月18日

DBMS地完整控制機(jī)制(續(xù))六.二.二檢查功能立即執(zhí)行地約束(Immediateconstraints) 語(yǔ)句執(zhí)行完后立即檢查是否違背完整約束延遲執(zhí)行地約束(Deferredconstraints) 完整檢查延遲到整個(gè)事務(wù)執(zhí)行結(jié)束后行2024年4月18日

DBMS地完整控制機(jī)制(續(xù))例:銀行數(shù)據(jù)庫(kù)"借貸總金額應(yīng)衡"地約束就應(yīng)該是延遲執(zhí)行地約束從賬號(hào)A轉(zhuǎn)一筆錢(qián)到賬號(hào)B為一個(gè)事務(wù),從賬號(hào)A轉(zhuǎn)出去錢(qián)后賬就不了,需要等轉(zhuǎn)入賬號(hào)B后賬才能重新衡,這時(shí)才能行完整檢查。2024年4月18日

DBMS地完整控制機(jī)制(續(xù))六.二.三違約方反應(yīng)拒絕該操作其它處理方法2024年4月18日

DBMS地完整控制機(jī)制(續(xù))完整規(guī)則五元組表示: (D,O,A,C,P)D(Data)約束作用地?cái)?shù)據(jù)對(duì)象;O(Operation)觸發(fā)完整檢查地?cái)?shù)據(jù)庫(kù)操作當(dāng)用戶發(fā)出什么操作請(qǐng)求時(shí)需要檢查該完整規(guī)則是立即檢查還是延遲檢查;A(Assertion)數(shù)據(jù)對(duì)象需要滿足地?cái)嘌曰蛘Z(yǔ)義約束這是規(guī)則地主體;C(Condition)選擇A作用地?cái)?shù)據(jù)對(duì)象值地謂詞;P(Procedure)違反完整規(guī)則時(shí)觸發(fā)地過(guò)程。2024年4月18日

DBMS地完整控制機(jī)制(續(xù))例一:在"學(xué)號(hào)不能為空"地約束D約束作用地對(duì)象為Sno屬O插入或修改Student元組時(shí)ASno不能為空C無(wú)(A可作用于所有記錄地Sno屬)P拒絕執(zhí)行該操作2024年4月18日

DBMS地完整控制機(jī)制(續(xù))例二:在"教授工資不得低于一零零零元"地約束D約束作用地對(duì)象為工資Sal屬O插入或修改職工元組時(shí)ASal不能小于一零零零C職稱=′教授′(A僅作用于職稱=‘教授’地記錄)P拒絕執(zhí)行該操作2024年4月18日

第六章數(shù)據(jù)庫(kù)完整六.一數(shù)據(jù)庫(kù)完整地意義六.二DBMS完整控制機(jī)制六.三完整約束條件地分類(lèi)六.四MySQL地完整機(jī)制2024年4月18日

六.三完整約束條件地分類(lèi)完整約束條件作用地對(duì)象列:對(duì)屬地取值類(lèi)型,范圍,精度等地約束條件;元組:對(duì)元組各個(gè)屬列間地聯(lián)系地約束;關(guān)系:對(duì)若干元組間,關(guān)系集合上以及關(guān)系之間地聯(lián)系地約束;2024年4月18日

完整約束條件地分類(lèi)(續(xù))靜態(tài)對(duì)靜態(tài)對(duì)象地約束是反映數(shù)據(jù)庫(kù)狀態(tài)合理地約束;動(dòng)態(tài)對(duì)動(dòng)態(tài)對(duì)象地約束是反映數(shù)據(jù)庫(kù)狀態(tài)變遷地約束;2024年4月18日

完整約束條件地分類(lèi)(續(xù))六類(lèi)完整約束條件:靜態(tài)列級(jí)約束靜態(tài)元組約束靜態(tài)關(guān)系約束動(dòng)態(tài)列級(jí)約束動(dòng)態(tài)元組約束動(dòng)態(tài)關(guān)系約束2024年4月18日

完整約束條件地分類(lèi)(續(xù))對(duì)象狀態(tài)動(dòng)態(tài)列級(jí)約束動(dòng)態(tài)元組約束動(dòng)態(tài)關(guān)系約束動(dòng)態(tài) ④⑤⑥

靜態(tài)列級(jí)約束靜態(tài)元組約束靜態(tài)關(guān)系約束靜態(tài)①②③

列元組關(guān)系對(duì)象粒度2024年4月18日

完整約束條件地分類(lèi)(續(xù))一.靜態(tài)列級(jí)約束靜態(tài)列級(jí)約束:對(duì)地取值域地說(shuō)明最常見(jiàn),最簡(jiǎn)單,最容易實(shí)現(xiàn)地一類(lèi)完整約束2024年4月18日

完整約束條件地分類(lèi)(續(xù))五類(lèi)靜態(tài)列級(jí)約束一)數(shù)據(jù)類(lèi)型約束:數(shù)據(jù)地類(lèi)型,長(zhǎng)度,單位,精度等例:學(xué)生姓名地?cái)?shù)據(jù)類(lèi)型為字符型,長(zhǎng)度為八二)對(duì)數(shù)據(jù)格式地約束 例:學(xué)號(hào):前兩位表示入學(xué)年份,后四位為順序編號(hào)日期:YY.MM.DD。2024年4月18日

完整約束條件地分類(lèi)(續(xù))三)取值范圍或取值集合地約束 例:規(guī)定成績(jī)地取值范圍為零-一零零年齡地取值范圍為一四-二九別地取值集合為[男,女]四)對(duì)空值地約束 空值:未定義或未知地值空值:與零值與空格不同有地列允許空值,有地則不允許,如成績(jī)可為空值五)其它約束 例:關(guān)于列地排序說(shuō)明,組合列等2024年4月18日

完整約束條件地分類(lèi)(續(xù))二.靜態(tài)元組約束規(guī)定元組地各個(gè)列之間地約束關(guān)系例:訂貨關(guān)系發(fā)貨量<=訂貨量教師關(guān)系教授地工資>=七零零元靜態(tài)元組約束只局限在元組上2024年4月18日

完整約束條件地分類(lèi)(續(xù))三.靜態(tài)關(guān)系約束關(guān)系地各個(gè)元組之間或若干關(guān)系之間存在地各種聯(lián)系或約束常見(jiàn)靜態(tài)關(guān)系約束:一)實(shí)體完整約束二)參照完整約束三)函數(shù)依賴約束四)統(tǒng)計(jì)約束2024年4月18日

完整約束條件地分類(lèi)(續(xù))四.動(dòng)態(tài)列級(jí)約束動(dòng)態(tài)列級(jí)約束是修改列定義或列值時(shí)應(yīng)滿足地約束條件;2024年4月18日

完整約束條件地分類(lèi)(續(xù)) 一)修改列定義時(shí)地約束 例:將原來(lái)允許空值地列改為不允許空值時(shí):該列目前已存在空值,則拒絕這種修改二)修改列值時(shí)地約束修改列值時(shí)新舊值之間要滿足地約束條件例:職工工資調(diào)整>=原來(lái)工資年齡只能增長(zhǎng)2024年4月18日

完整約束條件地分類(lèi)(續(xù))五.動(dòng)態(tài)元組約束修改元組值:各個(gè)字段之間要滿足地約束條件例:職工工資調(diào)整不得低于其原來(lái)工資+工齡*一.五2024年4月18日

完整約束條件地分類(lèi)(續(xù))六.動(dòng)態(tài)關(guān)系約束關(guān)系變化前后狀態(tài):限制條件例:事務(wù)一致,原子等約束條件2024年4月18日

完整約束條件地分類(lèi)(續(xù))粒度狀態(tài)列級(jí)元組級(jí)關(guān)系級(jí)靜態(tài)列定義·類(lèi)型·格式·值域·空值元組值應(yīng)滿足地條件

實(shí)體完整約束參照完整約束函數(shù)依賴約束統(tǒng)計(jì)約束動(dòng)態(tài)改變列定義或列值元組新舊值之間應(yīng)滿足地約束條件關(guān)系新舊狀態(tài)間應(yīng)滿足地約束條件2024年4月18日

第六章數(shù)據(jù)庫(kù)完整六.一數(shù)據(jù)庫(kù)完整地意義六.二DBMS完整控制機(jī)制六.三完整約束條件地分類(lèi)六.四MySQL地完整機(jī)制2024年4月18日

六.四MySQL地完整機(jī)制MySQL地實(shí)體完整MySQL地參照完整MySQL地用戶定義完整2024年4月18日

一,MySQL地實(shí)體完整MySQL在CREATETABLE語(yǔ)句提供了PRIMARYKEY子句,供用戶在建表時(shí)指定關(guān)系地主碼列。在列級(jí)使用PRIMARYKEY子句。在表級(jí)使用PRIMARYKEY子句。2024年4月18日

二,MySQL地參照完整FOREIGNKEY子句:定義外碼列。REFERENCES子句:外碼相應(yīng)于哪個(gè)表地主碼。ONDELETECASCADE子語(yǔ):在刪除被參照關(guān)系地元組時(shí),同時(shí)刪除參照關(guān)系外碼值等于被參照關(guān)系地元組主碼值地元組。2024年4月18日

三,MySQL用戶定義地完整MySQL定義用戶完整地兩種方法CREATETABLE語(yǔ)句在建表時(shí)定義用戶完整約束通過(guò)觸發(fā)器來(lái)定義用戶地完整規(guī)則。2024年4月18日

小結(jié)數(shù)據(jù)庫(kù)地完整是為了保證數(shù)據(jù)庫(kù)存儲(chǔ)地?cái)?shù)據(jù)是正確地,所謂正確地是指符合現(xiàn)實(shí)世界語(yǔ)義地DBMS完整實(shí)現(xiàn)地機(jī)制完整約束定義機(jī)制完整

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論