數(shù)據(jù)庫原理(李芳芳)第二章綜合舉例_第1頁
數(shù)據(jù)庫原理(李芳芳)第二章綜合舉例_第2頁
數(shù)據(jù)庫原理(李芳芳)第二章綜合舉例_第3頁
數(shù)據(jù)庫原理(李芳芳)第二章綜合舉例_第4頁
數(shù)據(jù)庫原理(李芳芳)第二章綜合舉例_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、An Introduction to Database System 數(shù)據(jù)庫系統(tǒng)概論數(shù)據(jù)庫系統(tǒng)概論 An Introduction to Database System 第二章第二章 關(guān)系數(shù)據(jù)庫關(guān)系數(shù)據(jù)庫( (續(xù))續(xù)) studentsc snosnamessexsagesdept 95001李勇男20CS 95002劉晨女19IS 95003王敏女18MA 95004張立男19IS snocnograde 95001192 95001285 95001388 95002290 95002380 950051100 cnocnamecpnoccredit 1數(shù)據(jù)庫54 2數(shù)學(xué)2 3信息系統(tǒng)14

2、 4操作系統(tǒng)63 5數(shù)據(jù)結(jié)構(gòu)74 6數(shù)據(jù)處理2 7PASCAL語言64 course An Introduction to Database System 綜合舉例(續(xù)) 例 8-1 查詢選修了2號(hào)課程的學(xué)生的學(xué)號(hào)。 Sno(Cno=2(SC) sno 95001 95002 An Introduction to Database System 綜合舉例(續(xù)) 例 8-2 查詢選修了2號(hào)課程的學(xué)生的學(xué)號(hào)和姓名。 Sno,sname( Cno=2(SC Student) 或 Sno,sname( Sno(Cno=2(SC) Student) An Introduction to Database

3、 System 綜合舉例(續(xù)) 例 8-3 查詢選修了數(shù)學(xué)的學(xué)生的學(xué)號(hào)和姓名。 Sno,sname( cname=數(shù)學(xué)(course SC Student) An Introduction to Database System 綜合舉例(續(xù)) Sname(Cpno=5(Course SC Student) 或 Sname(Cpno=5(Course) SC Sno,Sname(Student) 或 Sname (Sno (Cpno=5 (Course) SC) Sno,Sname (Student) 例9-1 查詢至少選修了一門其直接先行課為5號(hào) 課程的課程的學(xué)生姓名。 綜合舉例(續(xù)) c1c

4、ourse c2course o,c2.cpno (c1 c2) 例9-2 查詢每一門課的間接先修課。(p102) c1.cpno=o 綜合舉例(續(xù)) 例10 查詢選修了全部課程的學(xué)生號(hào)碼和姓名。 ( Sno,Cno(SC) Cno(Course ) ) Sno,Sname(Student) An Introduction to Database System 綜合舉例(續(xù)) An Introduction to Database System 2.6 包的關(guān)系運(yùn)算 集合集合 無重復(fù)無重復(fù) 順序無關(guān)順序無關(guān) 包包 可重復(fù)可重復(fù) 順序無關(guān)順序無關(guān) 商業(yè)數(shù)據(jù)庫系統(tǒng)往往是商業(yè)數(shù)據(jù)庫系統(tǒng)往往是基于包基

5、于包的的 采用包可以獲得比集合快的運(yùn)算速度采用包可以獲得比集合快的運(yùn)算速度 An Introduction to Database System 包的關(guān)系運(yùn)算 并、交、差并、交、差 投影、選擇投影、選擇 乘積、連接乘積、連接 不必去除重復(fù)元組!不必去除重復(fù)元組! An Introduction to Database System 2.3 關(guān)系的完整性 關(guān)系模型的完整性規(guī)則是對(duì)關(guān)系的某種約束條件。 關(guān)系模型中三類完整性約束: 實(shí)體完整性實(shí)體完整性 參照完整性參照完整性 用戶定義的完整性用戶定義的完整性 實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完 整性約束條件,被稱作是關(guān)系的兩個(gè)不變性不變性,

6、應(yīng) 該由關(guān)系系統(tǒng)自動(dòng)支持。 An Introduction to Database System 2.3.1 實(shí)體完整性 實(shí)體完整性規(guī)則(Entity Integrity) 若屬性A是基本關(guān)系R的主屬性,則屬性 A不能取空值 舉例說明: An Introduction to Database System 實(shí)體完整性(續(xù)) 關(guān)系模型必須遵守實(shí)體完整性規(guī)則的原因 (1) 實(shí)體完整性規(guī)則是針對(duì)基本關(guān)系而言的。一 個(gè)基本表通常對(duì)應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集或多 對(duì)多聯(lián)系。 (2) 現(xiàn)實(shí)世界中的實(shí)體和實(shí)體間的聯(lián)系都是可區(qū) 分的,即它們具有某種唯一性標(biāo)識(shí)。 (3) 相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識(shí)。 A

7、n Introduction to Database System 實(shí)體完整性(續(xù)) 關(guān)系模型必須遵守實(shí)體完整性規(guī)則的原因(續(xù)) (4) 候選碼中的屬性即主屬性不能取空值。 空值就是“不知道”或“無意義”的值。 主屬性取空值,就說明存在某個(gè)不可標(biāo)識(shí)的 實(shí)體,即存在不可區(qū)分的實(shí)體,這與第(2) 點(diǎn)相矛盾,因此這個(gè)規(guī)則稱為實(shí)體完整性。 An Introduction to Database System 實(shí)體完整性(續(xù)) 注意 實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有 主屬性都不能取空值 例 選修(學(xué)號(hào),課程號(hào),成績) “學(xué)號(hào)、課程號(hào)”為主碼,則兩個(gè)屬性都 不能取空值。 An Introduction t

8、o Database System 2.3.2 參照完整性 1. 關(guān)系間的引用 2. 外碼 3. 參照完整性規(guī)則 An Introduction to Database System 1. 關(guān)系間的引用 在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用 關(guān)系來描述的,因此可能存在著關(guān)系與關(guān) 系間的引用。 例1 學(xué)生實(shí)體、專業(yè)實(shí)體以及專業(yè)與學(xué)生 間的一對(duì)多聯(lián)系 專業(yè)(專業(yè)號(hào),專業(yè)名) 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) An Introduction to Database System 學(xué)學(xué) 號(hào)號(hào)姓姓 名名性性 別別專專 業(yè)業(yè) 號(hào)號(hào)年年 齡齡 8 0 1張張 三三女女0 11 9 8 0 2李李 四四

9、男男0 12 0 8 0 3王王 五五男男0 12 0 8 0 4趙趙 六六女女0 22 0 8 0 5錢錢 七七男男0 21 9 專專 業(yè)業(yè) 號(hào)號(hào)專專 業(yè)業(yè) 名名 0 1信信 息息 0 2數(shù)數(shù) 學(xué)學(xué) 0 3計(jì)計(jì) 算算 機(jī)機(jī) 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 專業(yè)(專業(yè)號(hào),專業(yè)名) An Introduction to Database System 關(guān)系間的引用(續(xù)) 例2 學(xué)生、課程、學(xué)生與課程之間的多對(duì) 多聯(lián)系 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡) 課程(課程號(hào),課程名,學(xué)分) 選修(學(xué)號(hào),課程號(hào),成績) An Introduction to Database System 課課

10、程程號(hào)號(hào)課課程程名名學(xué)學(xué)分分 01數(shù)數(shù)據(jù)據(jù)庫庫4 02數(shù)數(shù)據(jù)據(jù)結(jié)結(jié)構(gòu)構(gòu)4 03編編譯譯4 04PASCAL2 學(xué)學(xué) 號(hào)號(hào)姓姓 名名性性 別別專專 業(yè)業(yè) 號(hào)號(hào)年年 齡齡 8 0 1張張 三三女女0 11 9 8 0 2李李 四四男男0 12 0 8 0 3王王 五五男男0 12 0 8 0 4趙趙 六六女女0 22 0 8 0 5錢錢 七七男男0 21 9 學(xué)學(xué) 號(hào)號(hào)課課 程程號(hào)號(hào)成成 績績 8010492 8010378 8010285 8020382 8020490 8030488 學(xué)生學(xué)生 學(xué)生選課學(xué)生選課課程課程 An Introduction to Database System 關(guān)系

11、間的引用(續(xù)) 例3 學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系(一對(duì)多) 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長) 學(xué)學(xué)號(hào)號(hào)姓姓名名性性別別專專業(yè)業(yè)號(hào)號(hào)年年齡齡班班長長 801張張三三女女0119802 802李李四四男男0120 803王王五五男男0120802 804趙趙六六女女0220805 805錢錢七七男男0219 An Introduction to Database System 2外碼(Foreign Key) 設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不 是關(guān)系R的碼。如果F與基本關(guān)系S的主碼 Ks相對(duì)應(yīng),則稱F是基本關(guān)系R的外碼 基本關(guān)系R稱為參照關(guān)系(Referencing Relati

12、on) 基本關(guān)系S稱為被參照關(guān)系(Referenced Relation)或目標(biāo)關(guān)系(Target Relation)。 An Introduction to Database System 外碼(續(xù)) 說明 關(guān)系R和S不一定是不同的關(guān)系 目標(biāo)關(guān)系S的主碼Ks 和參照關(guān)系的外碼F必 須定義在同一個(gè)(或一組)域上 外碼并不一定要與相應(yīng)的主碼同名 當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往 往 取相同的名字,以便于識(shí)別 An Introduction to Database System 3. 參照完整性規(guī)則 若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼 它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān) 系R和S不一定

13、是不同的關(guān)系),則對(duì) 于R中每個(gè)元組在F上的值必須為: 或者取空值(F的每個(gè)屬性值均為空值) 或者等于S中某個(gè)元組的主碼值。 An Introduction to Database System 參照完整性規(guī)則(續(xù)) 學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號(hào)”屬性只 取下面兩類值: (1)空值,表示尚未給該學(xué)生分配專業(yè) (2)非空值,這時(shí)該值必須是專業(yè)關(guān)系中 某個(gè)元組的“專業(yè)號(hào)”值,表示該學(xué)生 不可能分配到一個(gè)不存在的專業(yè)中 An Introduction to Database System 參照完整性規(guī)則(續(xù)) 選修(學(xué)號(hào),課程號(hào),成績) “學(xué)號(hào)”和“課程號(hào)”是選修關(guān)系中的主屬 性 按照實(shí)體完整性和參

14、照完整性規(guī)則,它們 只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼 值 An Introduction to Database System 參照完整性規(guī)則(續(xù)) 學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長) “班長”屬性值可以取兩類值: (1)空值,表示該學(xué)生所在班級(jí)尚未選出班長,或 該學(xué)生本人即是班長; (2)非空值,這時(shí)該值必須是本關(guān)系中某個(gè)元組的 學(xué)號(hào)值 An Introduction to Database System 2.3.3 用戶定義的完整性 用戶定義的完整性是針對(duì)某一具體關(guān)系數(shù) 據(jù)庫的約束條件,反映某一具體應(yīng)用所涉 及的數(shù)據(jù)必須滿足的語義要求。 關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的 機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們, 而不要由應(yīng)用程序承擔(dān)這一功能。 A

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論