版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
主講:武彤《數(shù)據(jù)庫(kù)系統(tǒng)原理》第八章數(shù)據(jù)庫(kù)完整性本章導(dǎo)讀:內(nèi)容:講解RDBMS完整性實(shí)現(xiàn)的機(jī)制,包括完整性約束定義機(jī)制、完整性檢查機(jī)制和違背完整性約束條件時(shí)RDBMS應(yīng)采取的動(dòng)作等。要求:
1)理解RDBMS實(shí)現(xiàn)實(shí)體完整性、參照完整性、用戶定義完整性的方法。
2)會(huì)使用完整性約束命名子句。
3)會(huì)使用SQL進(jìn)行域中完整性限制。
4)了解通過(guò)觸發(fā)器實(shí)現(xiàn)數(shù)據(jù)庫(kù)完整性。第八章數(shù)據(jù)庫(kù)完整性前導(dǎo)內(nèi)容:《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤?dāng)?shù)據(jù)庫(kù)的完整性:
是指數(shù)據(jù)的正確性和相容性。是為了防止數(shù)據(jù)庫(kù)中存在不符合語(yǔ)義的數(shù)據(jù)。數(shù)據(jù)庫(kù)完整性和安全性的區(qū)別:
完整性檢查和控制的防范對(duì)象是不合語(yǔ)義的、不正確的數(shù)據(jù),防止它們進(jìn)入數(shù)據(jù)庫(kù)。安全性控制的防范對(duì)象是非法用戶和非法操作,防止他們對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的非法存取。第八章數(shù)據(jù)庫(kù)完整性前導(dǎo)內(nèi)容:《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤為維護(hù)數(shù)據(jù)庫(kù)的完整性,DBMS必須具有以下功能:
1、提供定義完整性約束條件的機(jī)制。
2、提供完整性檢查的機(jī)制。
3、違約處理。完整性控制功能已經(jīng)成為DBMS核心支持的功能,從而能夠?yàn)樗械挠脩艉退械膽?yīng)用提供一致的數(shù)據(jù)庫(kù)完整性。因?yàn)橛蓱?yīng)用程序來(lái)實(shí)現(xiàn)完整性控制是有漏洞的。有的應(yīng)用程序定義的完整性約束條件可能被其他應(yīng)用程序破壞,數(shù)據(jù)庫(kù)數(shù)據(jù)的正確性仍然無(wú)法保障。第八章數(shù)據(jù)庫(kù)完整性5.1實(shí)體完整性《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤關(guān)系模型的實(shí)體完整性在CREATETABLE中用PRIMARYKEY定義。
對(duì)單屬性構(gòu)成的碼有兩種說(shuō)明方法:
1)定義為列級(jí)約束條件;
2)定義為表級(jí)約束條件。
對(duì)多個(gè)屬性構(gòu)成的碼只有一種說(shuō)明方法:
定義為表級(jí)約束條件。
例:(見(jiàn)P152例1、例2)一、實(shí)體完整性定義第八章數(shù)據(jù)庫(kù)完整性5.1實(shí)體完整性《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤二、實(shí)體完整性檢查和違約處理每當(dāng)用戶程序?qū)颈聿迦胍粭l記錄或者對(duì)主碼列進(jìn)行更新操作時(shí),RDBMS將按照實(shí)體完整性規(guī)則自動(dòng)進(jìn)行如下檢查:
1)檢查主碼值是否唯一,如果不唯一則拒絕插入或修改。
2)檢查主碼的各個(gè)屬性是否為空,只要有一個(gè)為空就拒絕插入或修改。
檢查方法:
(見(jiàn)P153圖5.1~圖5.2)第八章數(shù)據(jù)庫(kù)完整性5.2參照完整性《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤一、參照完整性的定義關(guān)系模型的參照完整性在CREATETABLE中用FOREIGNKEY短語(yǔ)定義哪些列為外碼,用REFERENCES短語(yǔ)指明這些外碼參照哪些表的主碼。例:(見(jiàn)P154例3)二、參照完整性檢查和違約處理(見(jiàn)P155表5.1)違約處理:1)拒絕執(zhí)行;2)級(jí)連操作;3)設(shè)置為空值。第八章數(shù)據(jù)庫(kù)完整性5.2參照完整性《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤一般情況,當(dāng)對(duì)參照表和被參照表的操作違反了參照完整性,系統(tǒng)選用默認(rèn)策略,即拒絕執(zhí)行。如果想讓系統(tǒng)采用其他的策略則必須在創(chuàng)建表的時(shí)候顯式地加以說(shuō)明。
例:(見(jiàn)P156例4)第八章數(shù)據(jù)庫(kù)完整性5.3用戶定義的完整性《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤用戶定義的完整性就是針對(duì)某一具體應(yīng)用的數(shù)據(jù)必須滿足的語(yǔ)義要求。目前的RDBMS都提供了定義和檢驗(yàn)這類(lèi)完整性的機(jī)制,使用了和實(shí)體完整性、參照完整性相同的技術(shù)和方法來(lái)處理它們,而不必由應(yīng)用程序承擔(dān)這一切。一、屬性上的約束條件的定義有如下對(duì)屬性值限制:
1)列值非空。
2)列值唯一。
3)檢查列值是否滿足一個(gè)布爾表達(dá)式。(見(jiàn)P156~157例5~例8)第八章數(shù)據(jù)庫(kù)完整性5.3用戶定義的完整性《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤二、屬性上的約束條件檢查和違約處理當(dāng)往表中插入元組或修改屬性的值時(shí),RDBMS就檢查屬性上的約束條件是否被滿足,如果不滿足則操作被拒絕執(zhí)行。三、元組上的約束條件的定義在CREATETABLE語(yǔ)句中可以用CHECK短語(yǔ)定義元組上的約束條件,即元組級(jí)的限制。
例:(見(jiàn)P158例9)四、元組上的約束條件檢查和違約處理第八章數(shù)據(jù)庫(kù)完整性5.4完整性約束命名子句《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤一、完整性約束命名子句語(yǔ)句格式:CONSTRAINT<完整性約束條件名>[PRIMARYKEY短語(yǔ)|FOREIGNKEY短語(yǔ)|CHECK短語(yǔ)]例:(見(jiàn)例10、例11)二、修改表中的完整性限制使用ALTERTABLE語(yǔ)句修改表中的完整性限制。例:(見(jiàn)例12、例13)第八章數(shù)據(jù)庫(kù)完整性5.5域中的完整性限制《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤
SQL支持域的概念,并可以用CREATEDO-MAIN語(yǔ)句建立一個(gè)域以及該域應(yīng)該滿足的完整性約束條件。
例:(例14~例17)第八章數(shù)據(jù)庫(kù)完整性5.6觸發(fā)器《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤觸發(fā)器是用戶定義在關(guān)系表上的一類(lèi)由事件驅(qū)動(dòng)的特殊過(guò)程。一旦定義,任何用戶對(duì)表的增、刪、改操作均由服務(wù)器自動(dòng)激活相應(yīng)的觸發(fā)器,在DBMS核心層進(jìn)行集中的完整性控制。一、定義觸發(fā)器語(yǔ)句格式:CREATETRIGGER<觸發(fā)器名>{BEFORE|AFTER}<觸發(fā)事件>ON<表名>FOREACH{ROW|STATEMENT}[WHEN<觸發(fā)條件>]<觸發(fā)動(dòng)作體>例:(見(jiàn)P162例18、例19)第八章數(shù)據(jù)庫(kù)完整性5.6觸發(fā)器《數(shù)據(jù)庫(kù)系統(tǒng)原理》主講:武彤二、激活觸發(fā)器同一個(gè)表上的多個(gè)觸發(fā)器激活時(shí)遵循如下的執(zhí)行順序:
(1)執(zhí)行該表上的BEFORE觸發(fā)器;
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 月子營(yíng)銷(xiāo)宣傳方案(3篇)
- 保險(xiǎn)的合同協(xié)議
- 活動(dòng)宣傳分享方案策劃(3篇)
- 西瓜擺攤營(yíng)銷(xiāo)方案(3篇)
- 車(chē)輛智能營(yíng)銷(xiāo)方案(3篇)
- 高爾夫球場(chǎng)行業(yè)市場(chǎng)供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 伏羲典禮活動(dòng)策劃方案(3篇)
- 冰點(diǎn)脫毛活動(dòng)策劃方案(3篇)
- 代購(gòu)樓房協(xié)議書(shū)
- 晉江別墅施工方案(3篇)
- 挑戰(zhàn)式銷(xiāo)售課件
- 數(shù)量遺傳學(xué)10-11-第11章QTL定位-1
- 腦筋急轉(zhuǎn)彎大全及答案 (500題)
- 歷年上海高考英語(yǔ)作文(題目匯總)
- 安徽省清單定額解釋及綜合估價(jià)表問(wèn)題的解釋
- 馬克思主義基本原理概論第五章 資本主義發(fā)展的歷史進(jìn)程
- SPC統(tǒng)計(jì)過(guò)程控制培訓(xùn)教材
- GB/T 10405-2009控制電機(jī)型號(hào)命名方法
- 新注聚工藝流程及日常管理
- 高中地理南極地區(qū)優(yōu)秀課件
- 輪機(jī)英語(yǔ)(新版)
評(píng)論
0/150
提交評(píng)論