第2章關系數據庫系統_第1頁
第2章關系數據庫系統_第2頁
第2章關系數據庫系統_第3頁
第2章關系數據庫系統_第4頁
第2章關系數據庫系統_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1第第2章章 關系數據庫系統關系數據庫系統22第第2章章 關系數據庫系統關系數據庫系統n 2.1 2.1 關系模型的基本概念關系模型的基本概念n 2.2 2.2 關系代數關系代數n 2.3 2.3 關系規范化關系規范化32.1 關系模型的基本概念關系模型的基本概念n 關系模型的基本術語關系模型的基本術語 部門號部門號部門名部門名部門經理部門經理電話號碼電話號碼101技術部技術部林克林克26540214102財務部財務部徐瑩華徐瑩華26540652103公關部公關部張文韜張文韜26544852104策劃部策劃部謝海謝海26543298職工號職工號職工名職工名性別性別年齡年齡部門號部門號10100

2、1王軍王軍男男24101101003黃明業黃明業男男34101103018張華張華女女35103104024吳林華吳林華女女27104表表2.1 職工信息表職工信息表表表2.2 部門信息表部門信息表42.1 關系模型的基本概念關系模型的基本概念1關系關系一個關系就是一張二維表,通常將一個沒有重復行、重一個關系就是一張二維表,通常將一個沒有重復行、重復列的二維表看成一個關系,每個關系都有一個關系名。復列的二維表看成一個關系,每個關系都有一個關系名。2. 屬性及值域屬性及值域二維表的每一列在關系中稱為屬性二維表的每一列在關系中稱為屬性(Attribute),每個屬性,每個屬性都有一個屬性名,各個屬

3、性的取值稱為屬性值。每個屬性有都有一個屬性名,各個屬性的取值稱為屬性值。每個屬性有一定的取值范圍,稱為值域。一定的取值范圍,稱為值域。3. 關系模式關系模式對關系的描述稱為關系模式,關系模式的一般形式為:對關系的描述稱為關系模式,關系模式的一般形式為: 關系名關系名(屬性屬性1,屬性,屬性2,屬性,屬性n) 例如,職工信息關系例如,職工信息關系(職工號,職工名,性別,年齡,職工號,職工名,性別,年齡,部門號部門號)52.1 關系模型的基本概念關系模型的基本概念4元組元組二維表的每一行在關系中稱為元組二維表的每一行在關系中稱為元組(Tuple)。一行描述了。一行描述了現實世界中的一個實體,或者描

4、述了不同實體間的一種聯系。現實世界中的一個實體,或者描述了不同實體間的一種聯系。5. 鍵鍵(1) 超鍵:在關系中能唯一標識元組的屬性或屬性的組超鍵:在關系中能唯一標識元組的屬性或屬性的組合稱為該關系的超鍵。合稱為該關系的超鍵。(2)候選鍵:不含有多余屬性的超鍵稱為候選鍵。)候選鍵:不含有多余屬性的超鍵稱為候選鍵。(3)主鍵:用戶選作元組標識的一個候選鍵稱為主鍵。)主鍵:用戶選作元組標識的一個候選鍵稱為主鍵。 例如,表例如,表2.1的職工信息關系中,屬性組合的職工信息關系中,屬性組合(職工號,職工職工號,職工名名)是超鍵,但不是候選鍵是超鍵,但不是候選鍵 。62.1 關系模型的基本概念關系模型的

5、基本概念6. 主屬性與非主屬性主屬性與非主屬性關系中包含在任何一個候選鍵中的屬性稱為主屬性,不關系中包含在任何一個候選鍵中的屬性稱為主屬性,不包含在任何一個候選鍵中的屬性稱為非主屬性。包含在任何一個候選鍵中的屬性稱為非主屬性。 例如,表例如,表2.1職工關系中,職工號和職工名是主屬性,其職工關系中,職工號和職工名是主屬性,其他屬性是非主屬性。他屬性是非主屬性。7. 外鍵、參照關系與依賴關系外鍵、參照關系與依賴關系如果關系中某個屬性或屬性組合并非關鍵字,但卻是另如果關系中某個屬性或屬性組合并非關鍵字,但卻是另一個關系的主關鍵字,則稱此屬性或屬性組合為本關系的外一個關系的主關鍵字,則稱此屬性或屬性

6、組合為本關系的外部關鍵字或外鍵部關鍵字或外鍵(Foreign Key)。在關系數據庫中,用外部關鍵字表示兩個表間的聯系。在關系數據庫中,用外部關鍵字表示兩個表間的聯系。以外鍵作為主鍵的關系稱為參照關系或主關系,外鍵所在的以外鍵作為主鍵的關系稱為參照關系或主關系,外鍵所在的關系稱為依賴關系或從關系。關系稱為依賴關系或從關系。 72.1 關系模型的基本概念關系模型的基本概念n 關系的定義和性質關系的定義和性質 在關系模型中,對關系作了下列規范性限制。在關系模型中,對關系作了下列規范性限制。(1)關系中的每一個屬性值是不可分解的。)關系中的每一個屬性值是不可分解的。 (2)每一個關系模式中屬性的數據

7、類型以及屬性的個數)每一個關系模式中屬性的數據類型以及屬性的個數是固定的,并且每個屬性必須命名,在同一個關系模式中,是固定的,并且每個屬性必須命名,在同一個關系模式中,屬性名必須是不同的。屬性名必須是不同的。(2)每一個關系僅有一種關系模式。)每一個關系僅有一種關系模式。(4)在關系中沒有行序。)在關系中沒有行序。 (5)在關系中沒有列序。)在關系中沒有列序。(6)在同一個關系中不允許出現完全相同的元組。)在同一個關系中不允許出現完全相同的元組。 82.1 關系模型的基本概念關系模型的基本概念n 關系模型的三要素關系模型的三要素1. 數據結構數據結構2. 關系操作關系操作(1)代數方法,也稱為

8、關系代數,是以集合)代數方法,也稱為關系代數,是以集合(關系是元關系是元組的集合組的集合)操作為基礎,應用對關系的專門運算來表達查詢操作為基礎,應用對關系的專門運算來表達查詢的要求。的要求。(2)邏輯方法,也稱為關系演算,是以謂詞演算為基礎,)邏輯方法,也稱為關系演算,是以謂詞演算為基礎,通過元組必須滿足的謂詞公式來表達查詢要求。通過元組必須滿足的謂詞公式來表達查詢要求。3. 關系模型的三類完整性規則關系模型的三類完整性規則92.1 關系模型的基本概念關系模型的基本概念(1)實體完整性)實體完整性所謂實體完整性,就是一個關系模型中的所有元組都是所謂實體完整性,就是一個關系模型中的所有元組都是惟

9、一的,沒有兩個完全相同的元組,也就是一個二維表中沒惟一的,沒有兩個完全相同的元組,也就是一個二維表中沒有兩個完全相同行,也稱為行完整性。有兩個完全相同行,也稱為行完整性。 例如,表例如,表2.1的職工信息關系,根據實體完整性,的職工信息關系,根據實體完整性,“職工職工號號”不能取空值不能取空值 。(2)參照完整性)參照完整性當一個數據表中有外部關鍵字當一個數據表中有外部關鍵字(即該列是另外一個表的關即該列是另外一個表的關鍵字鍵字)時,外部關鍵字列的所有值,都必須出現在其所對應時,外部關鍵字列的所有值,都必須出現在其所對應的表中,這就是參照完整性的含義的表中,這就是參照完整性的含義 。例如,表例

10、如,表2.1的職工信息表和表的職工信息表和表2.2的部門信息表。的部門信息表。(3)用戶定義完整性)用戶定義完整性102.2 關系代數關系代數n 傳統的集合運算傳統的集合運算 對二維表格進行運算的機制。對二維表格進行運算的機制。 1并并設設A、B同為同為n元關系,則元關系,則A、B的并也是一個的并也是一個n元關系,元關系,記作記作AB。2差差設設A、B同為同為n元關系,則元關系,則A、B的差也是一個的差也是一個n元關系,元關系,記作記作A-B。A-B包含了所有屬于包含了所有屬于A但不屬于但不屬于B的元組。的元組。 3交交設設A、B同為同為n元關系,則元關系,則A、B的交也是一個的交也是一個n元

11、關系,元關系,記作記作AB。AB包含了所有同屬于包含了所有同屬于A、B的元組。的元組。112.2 關系代數關系代數4廣義笛卡爾積廣義笛卡爾積設設A1、A2、An為任意集合,為任意集合,A1、A2、An的笛的笛卡爾乘積記做:卡爾乘積記做:A1A2An,并且定義并且定義D= A1A2An =(a1,a2,an)|aiAi,i=1,2,n,其中,其中(a1,a2,an)是一個元組,它的每個元素是一個元組,它的每個元素ai取取自對應的集合自對應的集合Ai。例如,設例如,設A=1,2,B=a,b,則,則AB=(1,a),(1,b),(2,a),(2,b)。12 R A B C a1 b1 c1 a1 b

12、2 c2 a2 b2 c1 (a) S A B C a1 b2 c2 a1 b3 c2 a2 b2 c1 (b) R? S A B C a1 b1 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 (c) RS A B C a1 b1 c1 (d) RS A B C a1 b2 c2 a2 b2 c1 (e) RS R.A R.B R.C S.A S.B S.C a1 b1 c1 a1 b2 c2 a1 b1 c1 a1 b3 c2 a1 b1 c1 a2 b2 c1 a1 b2 c2 a1 b2 c2 a1 b2 c2 a1 b3 c2 a1 b2 c2 a2 b2 c1 a2 b

13、2 c1 a1 b2 c2 a2 b2 c1 a1 b3 c2 a2 b2 c1 a2 b2 c1 (f) 2.2 關系代數關系代數【例【例2.1】132.2 關系代數關系代數n 專門的關系運算專門的關系運算1. 選擇選擇對關系作水平分割對關系作水平分割 定義如下:定義如下:t是元組變量,是元組變量,F是元組需滿足的公式。是元組需滿足的公式。2. 投影投影對關系作垂直分割對關系作垂直分割設關系設關系R是是k元關系,元關系,R在其分量,在其分量,(mk,i1,im為為1到到k間的整數間的整數)上的投影用上的投影用 表示,表示,它是一個它是一個m元元組的集合,定義如下元元組的集合,定義如下:(:(

14、t是元組變量是元組變量 ))(|)(truetFRttRF11,1(R),Rmmiiiik t|ttttt1,(R)mii142.2 關系代數關系代數【例【例2.2】 (a)是關系是關系R,(b)表示表示 C3(R),(c)表示表示C,A(R)。R A B C 5 2 8 1 7 4 6 9 3 (a) C3(R) A B C 5 2 8 1 7 4 (b) C,A(R) C A 8 5 4 1 3 6 (c) 152.2 關系代數關系代數3. 連接連接連接運算的結果是笛卡爾積的子集連接運算的結果是笛卡爾積的子集(1) 連接連接從關系從關系R和和S的笛卡爾積中選取屬性值滿足某一的笛卡爾積中選取

15、屬性值滿足某一 操作的元組。操作的元組。形式定義如下:形式定義如下:,|ttttttsjissjiSRttSRttsji,分別表示元組分別表示元組tr的第的第i個分量、元組個分量、元組ts的第的第j個分量個分量 ttsji表示這兩個分量的表示這兩個分量的 操作操作162.2 關系代數關系代數(2)F連接連接F連接操作是連接操作是從關系從關系R和和S的笛卡爾積中選取屬性值滿足的笛卡爾積中選取屬性值滿足某一公式某一公式F的元組的元組,記為,記為 R S。(3)自然連接)自然連接兩個關系兩個關系R和和S的自然連接操作用的自然連接操作用RS表示,計算過程表示,計算過程如下:如下:計算計算RS;設設R和

16、和S的公共屬性是的公共屬性是A1,Ak,挑選,挑選RS中滿足中滿足R.A1=S.A1,R.Ak=S.Ak的那些元組;的那些元組;去掉去掉S.A1,S.Ak這些列。這些列。因而因而RS定義如下:定義如下:RSF111,.()mkkiiR AS AR AS ARS172.2 關系代數關系代數【例【例2.3】 (a)和和(b)是兩個關系是兩個關系R和和S,(c)表示連接,表示連接,(d)表示表示F連接,連接,(e)表示自然連接。表示自然連接。R A B C 4 3 6 4 3 7 2 9 1 (a) RS A B C 4 3 6 4 3 7 (e) R22 1 2 S R.A R.B R.C S.A

17、 S.B 2 9 1 4 3 2 9 1 2 3 (d) S A B 4 3 8 1 2 3 (b) 182.2 關系代數關系代數4. 除法除法設關系設關系R和和S的元數分別為的元數分別為r和和s(設設rs0),那么,那么R S是一個是一個(r-s)元的元組集合元的元組集合。 (R S)是滿足下列條件的最大關系:其是滿足下列條件的最大關系:其中每個元組中每個元組t與與S中每個元組中每個元組u組成的新元組組成的新元組必在關系必在關系R中。中。 192.2 關系代數關系代數【例【例2.4】 (a)和和(b)是兩個關系是兩個關系R和和S,(c)表示除法運算。表示除法運算。 R A B C D 5 7

18、 2 8 5 7 7 4 5 1 5 7 3 6 4 1 9 8 2 8 9 8 7 4 (a) S C D 2 8 7 4 (b) RS A B 5 7 9 8 (c) 202.2 關系代數關系代數n 關系代數表達式及其應用實例關系代數表達式及其應用實例 【例【例2.5】設教學數據庫中有三個關系:】設教學數據庫中有三個關系: 學生關系學生關系(學號學號,姓名,性別,年齡,所在系,專業,姓名,性別,年齡,所在系,專業) 課程關系課程關系(課程號課程號,課程名,學時數,課程名,學時數) 選課關系選課關系(學號,課程號學號,課程號,成績,成績) 下面用關系代數表達式表達每個查詢語句。下面用關系代數

19、表達式表達每個查詢語句。(1)檢索課程號為)檢索課程號為C201的學生的學號與成績。的學生的學號與成績。(2)檢索選修課程名為應用數學的學生的學號與姓名。)檢索選修課程名為應用數學的學生的學號與姓名。選課課程名成績學號201,C1,3(課程選課學生應用數學課程名學號,姓名212.2 關系代數關系代數(3)檢索選修全部課程的學生姓名。)檢索選修全部課程的學生姓名。 過程如下:過程如下: 學生選課情況表示如下:學生選課情況表示如下: 全部課程表示如下:全部課程表示如下: 選修了全部課程的學生學號可用除法操作表示,操選修了全部課程的學生學號可用除法操作表示,操作結果是學號集作結果是學號集 ,表示如下

20、:,表示如下:從學號求學生姓名,可用自然連接和投影操作組合而從學號求學生姓名,可用自然連接和投影操作組合而成:成:課程選課學生課程名學號,課程名姓名選課學號,課程號課程課程號課程選課課程號學號,課程號222.3 關系規范化關系規范化n 關系模式的設計問題關系模式的設計問題引例引例:表:表2.3關系模型存在如下幾方面的問題。關系模型存在如下幾方面的問題。數據冗余;修改異常;插入異常;刪除異常數據冗余;修改異常;插入異常;刪除異常 SNOSNAMESCITYCODEPNOPNAMEWEIGHTQTYS1迅飛公司上海021P102六角螺栓2.58280S2網達公司天津022P432轉管45.1436

21、0S2網達公司天津022P761水暖三通34.96200S3新嘉公司北京010P432轉管45.14480S4中聯公司北京010P761水暖三通34.96100表表2.3 商品供應關系模式商品供應關系模式SUPPLY的實例的實例232.3 關系規范化關系規范化要解決上述要解決上述3個問題,可將商品供應關系模式個問題,可將商品供應關系模式SUPPLY分分解以下為四個模式:解以下為四個模式:SUPPLIER(SNO,SNAME,SCITY)CITY(SCITY,CODE)PART(PNO,PNAME,WEIGHT)S_P(SNO,PNO,QTY)24SNO SNAME SCITY S1 迅飛公司迅

22、飛公司 上海上海 S2網達公司網達公司 天津天津 S3 新嘉公司新嘉公司 北京北京 S4 中聯公司中聯公司 北京北京 SNO PNO QTY S1P102280S2P432360S2P761200S3 P432480S4 P761100SCITY SNAME 上海上海 021天津天津 022 北京北京 010PNO PNAME WEIGHT P102六角螺栓六角螺栓 2.58 P432轉管轉管 45.14 p761水暖三通水暖三通 34.96 關系模式關系模式SUPPLIER的實例的實例 關系模式關系模式CITY的實例的實例 關系模式關系模式PART的實例的實例 關系模式關系模式S_P的實例的

23、實例 表表2.4 關系模式關系模式SUPPLY的分解實例的分解實例252.3 關系規范化關系規范化n 函數依賴函數依賴 定義定義1 設設RR(A1,A2,An)是一個關系模式是一個關系模式(A1,A2,An是是R的屬性的屬性),X A1,A2,An ,Y A1,A2,An ,即,即X和和Y是是R的屬性子集,的屬性子集,T1、T2是是R的兩個任意元組,即的兩個任意元組,即T1T1(A1,A2,An),T2T2(A1,A2,An),如果當,如果當T1(X)T2(X)成立時,總有成立時,總有T1(Y)T2(Y),則稱,則稱X決定決定Y,或稱,或稱Y函數依賴于函數依賴于X。記為:。記為:XY。262.3 關系規范化關系規范化定義定義2 R,X,Y如定義如定義1所設,如果所設,如果XY成立,但對成立,但對X的任意真子集的任意真子集X1,都有,都有X1Y不成立,稱不成立,稱Y完全函數依賴

溫馨提示

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

評論

0/150

提交評論