

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章完整性約束 第四章完整性約束1.什么是數(shù)據(jù)庫(kù)的完整性? .什么是數(shù)據(jù)庫(kù)的完整性?答:完整性約束是加在數(shù)據(jù)庫(kù)模式上的一個(gè)具體條件,它規(guī)定什么樣的數(shù)據(jù)能夠存儲(chǔ)到數(shù) 答:完整性約束是加在數(shù)據(jù)庫(kù)模式上的一個(gè)具體條件,它規(guī)定什么樣的數(shù)據(jù)能夠存儲(chǔ)到數(shù)據(jù)庫(kù)系統(tǒng)當(dāng)中。若一個(gè)數(shù)據(jù)庫(kù)實(shí)例滿足所有的完整性約束,它就是一個(gè)符合邏輯的實(shí)例。 據(jù)庫(kù)系統(tǒng)當(dāng)中。若一個(gè)數(shù)據(jù)庫(kù)實(shí)例滿足所有的完整性約束,它就是一個(gè)符合邏輯的實(shí)例。DBMS DBMS 確保完整性約束條件
2、的定義及檢查,以使只有符合邏輯的實(shí)例能夠存儲(chǔ)到數(shù)據(jù)庫(kù)中。 確保完整性約束條件的定義及檢查,以使只有符合邏輯的實(shí)例能夠存儲(chǔ)到數(shù)據(jù)庫(kù)中。2.?dāng)?shù)據(jù)庫(kù)的完整性約束條件可分為哪幾類(lèi)? .?dāng)?shù)據(jù)庫(kù)的完整性約束條件可分為哪幾類(lèi)?答:按照完整性約束條件作用的對(duì)象,可以將其分為 答:按照完整性約束條件作用的對(duì)象,可以將其分為 4 類(lèi):類(lèi)型約束、屬性約束、關(guān)系變 類(lèi):類(lèi)型約束、屬性約束、關(guān)系變量約束、數(shù)據(jù)庫(kù)約束。類(lèi)型約束是完整性約束的最基礎(chǔ)構(gòu)成,定義屬性列對(duì)
3、應(yīng)域的取值范 量約束、數(shù)據(jù)庫(kù)約束。類(lèi)型約束是完整性約束的最基礎(chǔ)構(gòu)成,定義屬性列對(duì)應(yīng)域的取值范圍。屬性約束主要規(guī)定屬性的類(lèi)型、取值范圍、精度等約束條件。關(guān)系變量約束定義同一 圍。屬性約束主要規(guī)定屬性的類(lèi)型、取值范圍、精度等約束條件。關(guān)系變量約束定義同一關(guān)系內(nèi)不同元組之間、不同屬性間的約束。數(shù)據(jù)庫(kù)約束定義多個(gè)關(guān)系之間應(yīng)滿足的約束條 關(guān)系內(nèi)不同元組之間、不同屬性間的約束。數(shù)據(jù)庫(kù)約束定義多個(gè)關(guān)系之間應(yīng)滿足的約束條件。 件。3.DBMS DBMS
4、 的完整性控制機(jī)制應(yīng) 的完整性控制機(jī)制應(yīng)具有哪些功能? 具有哪些功能?答: 答:DBMS DBMS 的完整性控制機(jī)制應(yīng)包括:完整性約束的定義、完整性約束的檢查和違約反應(yīng)。 的完整性控制機(jī)制應(yīng)包括:完整性約束的定義、完整性約束的檢查和違約反應(yīng)。4.RDBMS RDBMS 在實(shí)現(xiàn)參照完整性時(shí)需考慮哪些方面? 在實(shí)現(xiàn)參照完整性時(shí)需考慮哪些方面?答: 答:RDBMS RDBMS 實(shí)現(xiàn)參照完整性時(shí)需要考慮: 實(shí)現(xiàn)參照完整性時(shí)需要考慮:1)外碼是否
5、可以接受空值的問(wèn)題; )外碼是否可以接受空值的問(wèn)題;2)在被參照 )在被參照關(guān)系中刪除元組時(shí)的問(wèn)題; 關(guān)系中刪除元組時(shí)的問(wèn)題;3)在參照關(guān)系中插入元組時(shí)的問(wèn)題; )在參照關(guān)系中插入元組時(shí)的問(wèn)題;4)修改關(guān)系中主碼的問(wèn) )修改關(guān)系中主碼的問(wèn)題。 題。5.在關(guān)系系統(tǒng)中,當(dāng)操作違反實(shí)體完整性、參照完整性和用戶自定義的完整性約束條件 .在關(guān)系系統(tǒng)中,當(dāng)操作違反實(shí)體完整性、參照完整性和用戶自定義的完整性約束條件時(shí),一般是如何分別進(jìn)行處理的? 時(shí),
6、一般是如何分別進(jìn)行處理的?答:對(duì)違反實(shí)體完整性規(guī)則和用戶定義的完整性規(guī)則的操作,一般是拒絕執(zhí)行。對(duì)違反參 答:對(duì)違反實(shí)體完整性規(guī)則和用戶定義的完整性規(guī)則的操作,一般是拒絕執(zhí)行。對(duì)違反參照完整性的操作,有兩種處理方式: 照完整性的操作,有兩種處理方式:1)拒絕執(zhí)行; )拒絕執(zhí)行;2)接受這個(gè)操作,同時(shí)執(zhí)行一些附加 )接受這個(gè)操作,同時(shí)執(zhí)行一些附加的操作,以保證數(shù)據(jù)庫(kù)的狀態(tài)正確。 的操作,以保證數(shù)據(jù)庫(kù)的狀態(tài)正確。6.設(shè)數(shù)據(jù)庫(kù)中有三個(gè)關(guān)系:
7、.設(shè)數(shù)據(jù)庫(kù)中有三個(gè)關(guān)系:?jiǎn)T工表 員工表 EMP EMP(E# E#,ENAME ENAME,AGE AGE,SEX SEX,ECITY ECITY) ,其屬性分別表示員工編號(hào)、姓名、 ,其屬性分別表示員工編號(hào)、姓名、年齡、性別和所在城市; 年齡、性別和所在城市;公司表 公司表 COMP COMP(C#, #,CNAME CNAME,CITY CITY,MANAGER MANAGER) ,其屬性分別表示公司編號(hào)、公司名 ,其屬性分別表示公
8、司編號(hào)、公司名稱(chēng)、公司所在城市和管理者的員工編號(hào); 稱(chēng)、公司所在城市和管理者的員工編號(hào);工作表 工作表 WORKS WORKS(E#, #,C#, #,SALARY SALARY) ,其屬性分別表示員工編號(hào)、公司編號(hào)和工 ,其屬性分別表示員工編號(hào)、公司編號(hào)和工資。 資。用 SQL SQL 語(yǔ)言創(chuàng)建上述三個(gè)表,要求在模式中完成以下完整性約束條件的定義,并為每一個(gè) 語(yǔ)言創(chuàng)建上述三個(gè)表,要求在模式中完成以下完整性約束條件的定義,并為每一個(gè)約
9、束命名: 約束命名:(1) 定義每個(gè)模式的主碼; 定義每個(gè)模式的主碼;(2) 定義參照完整性; 定義參照完整性;(3) 定義員工年齡不得超過(guò) 定義員工年齡不得超過(guò) 60 60 歲; 歲;(4) 定義員工性別只能在“男” 定義員工性別只能在“男” 、 “女”中取值; “女”中取值;(5) 定義一個(gè)表級(jí)約束,保證每個(gè)管理者只能管理一家公司。 定義一個(gè)表級(jí)約束,保證每個(gè)管理者只能管理一家公司。(6) 定義 定義 EMP EMP 上的一個(gè)表級(jí)約
10、束,保證每個(gè)職工的薪水不少于 上的一個(gè)表級(jí)約束,保證每個(gè)職工的薪水不少于 1000 1000 元; 元;(7) 定義一個(gè)斷言,保證那些薪水比所在公司的管理者還要高的員工信息是不存在的。 定義一個(gè)斷言,保證那些薪水比所在公司的管理者還要高的員工信息是不存在的。答: 答:create create table table EMP( EMP( E# E# char(8) char(8) constraint constraint emp-pk
11、 emp-pk primary primary key, key,ENAME ENAME char(20) char(20) constraint constraint emp-notnull emp-notnull not not null, null,AGE AGE int int constraint constraint emp_checkage emp_checkage check(AGE=1000), check(SALA
12、RY>=1000),Constraint Constraint work-pk work-pk Primary Primary key(E#,C#)); key(E#,C#));Create Create assertion assertion salarycheck salarycheck check( check(Not Not exists( exists(Select Select * from from works wo
13、rks xWhere Where SALARY SALARY >= >= any any ( select select SALARY SALARY from from works works y Where Where x.C#=y.C# x.C#=y.C# and and y.E#=( y.E#=(Select Select Manager Manager from from comp compWhere Where x
溫馨提示
- 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ù)僅提供信息存儲(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ù)據(jù)庫(kù)系統(tǒng)與應(yīng)用課后習(xí)題答案
- 數(shù)據(jù)庫(kù)系統(tǒng)原理教程課后習(xí)題答案
- 數(shù)據(jù)庫(kù)系統(tǒng)課后習(xí)題答案1-11
- 數(shù)據(jù)庫(kù)系統(tǒng)概論課后答案
- 《數(shù)據(jù)庫(kù)系統(tǒng)概論》課后習(xí)題及參考答案
- 數(shù)據(jù)庫(kù)系統(tǒng)原理與設(shè)計(jì)第版課后習(xí)題詳細(xì)答案
- 數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用課后習(xí)題答案
- 數(shù)據(jù)庫(kù)原理與應(yīng)用課后習(xí)題答案
- 數(shù)據(jù)庫(kù)系統(tǒng)原理與設(shè)計(jì)第2版課后習(xí)題詳細(xì)答案
- 數(shù)據(jù)庫(kù)系統(tǒng)原理與設(shè)計(jì)(第2版)課后習(xí)題詳細(xì)答案
- 數(shù)據(jù)庫(kù)系統(tǒng)概論第五版課后習(xí)題答案
- 數(shù)據(jù)庫(kù)系統(tǒng)概論第四版課后習(xí)題答案
- 《數(shù)據(jù)庫(kù)系統(tǒng)概論》第四版課后習(xí)題答案
- 04735數(shù)據(jù)庫(kù)系統(tǒng)原理2018版課后習(xí)題參考答案
- 數(shù)據(jù)庫(kù)系統(tǒng)概論習(xí)題
- 數(shù)據(jù)庫(kù)課后習(xí)題答案
- 數(shù)據(jù)庫(kù)原理與應(yīng)用教程課后習(xí)題答案
- 數(shù)據(jù)庫(kù)原理與-應(yīng)用課后習(xí)題參考.答案
- 數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn)第14章課后答案
- 《數(shù)據(jù)庫(kù)系統(tǒng)原理》復(fù)習(xí)題答案
評(píng)論
0/150
提交評(píng)論