




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、華東交通大學(xué)信息工程學(xué)院數(shù)據(jù)庫(kù)系統(tǒng)導(dǎo)論,數(shù)據(jù)庫(kù)系統(tǒng)導(dǎo)論第五章數(shù)據(jù)庫(kù)完整性,數(shù)據(jù)庫(kù)系統(tǒng)導(dǎo)論,數(shù)據(jù)庫(kù)完整性,數(shù)據(jù)庫(kù)完整性,數(shù)據(jù)正確性和兼容性,數(shù)據(jù)完整性和安全性是兩個(gè)不同的概念。數(shù)據(jù)的完整性防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù),即防止數(shù)據(jù)庫(kù)中存在不正確的數(shù)據(jù)防止對(duì)象:不符合語(yǔ)義和不正確數(shù)據(jù)的數(shù)據(jù)的安全性保護(hù)數(shù)據(jù)庫(kù)免受惡意破壞和非法訪問(wèn)防止對(duì)象:非法用戶和非法操作。數(shù)據(jù)庫(kù)系統(tǒng)導(dǎo)論,數(shù)據(jù)庫(kù)完整性(續(xù)),為了保持?jǐn)?shù)據(jù)庫(kù)的完整性,數(shù)據(jù)庫(kù)管理系統(tǒng)必須:1。提供定義完整性約束的機(jī)制;2.提供完整性檢查方法;3.處理違約;數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,第5章,數(shù)據(jù)庫(kù)完整性,5.1實(shí)體完整性,5.2引用完整性,5.3用戶定義的完整
2、性,5.4完整性約束命名句*5.5域中的完整性約束,5.6觸發(fā)器,5.7摘要,數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,5.1.1實(shí)體完整性定義,在關(guān)系模型的實(shí)體完整性CREATE TABLE中,有兩種解釋方法來(lái)定義由帶有主鍵的單個(gè)屬性組成的代碼,它們被定義為列級(jí)約束和表級(jí)約束。 并且只有一種解釋方法被定義為表級(jí)約束,數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,實(shí)體完整性定義(續(xù)),示例1將學(xué)生表中的Sno屬性定義為代碼:(1)在列級(jí)定義主代碼創(chuàng)建表學(xué)生(snochar (9)主鍵,Sname CHAR(20)不為空,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20);數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,實(shí)體完整性定義(續(xù)),(2)在
3、表級(jí)定義主代碼CREATE TABLE Student (Sno CHAR(9),Sname CHAR(20) NOT NULL,Ssex CHAR(2),sage slim,Sdept CHAR(20),主鍵(Sno);數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,實(shí)體完整性定義(續(xù)),示例2將SC表中的SnO和Cno屬性組定義為代碼創(chuàng)建表SC (SnO char (9)不為空,Cno CHAR(4)不為空,等級(jí)小整數(shù),主鍵(Sno,Cno) /*只能在表級(jí)別定義主代碼*/);數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,5.1實(shí)體完整性,5.1.1實(shí)體完整性定義5.1.2實(shí)體完整性檢查和默認(rèn)處理,數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,5.1.2實(shí)體完整性檢查和默認(rèn)處理,
4、RDBMS在插入或更新主代碼列時(shí)根據(jù)實(shí)體完整性規(guī)則自動(dòng)檢查。包括:1 .檢查主代碼的值是否唯一,如果不唯一,則拒絕插入或修改;2.檢查主代碼的所有屬性是否為空,如果一個(gè)屬性為空,則拒絕插入或修改;5.2.1引用完整性的定義,關(guān)系模型的引用完整性定義使用外鍵短語(yǔ)來(lái)定義創(chuàng)建表中的哪些列是外鍵,并使用引用短語(yǔ)來(lái)指示這些外鍵引用的是哪個(gè)表的主代碼。數(shù)據(jù)庫(kù)系統(tǒng)導(dǎo)論,參照完整性定義(續(xù)),例如,一個(gè)元組在關(guān)系SC中表示學(xué)生完成了某門課程,并且(Sno,Cno)是主要代碼。Sno和Cno分別引用參考學(xué)生表的主代碼和課程表的主代碼示例3來(lái)定義供應(yīng)鏈中的參考完整性。創(chuàng)建表sc (snochar (9)不為空,C
5、no CHAR(4)不為空,Grade SMALLINT,PRIMARY KEY (Sno,Cno),/*在表級(jí)定義實(shí)體完整性*/外鍵(Sno)引用學(xué)生(SnO),/*在表級(jí)定義引用完整性*/外鍵(Cno)引用課程(cno)/*在表級(jí)定義引用完整性*/);數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,5.2參照完整性,5.2.1參照完整性定義5.2.2參照完整性檢查和默認(rèn)處理,數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,參照完整性檢查和默認(rèn)處理,可能損壞參照完整性和默認(rèn)處理的情況,數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,默認(rèn)處理,參照完整性默認(rèn)處理1。沒(méi)有執(zhí)行默認(rèn)策略2的操作。CASCADE操作3。為參照完整性,除了定義外部代碼外,還應(yīng)該定義外部代碼列是否允許空值。數(shù)據(jù)庫(kù)系
6、統(tǒng)簡(jiǎn)介,默認(rèn)處理(續(xù)),示例4默認(rèn)處理的示例明確說(shuō)明了引用完整性創(chuàng)建表sc (snochar (9)不為空,Cno CHAR(4)不為空,Grade SMALLINT,PRIMARY KEY(Sno,Cno),外鍵(Sno)在刪除級(jí)聯(lián)時(shí)引用學(xué)生(Sno/*級(jí)聯(lián)刪除sc表中的相應(yīng)元組*/在更新級(jí)聯(lián)時(shí), /*在causes中更新sc表中的相應(yīng)元組*/外鍵引用課程(cno)在刪除時(shí)無(wú)操作/*在刪除課程表中的元組時(shí)拒絕刪除導(dǎo)致與SC表不一致*/在UPDATE CASCADE中/在causes中更新課程表中的cno時(shí)在causes中更新SC表中的相應(yīng)元組*/);數(shù)據(jù)庫(kù)系統(tǒng)介紹,5.3用戶定義的完整性,5
7、.3.1屬性約束的定義,5.3.2屬性約束檢查和默認(rèn)處理,5.3.3元組約束的定義和5.3.4元組約束檢查和默認(rèn)處理。數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,5.3.1屬性約束的定義,創(chuàng)建表時(shí)定義列值(非空),列值是唯一的(檢查列值是否滿足布爾表達(dá)式(檢查)默認(rèn)約束(默認(rèn)),數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,屬性約束的定義(續(xù)),1。不允許空值。示例5定義供應(yīng)鏈表時(shí),它顯示不允許Sno、Cno和等級(jí)屬性采用空值。創(chuàng)建表sc (snochar (9)不為空,Cno CHAR(4)不為空,Grade SMALLINT不為空,PRIMARY KEY (Sno,Cno),/*如果實(shí)體完整性是在表級(jí)別定義的,這意味著Sno和Cno不允許空值,則
8、沒(méi)有必要在列級(jí)別編寫空值的定義*/);數(shù)據(jù)庫(kù)系統(tǒng)導(dǎo)論,屬性約束的定義(續(xù)),2。列值的唯一示例6。要?jiǎng)?chuàng)建部門表DEPT,要求部門名稱Dname列的值是唯一的,部門編號(hào)Deptno列是主要代碼Create Table dept (deptno數(shù)字(2)。Dname CHAR(9) UNIQUE,/*要求Dname列值是唯一的*/Location CHAR(10),主鍵(dept no);數(shù)據(jù)庫(kù)系統(tǒng)導(dǎo)論,屬性約束條件的定義(續(xù)),3。用CHECK短語(yǔ)指定列值應(yīng)滿足的條件。例7:學(xué)生表的第十欄只允許“男性”或“女性”。創(chuàng)建學(xué)生表(snochar (9)主鍵,Sname CHAR(8)不為空,Ssex
9、 CHAR(2) CHECK (Ssex IN),/*性別屬性Ssex只能接受男性或女性*/sage slim,Sdept CHAR(20);數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,例如,要建立一個(gè)SC表,將Score的值范圍定義為0100創(chuàng)建表sc (snochar (5),cnochar (5),分?jǐn)?shù)數(shù)字(4,1)檢查(score=0,score=100),數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,以及4。例如,DEFAULT用完整性定義建立一個(gè)學(xué)生表。創(chuàng)建表(snochar (6)主鍵,snchar (8)不為空,sexchar (2)默認(rèn)男性,年齡內(nèi)部檢查(年齡在15到50之間),deptchar (10),數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,5.3.2
10、約束檢查和屬性的默認(rèn)處理,當(dāng)插入元組或修改屬性值時(shí),RDBMS檢查屬性約束是否滿足,如果不滿足,操作被拒絕,數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,5.4完整性約束命名子句, 約束約束主鍵短語(yǔ)|外鍵短語(yǔ)|檢查短語(yǔ),數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,完整性約束命名條款(續(xù)),示例10:建立學(xué)生登記表,要求學(xué)生編號(hào)在900009999之間,姓名不能為空,年齡小于30歲,性別只能為“男”或“女”。 創(chuàng)建表學(xué)生(Sno數(shù)字(6)約束C1檢查(Sno介于90000和99999之間),Sname CHAR(20)約束C2不為空,Sage數(shù)字(3)約束C3檢查(sage 30),ssexchar (2)約束C4檢查(ssex in),約束學(xué)生鍵主鍵(SnO);在學(xué)生表中建立了五個(gè)約束,包括主代碼約束(名為StudentKey)和四個(gè)列級(jí)約束:C1、C2、C3和C4。數(shù)據(jù)庫(kù)系統(tǒng)導(dǎo)論,完整性約束的命名條款(續(xù)),2。使用ALTER TABLE語(yǔ)句修改表中的完整性約束,數(shù)據(jù)庫(kù)系統(tǒng)簡(jiǎn)介,完整性約束的命名子句(續(xù)),示例13修改表學(xué)生中的約束,要求學(xué)生編號(hào)在900099999之間更改,年齡從小于30更改為小于40。您可以先刪除原始約束,然后添加一個(gè)新的約束更改表學(xué)生刪除構(gòu)造C1;更改表格學(xué)生添加約束C1檢查(斯諾在9
溫馨提示
- 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至2030年中國(guó)連鎖便利軟件數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)超級(jí)起蠟水?dāng)?shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)電子標(biāo)簽器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)牛肉餡數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 硅酸鈣板天棚面層施工方案
- 2025至2030年中國(guó)余溫發(fā)黑劑數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)PVC鋼絲增強(qiáng)軟管生產(chǎn)線數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國(guó)網(wǎng)絡(luò)配線箱市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)暖胃止瀉帖市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國(guó)感應(yīng)擦鞋機(jī)市場(chǎng)調(diào)查研究報(bào)告
- 《跟單信用證統(tǒng)一慣例》UCP600中英文對(duì)照版
- 合資經(jīng)營(yíng)工廠合同范本
- 《醫(yī)院應(yīng)急培訓(xùn)》課件
- 2024年EHS法律法規(guī)培訓(xùn):企業(yè)風(fēng)險(xiǎn)防范與合規(guī)之道
- 證件使用協(xié)議書(2篇)
- 2024年《論教育》全文課件
- 浙江省寧波市余姚市2023-2024學(xué)年五年級(jí)上學(xué)期期末英語(yǔ)試題及答案含聽(tīng)力原文
- 肺栓塞患者護(hù)理查房課件
- 2023年江蘇省蘇州市中考物理試卷及答案
- 委托書之工程結(jié)算審計(jì)委托合同
- 《如何有效組織幼兒開(kāi)展體能大循環(huán)活動(dòng)》課件
評(píng)論
0/150
提交評(píng)論