4.1關(guān)系模型及其定義4.2關(guān)系代數(shù)課件_第1頁
4.1關(guān)系模型及其定義4.2關(guān)系代數(shù)課件_第2頁
4.1關(guān)系模型及其定義4.2關(guān)系代數(shù)課件_第3頁
4.1關(guān)系模型及其定義4.2關(guān)系代數(shù)課件_第4頁
4.1關(guān)系模型及其定義4.2關(guān)系代數(shù)課件_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、4.1 關(guān)系模型及其定義4.2 關(guān)系代數(shù)第四章 關(guān)系數(shù)據(jù)庫SQL Server 2000第1頁,共34頁。 關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和完整性約束三部分組成。一、關(guān)系數(shù)據(jù)結(jié)構(gòu)1、域:一組具有相同數(shù)據(jù)類型的值的集合。 例:正數(shù),男,女,信管系所有學(xué)生的姓名4.1 關(guān)系模型及其定義SQL Server 2000第2頁,共34頁。一、關(guān)系數(shù)據(jù)結(jié)構(gòu)2、笛卡爾積: 設(shè)給定一組域D1,D2,Dn,這些域可以完全不同,也可以部分或全部相同。 D1,D2,Dn的笛卡爾積為D1 D2 Dn=(d1,d2,dn)| di Dj , j1,2,n其中每一個元素(d1,d2,dn)稱為一個n元組,簡稱元組。

2、元素中的每一個值di稱作一個分量。D1 D2 Dn的基數(shù)為:M= mi 笛卡爾積可以表示成一個二維表。表中的每一行對應(yīng)一個元組每一列對應(yīng)一個域。 4.1 關(guān)系模型及其定義SQL Server 2000第3頁,共34頁。例: D1=姓名=王平,李麗 D2=性別=男,女 D3=年齡=19,20 則D1 D2 D3=(王平,男,19), (王平,男,20),(王平,女,19),(王平,女,20),(李麗,男,19),(李麗,男,20),(李麗,女,19),(李麗,女,20) 基數(shù)=222=84.1 關(guān)系模型及其定義SQL Server 2000第4頁,共34頁。一、關(guān)系數(shù)據(jù)結(jié)構(gòu) 3、關(guān)系 D1 D2

3、 Dn的子集叫做域D1,D2,Dn上的關(guān)系,表示為R( D1,D2,Dn),R為關(guān)系名,n為關(guān)系的目或度關(guān)系也是一個二維表。4.1 關(guān)系模型及其定義SQL Server 2000第5頁,共34頁。 關(guān)系的性質(zhì): 同一個屬性的數(shù)據(jù)是同質(zhì)的,即來自同一個域 同一個關(guān)系的屬性名不能重復(fù) 列位置順序無關(guān) 關(guān)系具有元組無冗余性 元組位置順序無關(guān) 每個分量必須是不可分的數(shù)據(jù)項(xiàng)4.1 關(guān)系模型及其定義SQL Server 2000第6頁,共34頁。 關(guān)系的組成:關(guān)系數(shù)據(jù)結(jié)構(gòu)關(guān)系模式元組4.1 關(guān)系模型及其定義SQL Server 2000第7頁,共34頁。二、關(guān)系操作 1、內(nèi)容 關(guān)系操作包括數(shù)據(jù)查詢、數(shù)據(jù)維

4、護(hù)和數(shù)據(jù)控制三大功能。 數(shù)據(jù)查詢指數(shù)據(jù)檢索、統(tǒng)計、排序、分組以及用戶對信息的需求等功能。 數(shù)據(jù)維護(hù)指數(shù)據(jù)增加、刪除、修改等數(shù)據(jù)自身更新的功能。 數(shù)據(jù)控制指為了保護(hù)數(shù)據(jù)的安全性和完整性而采用的數(shù)據(jù)存取控制和并發(fā)控制等功能。4.1 關(guān)系模型及其定義SQL Server 2000第8頁,共34頁。二、關(guān)系操作 2、特點(diǎn) 關(guān)系操作的方式為一次一集合。 3、關(guān)系操作語言 關(guān)系代數(shù)語言:用關(guān)系的運(yùn)算來表達(dá)查詢要求的語言。 關(guān)系演算語言:用查詢得到的元組替代滿足的謂詞條件來表達(dá)查詢要求的語言。 基于映射的語言:具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言。SQL是關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。4.1 關(guān)系模型及其定義SQL

5、 Server 2000第9頁,共34頁。 三、關(guān)系的完整性 1、實(shí)體完整性規(guī)則:主屬性的值不能為空值 候選碼(碼、關(guān)鍵字):關(guān)系中能唯一地標(biāo)識一個元組的屬性或?qū)傩越M。 主碼(主鍵、主關(guān)鍵字):當(dāng)一個關(guān)系有多個候選碼時,應(yīng)選定其中一個候選碼為主碼。 主屬性:候選碼中的屬性稱為主屬性。 全碼:若關(guān)系中只有一個侯選碼,且這個侯選碼中包括全部屬性,則這種侯選碼稱為全碼。4.1 關(guān)系模型及其定義SQL Server 2000第10頁,共34頁。注: 候選碼是一個屬性或一組屬性,主屬性則指單個的屬性。 如果候選碼由單個屬性組成,主屬性就是候選碼。如對于學(xué)生關(guān)系(學(xué)號,姓名,性別),學(xué)號既是候選碼,也是主

6、屬性。 如果候選碼由多個屬性組成,主屬性就不是候選碼。如對于學(xué)生選課關(guān)系(學(xué)號,課程號,成績),(學(xué)號,課程號)是候選碼,學(xué)號是主屬性,課程號也是主屬性,而單個的學(xué)號和課程號都不是候選碼。4.1 關(guān)系模型及其定義SQL Server 2000第11頁,共34頁。 2、參照完整性規(guī)則:外碼必須為空值或等于被參照表中某個元組的主碼。 外碼:設(shè)F是基本關(guān)系R的一個屬性或?qū)傩越M,但不是R的主碼,如果F與關(guān)系S的主碼SF相對應(yīng),則稱F是R的外碼,R為參照表,S為R的被參照表,4.1 關(guān)系模型及其定義SQL Server 2000第12頁,共34頁。 例:學(xué)生(學(xué)號,姓名,性別,專業(yè)號) 專業(yè)(專業(yè)號,專

7、業(yè)名稱) 課程(課程號,課程名,學(xué)分) 選課(學(xué)號,課程號,成績) 則學(xué)生表中的專業(yè)號為外碼,專業(yè)表為學(xué)生表的被參照表,選課表中的學(xué)號、課程號為外碼,學(xué)生表是選課表的被參照表,課程表也是選課表的被參照表。4.1 關(guān)系模型及其定義SQL Server 2000第13頁,共34頁。3、用戶定義的完整性:是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。 例:考試成績必須在0100之間 身份證號必須是18位數(shù)字 4.1 關(guān)系模型及其定義SQL Server 2000第14頁,共34頁。 定義 一組建立在關(guān)系上的高級運(yùn)算,每個運(yùn)算都以一個或多個關(guān)系作為它的運(yùn)算對象,

8、并且生成一個關(guān)系作為運(yùn)算結(jié)果。 (1) 運(yùn)算對象:關(guān)系 (2) 運(yùn)算結(jié)果:關(guān)系 關(guān)系運(yùn)算分兩類 (1)一般的集合運(yùn)算:合并、相交、求差、乘積(廣義笛卡爾積) (2)專門的關(guān)系運(yùn)算:選擇、投影、連接、除 4.2 關(guān)系代數(shù)SQL Server 2000第15頁,共34頁。 1、合并具有相同的屬性的兩個關(guān)系R1,R2 的合并,是由屬于R1或?qū)儆赗2(或?qū)儆趦烧撸┑乃性Mt(不計重復(fù)元組)組成的一個新的關(guān)系,新關(guān)系具有和R1 或R2相同的屬性名集合。運(yùn)算符:“”,記為: 一、傳統(tǒng)的集合運(yùn)算4.2 關(guān)系代數(shù)SQL Server 2000第16頁,共34頁。 2、求差(相減) 具有相同的屬性的兩個關(guān)系R

9、1, R2的求差,是由屬于R1而不屬于R2的所有元組t組成的一個新的關(guān)系,新關(guān)系具有和R1或R2相同的屬性名集合。運(yùn)算符: 記為: 4.2 關(guān)系代數(shù)一、傳統(tǒng)的集合運(yùn)算SQL Server 2000第17頁,共34頁。 3、相交具有相同的屬性的兩個關(guān)系R1, R2的相交,是由既屬于R1又屬于R2的所有元組t組成的一個新的關(guān)系,新關(guān)系具有和R1或R2相同的屬性名集合。 運(yùn)算符:記為: 4.2 關(guān)系代數(shù)一、傳統(tǒng)的集合運(yùn)算SQL Server 2000第18頁,共34頁。 4、乘積 兩個關(guān)系R,S(設(shè)R為n目的k1元關(guān)系,S為m目的k2元關(guān)系)的廣義笛卡兒乘積,是一個(n+m)目的元組集合,由屬于R1

10、的任何一個元組tk1和屬于S的元組tk2連接而成的新元組t所組成的 一個新關(guān)系。 運(yùn)算符:“” 記為:4.2 關(guān)系代數(shù)一、傳統(tǒng)的集合運(yùn)算SQL Server 2000第19頁,共34頁。例:ABCA1B1C1A2B2C2A3B3C3R1DED1E1D2E2R2R1R2 A1B1C1D1E1A3B3C3D2E24.2 關(guān)系代數(shù)A1B1C1D2E2A3B3C3D1E1A2B2C2D2E2A2B2C2D1E1ABCDESQL Server 2000第20頁,共34頁。 二、專門的關(guān)系運(yùn)算 1、選擇指關(guān)系R中選擇滿足給定條件的元組 記為: F(R)=t|t R F(t)=真4.2 關(guān)系代數(shù)SQL Se

11、rver 2000第21頁,共34頁。學(xué)號姓名年齡所在系98001王平20計算機(jī)98002李麗21數(shù)學(xué)98003陳紅20計算機(jī)例 查詢計算機(jī)系的所有學(xué)生 學(xué)生 所在系=計算機(jī) (學(xué)生)學(xué)號姓名年齡所在系98001王平20計算機(jī)98003陳紅20計算機(jī)4.2 關(guān)系代數(shù)SQL Server 2000第22頁,共34頁。 二、專門的關(guān)系運(yùn)算 2、投影指關(guān)系R中選擇出若干屬性列組成新的關(guān)系 記為: A(R)=tA|t R 其中A為R中的屬性列4.2 關(guān)系代數(shù)SQL Server 2000第23頁,共34頁。例 查詢學(xué)生的姓名和所在系 姓名,所在系 (學(xué)生)姓名所在系王平計算機(jī)李麗數(shù)學(xué)陳紅計算機(jī)4.2

12、關(guān)系代數(shù)學(xué)號姓名年齡所在系98001王平20計算機(jī)98002李麗21數(shù)學(xué)98003陳紅20計算機(jī)學(xué)生SQL Server 2000第24頁,共34頁。注:投影操作是從列的角度進(jìn)行運(yùn)算的,但投影操作 后,不僅取消了某些列,而且也取消了某些元組,因?yàn)槿∠四承傩院?,就可能出現(xiàn)重復(fù)元組,關(guān)系操作自動取消重復(fù)元組。例: 年齡,所在系 (學(xué)生)年齡所在系20計算機(jī)21數(shù)學(xué)20計算機(jī)4.2 關(guān)系代數(shù)年齡所在系20計算機(jī)21數(shù)學(xué)SQL Server 2000第25頁,共34頁。3、連接指從兩關(guān)系R,S的廣義笛卡爾積中選取屬性間滿足一定條件的元組,記為: R S=tr ts|tr R ts S trA ts

13、B AB 其中A和B分別為R和S上度數(shù)相等且可比的屬性組,為比較運(yùn)算符。 連接運(yùn)算中有兩種常用的連接:一種是等值連接,另一種是自然連接。等值連接是從關(guān)系R和S的廣義笛卡爾積中選取A和B屬性相等的元組,自然連接是一種特殊的等值連接,它要求兩個關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且在結(jié)果中把重復(fù)的屬性列去掉4.2 關(guān)系代數(shù)SQL Server 2000第26頁,共34頁。學(xué)號姓名年齡所在系98001王平20計算機(jī)98002李麗21數(shù)學(xué)98003陳紅20計算機(jī)學(xué)生學(xué)號課程號成績98001C19598001C38098003C18598003C275選課學(xué)生 選課學(xué)生.學(xué)號姓名年齡所在系選課.學(xué)

14、號課程號成績98001王平20計算機(jī)98001C19598001王平20計算機(jī)98001C38098001王平20計算機(jī)98003C18598001王平20計算機(jī)98003C27598002李麗21數(shù)學(xué)98001C19598002李麗21數(shù)學(xué)98001C38098002李麗21數(shù)學(xué)98003C19598002李麗21數(shù)學(xué)98003C27598003陳紅20計算機(jī)98001C19598003陳紅20計算機(jī)98001C38098003陳紅20計算機(jī)98003C18598003陳紅20計算機(jī)98003C275SQL Server 2000第27頁,共34頁。學(xué)生.學(xué)號姓名年齡所在系選課.學(xué)號課程號成

15、績98001王平20計算機(jī)98001C19598001王平20計算機(jī)98001C38098003陳紅20計算機(jī)98003C18598003陳紅20計算機(jī)98003C275學(xué)生 選課學(xué)生.學(xué)號=選課.學(xué)號等值連接學(xué)號姓名年齡所在系98001王平20計算機(jī)98002李麗21數(shù)學(xué)98003陳紅20計算機(jī)學(xué)生學(xué)號課程號成績98001C19598001C38098003C18598003C275選課SQL Server 2000第28頁,共34頁。學(xué)生 選課自然連接學(xué)號姓名年齡所在系課程號成績98001王平20計算機(jī)C19598001王平20計算機(jī)C38098003陳紅20計算機(jī)C18598003陳紅2

16、0計算機(jī)C275學(xué)號姓名年齡所在系98001王平20計算機(jī)98002李麗21數(shù)學(xué)98003陳紅20計算機(jī)學(xué)生學(xué)號課程號成績98001C19598001C38098003C18598003C275選課SQL Server 2000第29頁,共34頁。三、用關(guān)系代數(shù)表示檢索的例子學(xué)生選課庫的關(guān)系模式為:學(xué)生(學(xué)號,姓名,性別,年齡,所在系)課程(課程號,課程名,先行課)選課(學(xué)號,課程號,成績)學(xué)號,姓名(課程號=C2(選課 學(xué)生)例1、求選修了課程號為“C2”課程的學(xué)生學(xué)號 學(xué)號(課程號=C2(選課)例2、求選修了課程號為“C2”課程的學(xué)生學(xué)號和姓名 4.2 關(guān)系代數(shù)SQL Server 200

17、0第30頁,共34頁。學(xué)生(學(xué)號,姓名,性別,年齡,所在系)課程(課程號,課程名,先行課)選課(學(xué)號,課程號,成績)例3、求年齡大于20的所有女學(xué)生的學(xué)號、姓名學(xué)號,姓名(年齡20 性別=女(學(xué)生)例4、求選了課的學(xué)生的學(xué)號和姓名例5、求沒有選課的學(xué)生的學(xué)號和姓名 學(xué)號,姓名(選課 學(xué)生)學(xué)號,姓名(學(xué)生)-學(xué)號,姓名(選課 學(xué)生)4.2 關(guān)系代數(shù)SQL Server 2000第31頁,共34頁。學(xué)號(課程號=C2(選課)學(xué)號(課程號=C3(選課)或?qū)W號(課程號=C2 課程號=C3(選課)例6、求沒有選修課程號為“C1”課程的學(xué)生學(xué)號學(xué)號(學(xué)生)-學(xué)號(課程號=C1(選課)例7、選修“C2”課程或選修“C3”課程的學(xué)生學(xué)號學(xué)生(學(xué)號,姓名,性別,年齡,所在系)課程(課程號,課程名,先行課)選課(學(xué)號,課程號,成績)不能寫成:學(xué)號(課程號 C1(選課)4.2 關(guān)系代數(shù)SQL Server 2000第32頁,共34頁。例8、既選修“C2”課程又選修“C3”課程的學(xué)生學(xué)號學(xué)號(課程號=C2(選課)學(xué)號(課程號=C3(選課)不能寫為: 學(xué)號(課程號=C2 課程號=C3(選課) 因?yàn)檫x擇運(yùn)算是集合運(yùn)算,在同一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論