




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、南方醫(yī)科大學(xué)信息技術(shù)系2006關(guān)系的完整性v關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件。某種約束條件。v關(guān)系模型中三類完整性約束:關(guān)系模型中三類完整性約束: 實(shí)體完整性 參照完整性用戶定義的完整性必須滿足!必須滿足!南方醫(yī)科大學(xué)信息技術(shù)系2006一、實(shí)體完整性v鍵、主鍵、候選鍵鍵、主鍵、候選鍵v實(shí)體完整性規(guī)則實(shí)體完整性規(guī)則南方醫(yī)科大學(xué)信息技術(shù)系20061、鍵Keyv鍵是關(guān)系中用來(lái)標(biāo)識(shí)行的一列或多鍵是關(guān)系中用來(lái)標(biāo)識(shí)行的一列或多列。也稱列。也稱碼碼。v鍵可以是唯一的(鍵可以是唯一的(unique),也可),也可以不唯一(以不唯一(nonunique)v唯一鍵可以唯一地
2、標(biāo)識(shí)一行。非唯唯一鍵可以唯一地標(biāo)識(shí)一行。非唯一鍵用來(lái)標(biāo)識(shí)多行。一鍵用來(lái)標(biāo)識(shí)多行。南方醫(yī)科大學(xué)信息技術(shù)系2006候選鍵Candidate Keyv候選鍵是表中能夠唯一標(biāo)識(shí)一行的候選鍵是表中能夠唯一標(biāo)識(shí)一行的屬性或?qū)傩缘慕M合屬性或?qū)傩缘慕M合v“候選候選”的意思是作為主鍵的候選的意思是作為主鍵的候選v候選鍵是唯一鍵候選鍵是唯一鍵南方醫(yī)科大學(xué)信息技術(shù)系2006v候選鍵就是候選鍵就是: 經(jīng)理經(jīng)理ID,Email,(姓名,電話姓名,電話),(姓名姓名, Department)南方醫(yī)科大學(xué)信息技術(shù)系2006主鍵Primary Keyv主鍵是從候選鍵中選出。設(shè)計(jì)表時(shí),主鍵是從候選鍵中選出。設(shè)計(jì)表時(shí),需要確定一
3、個(gè)主鍵。需要確定一個(gè)主鍵。v主鍵不僅用來(lái)標(biāo)識(shí)唯一行,還可以主鍵不僅用來(lái)標(biāo)識(shí)唯一行,還可以表示關(guān)聯(lián)行。表示關(guān)聯(lián)行。南方醫(yī)科大學(xué)信息技術(shù)系2006CustomerNumber表示客戶表表示客戶表/選課表選課表之間的關(guān)聯(lián)之間的關(guān)聯(lián)南方醫(yī)科大學(xué)信息技術(shù)系20062. 實(shí)體完整性規(guī)則v關(guān)系中主鍵的值不能為空關(guān)系中主鍵的值不能為空如關(guān)系:PROJECT(ProjID,ProjName,MgrID)主鍵ProjID不能為空值v關(guān)系通常對(duì)應(yīng)現(xiàn)實(shí)世界的實(shí)體,或?qū)嶓w關(guān)系通常對(duì)應(yīng)現(xiàn)實(shí)世界的實(shí)體,或?qū)嶓w間的聯(lián)系。實(shí)體或?qū)嶓w間的聯(lián)系是可區(qū)間的聯(lián)系。實(shí)體或?qū)嶓w間的聯(lián)系是可區(qū)分的,即有唯一的標(biāo)識(shí)分的,即有唯一的標(biāo)識(shí)主鍵。主
4、鍵主鍵。主鍵為空導(dǎo)致實(shí)體不可區(qū)分為空導(dǎo)致實(shí)體不可區(qū)分南方醫(yī)科大學(xué)信息技術(shù)系2006二、 參照完整性v外鍵外鍵v參照完整性規(guī)則參照完整性規(guī)則南方醫(yī)科大學(xué)信息技術(shù)系20061. 外鍵Foreign Keyv為了表示關(guān)聯(lián),可以將一個(gè)關(guān)系的為了表示關(guān)聯(lián),可以將一個(gè)關(guān)系的主鍵作為屬性放入另一個(gè)關(guān)系中。主鍵作為屬性放入另一個(gè)關(guān)系中。v放在第二個(gè)關(guān)系中的屬性就稱外鍵放在第二個(gè)關(guān)系中的屬性就稱外鍵南方醫(yī)科大學(xué)信息技術(shù)系2006外鍵例子1ProjectProjIDProjNameMgrIDManagerMgrIDMgrNameForeign KeyPrimary KeyvMANAGER(MgrID,MgrNam
5、e)vPROJECT(ProjID,ProjName,MgrID)南方醫(yī)科大學(xué)信息技術(shù)系2006DepartmentDeptIDDeptNameLocationEmployeeEmpIDDeptIDEmpNameForeign KeyPrimary Key外鍵例子2vDEPARTMENT(DeptID,DeptName,Location)vEMPLOYEE(EmpID,DeptID,EmpName)南方醫(yī)科大學(xué)信息技術(shù)系20062. 外鍵與參照完整性v參照完整性規(guī)定每個(gè)外鍵的值都必參照完整性規(guī)定每個(gè)外鍵的值都必須與某個(gè)存在的主鍵值匹配。須與某個(gè)存在的主鍵值匹配。v參照完整性是關(guān)系模型必須滿足的
6、參照完整性是關(guān)系模型必須滿足的約束條件。約束條件。南方醫(yī)科大學(xué)信息技術(shù)系2006v如果如果 EMPLOYEE 關(guān)系中有關(guān)系中有DeptID = 7 (外鍵外鍵), 那么那么 DEPARTMENT 關(guān)系中也關(guān)系中也必須有必須有 DeptID = 7 (主鍵)。(主鍵)。v主鍵的值必須先存在,然后有外鍵的值主鍵的值必須先存在,然后有外鍵的值指向它。指向它。DepartmentDeptIDDeptNameLocationEmployeeEmpIDDeptIDEmpNameForeign KeyPrimary Key南方醫(yī)科大學(xué)信息技術(shù)系2006vEMPLOYEE(EmpID,DeptID,EmpNa
7、me)vDEPARTMENT(DeptID,DeptName,Location)v參照完整性約束的定義是:參照完整性約束的定義是:EMPLOYEE中中DeptID的值在的值在DEPARTMENT的的DeptID中必須存在對(duì)應(yīng)項(xiàng)中必須存在對(duì)應(yīng)項(xiàng)EMPLOYEE是參照關(guān)系,是參照關(guān)系,DEPARTMENT是被參是被參照關(guān)系照關(guān)系參照完整性的定義1南方醫(yī)科大學(xué)信息技術(shù)系2006參照完整性的定義2vPROJECT(ProjID,ProjName,MgrID) vMANAGER(MgrID,MgrName)v參照完整性約束的定義是:參照完整性約束的定義是:PROJECT中中MgrID的值在的值在MANA
8、GER的的MgrID中必須存在對(duì)應(yīng)項(xiàng)中必須存在對(duì)應(yīng)項(xiàng)PROJECT是參照關(guān)系,是參照關(guān)系,MANAGER是被是被參照關(guān)系參照關(guān)系南方醫(yī)科大學(xué)信息技術(shù)系2006參照完整性的定義3vDEPARTMENT(Deptname,BudgetCode,OfficeNumber)vEMPLOYEE(EmployeeNumber,FirstName,LastName,Department,Email,Phone)v參照完整性約束的定義是:參照完整性約束的定義是:EMPLOYEE中的中的Department的值在的值在DEPARTMENT的的Deptname中必須存在對(duì)應(yīng)項(xiàng)中必須存在對(duì)應(yīng)項(xiàng)主鍵和外鍵的名稱可以不
9、同主鍵和外鍵的名稱可以不同南方醫(yī)科大學(xué)信息技術(shù)系2006特殊情況:外鍵值為空vEMPLOYEE(EmployeeNumber,FirstName,LastName,Department,Email,Phone)vDepartment為空,表示新雇員尚未為空,表示新雇員尚未分配到具體部門分配到具體部門南方醫(yī)科大學(xué)信息技術(shù)系2006舉例:如何定義參照完整性v在被參照關(guān)系中選定主鍵在被參照關(guān)系中選定主鍵v將主鍵加入?yún)⒄贞P(guān)系中,作為外健將主鍵加入?yún)⒄贞P(guān)系中,作為外健v執(zhí)行參照完整性約束執(zhí)行參照完整性約束南方醫(yī)科大學(xué)信息技術(shù)系2006EQUIPMENT(SerialNumber,Type,Acquisi
10、tionCost)南方醫(yī)科大學(xué)信息技術(shù)系2006EQUIPMENT(SerialNumber,Type,AcquisitionCost,EmployeeNumber)EMPOYEE(EmployeeNumber,FirstName,LastName,Department,Email,Phone)方案方案1:南方醫(yī)科大學(xué)信息技術(shù)系2006包含外鍵包含外鍵EmployeeNumber的關(guān)系的關(guān)系EQUIPMENT南方醫(yī)科大學(xué)信息技術(shù)系2006EQUIPMENT(SerialNumber,Type,AcquisitionCost,Email)EMPOYEE(EmployNmuber,FirstNam
11、e,LastName,Department,Email,Phone)方案方案2:南方醫(yī)科大學(xué)信息技術(shù)系2006包含外鍵包含外鍵Email的關(guān)系的關(guān)系EQUIPMENT南方醫(yī)科大學(xué)信息技術(shù)系2006EQUIPMENT(SerialNumber,Type,AcquisitionCost,FirstName,LastName,Department)EMPOYEE(EmployNmuber,FirstName,LastName,Department,Email,Phone)方案方案3:南方醫(yī)科大學(xué)信息技術(shù)系2006包含外鍵包含外鍵FirstName,LastName, Department的關(guān)系的關(guān)系
12、EQUIPMENT南方醫(yī)科大學(xué)信息技術(shù)系20063個(gè)方案中哪個(gè)最好?個(gè)方案中哪個(gè)最好?南方醫(yī)科大學(xué)信息技術(shù)系2006三、用戶定義的完整性v用戶定義的完整性是針對(duì)某一具體用戶定義的完整性是針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求。語(yǔ)義要求。南方醫(yī)科大學(xué)信息技術(shù)系2006用戶定義的完整性例例: 課程(課程(課程號(hào)課程號(hào),課程名,學(xué)分),課程名,學(xué)分)“課程名” 不能取空值“學(xué)分” 只能取值0,1,2,3,4,5南方醫(yī)科大學(xué)信息技術(shù)系2006四、關(guān)系完整性與關(guān)系操作v為了維護(hù)數(shù)據(jù)的完整性,在對(duì)關(guān)系為了
13、維護(hù)數(shù)據(jù)的完整性,在對(duì)關(guān)系數(shù)據(jù)庫(kù)執(zhí)行插入、刪除和修改操作數(shù)據(jù)庫(kù)執(zhí)行插入、刪除和修改操作時(shí),就要檢查是否滿足上述三類完時(shí),就要檢查是否滿足上述三類完整性規(guī)則:整性規(guī)則:南方醫(yī)科大學(xué)信息技術(shù)系20061. 執(zhí)行插入操作v首先檢查實(shí)體完整性規(guī)則首先檢查實(shí)體完整性規(guī)則插入行檢查主鍵上的值是否存在(NULL,Scanner,&400.00,400) Equipment表表南方醫(yī)科大學(xué)信息技術(shù)系2006執(zhí)行插入操作v再檢查參照完整性規(guī)則再檢查參照完整性規(guī)則如果向被參照關(guān)系插入,不檢查如果向參照關(guān)系插入,則檢查插入行在外鍵上的值是否對(duì)應(yīng)被參照關(guān)系的主鍵值,或者外鍵值為空南方醫(yī)科大學(xué)信息技術(shù)系2006插入行,
14、不檢查插入行,不檢查插入行,檢查插入行,檢查EmployeeNumber,如,如800,出錯(cuò)!,出錯(cuò)!Equipment表表-參照關(guān)系參照關(guān)系Employee表表-被參照關(guān)系被參照關(guān)系南方醫(yī)科大學(xué)信息技術(shù)系2006執(zhí)行插入操作v最后檢查用戶定義的完整性規(guī)則最后檢查用戶定義的完整性規(guī)則如果定義了用戶定義的完整性規(guī)則,則檢查插入行相應(yīng)屬性上的值是否遵守用戶定義的完整性規(guī)則南方醫(yī)科大學(xué)信息技術(shù)系20062. 執(zhí)行刪除操作v一般只需檢查參照完整性規(guī)則一般只需檢查參照完整性規(guī)則如果刪除被參照關(guān)系中的行,則檢查被刪除行在主鍵上的值是否正在被相應(yīng)的參照關(guān)系的外鍵引用:如果不被引用,則執(zhí)行刪除操作如果被引用,則有三種可能的做法:v拒絕
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇省徐州市2024-2025學(xué)年高三下學(xué)期2月調(diào)研測(cè)試數(shù)學(xué)試卷(解析版)
- 內(nèi)蒙古自治區(qū)赤峰市松山區(qū)2024-2025學(xué)年八年級(jí)上學(xué)期期末物理試題(原卷版+解析版)
- 4.3 探究熔化和凝固的特點(diǎn) 說(shuō)課稿 2025年初中物理八年級(jí)上學(xué)期
- 年計(jì)生工作計(jì)劃
- 園長(zhǎng)學(xué)期工作計(jì)劃
- 《深度學(xué)習(xí)項(xiàng)目案例開(kāi)發(fā)》課件-任務(wù)三 使用數(shù)據(jù)增強(qiáng)抑制卷積神經(jīng)網(wǎng)絡(luò)過(guò)擬合
- 浙江省臺(tái)州市溫嶺中學(xué)2024-2025學(xué)年高三下學(xué)期3月考試數(shù)學(xué)試題(原卷版+解析版)
- 《跨境電商》課件-8.產(chǎn)品優(yōu)化操作
- 農(nóng)產(chǎn)品質(zhì)量追溯與物流一體化解決方案
- 建設(shè)工程施工分包委托協(xié)議書
- 2025中國(guó)遠(yuǎn)洋海運(yùn)集團(tuán)校園招聘1484人筆試參考題庫(kù)附帶答案詳解
- 2025年安徽商貿(mào)職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能考試題庫(kù)一套
- 2025年皖西衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)審定版
- 2025年河南經(jīng)貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)帶答案
- unctad -全球投資趨勢(shì)監(jiān)測(cè) 第 48 期 Global Investment Trends Monitor,No. 48
- 2025年浙江機(jī)電職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年常考版參考題庫(kù)含答案解析
- 2025人民醫(yī)院工會(huì)工作計(jì)劃范文
- 船舶輪機(jī)長(zhǎng)常規(guī)命令
- 餐券模板(A4紙15張)
- DIN5480_德標(biāo)花鍵計(jì)算表格
- 脫水機(jī)房設(shè)備安裝方案
評(píng)論
0/150
提交評(píng)論