第章關(guān)系數(shù)據(jù)庫教案資料_第1頁
第章關(guān)系數(shù)據(jù)庫教案資料_第2頁
第章關(guān)系數(shù)據(jù)庫教案資料_第3頁
第章關(guān)系數(shù)據(jù)庫教案資料_第4頁
第章關(guān)系數(shù)據(jù)庫教案資料_第5頁
已閱讀5頁,還剩70頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章關(guān)系數(shù)據(jù)庫2.1關(guān)系模型及其定義2.2關(guān)系的3類完整性約束2.3關(guān)系代數(shù)2.1.1關(guān)系中的基本術(shù)語?

關(guān)系:簡(jiǎn)單理解一個(gè)關(guān)系就是一張二維表,包含若干個(gè)元組。?

元組:表中的一行即為一個(gè)元組。?

屬性:表中的列稱為屬性。(有時(shí)也稱為字段)?

域:屬性的取值范圍。?

關(guān)系模式:對(duì)關(guān)系的描述。

例如:R(sno,sname,sex,birthday,class)2.1.1關(guān)系中的基本術(shù)語?

候選鍵(或候選關(guān)鍵字,或稱候選碼)

是屬性或?qū)傩越M合,其值可以唯一的標(biāo)識(shí)一個(gè)元組。?

主鍵(或主關(guān)鍵字)

如果有多個(gè)候選鍵,選擇其中一個(gè)作為主鍵。?

主屬性

包含在候選鍵中的各個(gè)屬性。

?

全碼

所有屬性都是這個(gè)關(guān)系模式的候選碼。外鍵(或外關(guān)鍵字)

如果關(guān)系R2的一個(gè)或一組屬性X是另一關(guān)系R1的主鍵,則X稱為外鍵。2.1.2關(guān)系的數(shù)學(xué)定義1.域域是一組具有相同數(shù)據(jù)類型的值的集合。

例如:自然數(shù)、實(shí)數(shù)、長度小于25字節(jié)的字符串集合等等。如D1={0,1},D2={a,b,c}則笛卡爾積例題若A={α,β},B={1,2,3},

求A×B,B×A,A×A,B×BA×B={〈α,1〉,〈α,2〉,〈α,3〉,〈β,1〉,〈β,2〉,<β,3〉}

B×A={〈1,α〉,〈1,β〉,〈2,α〉,〈2,β〉,〈3,α〉,〈3,β〉}

A×A={〈α,α〉,〈α,β〉,〈β,α〉,〈β,β〉}

B×B={〈1,1〉,〈1,2〉,〈1,3〉,〈2,1〉,〈2,2〉,〈2,3〉,〈3,1〉,〈3,2〉,〈3,3〉}笛卡兒積的運(yùn)算性質(zhì),一般不能交換.

例如:給出3個(gè)域:D1=導(dǎo)師集合={李清,劉濤}D2=專業(yè)集合={計(jì)算機(jī)專業(yè),管理工程專業(yè)}D3=研究生集合={李華,楊敏,劉穎}

則D1,D2,D3的笛卡爾積為?2.1.2關(guān)系的數(shù)學(xué)定義該笛卡爾積共有D1×D2×D3=12個(gè)元組,可以列成一張表。導(dǎo)師專業(yè)研究生李清計(jì)算機(jī)專業(yè)李華李清計(jì)算機(jī)專業(yè)楊敏李清計(jì)算機(jī)專業(yè)劉穎李清管理工程專業(yè)李華李清管理工程專業(yè)楊敏李清管理工程專業(yè)劉穎劉濤計(jì)算機(jī)專業(yè)李華劉濤計(jì)算機(jī)專業(yè)楊敏劉濤計(jì)算機(jī)專業(yè)劉穎劉濤管理工程專業(yè)李華劉濤管理工程專業(yè)楊敏劉濤管理工程專業(yè)劉穎表2-12.1.2關(guān)系的數(shù)學(xué)定義3.關(guān)系笛卡爾積D1×D2×…×Dn的任一個(gè)子集稱為D1,D2,…,Dn上的一個(gè)n元關(guān)系。表示為:R(D1,D2,…,Dn)。其中R表示關(guān)系名,n是關(guān)系的度或目

例如:可以在表3-1的笛卡爾積中取出一個(gè)子集來構(gòu)造一個(gè)關(guān)系。一個(gè)研究生只師從于一個(gè)導(dǎo)師,學(xué)習(xí)某一個(gè)專業(yè)。從中取出有實(shí)際意義的元組來構(gòu)造關(guān)系,并將關(guān)系取名為SAP。這個(gè)關(guān)系可以表示為:SAP(導(dǎo)師,專業(yè),研究生)2.1.2關(guān)系的數(shù)學(xué)定義假設(shè)導(dǎo)師與專業(yè)是一對(duì)一的,即一個(gè)導(dǎo)師只有一個(gè)專業(yè),導(dǎo)師與研究生是一對(duì)多,即一個(gè)導(dǎo)師可以帶多名研究生,而一名研究生只有一個(gè)導(dǎo)師,則SAP關(guān)系可以包含3個(gè)元組,如下表:導(dǎo)師專業(yè)研究生李清計(jì)算機(jī)專業(yè)李華李清計(jì)算機(jī)專業(yè)劉穎劉濤管理工程專業(yè)楊敏表2-22.1.2關(guān)系的數(shù)學(xué)定義4.關(guān)系的性質(zhì)(1)列是同質(zhì)的,即每一列中的分量是同一類型的數(shù)據(jù),來自同一個(gè)域。學(xué)號(hào)姓名性別年齡曾用名9901張三男20張狗子9902李四女18李朋王五9903119王麻子9904趙六21981/2/28趙薇2.1.2關(guān)系的數(shù)學(xué)定義4.關(guān)系的性質(zhì)(2)不同的列可出自同一個(gè)域,其中的每一列稱為一個(gè)屬性,要給予不同的屬性名。學(xué)號(hào)姓名性別年齡姓名9901張三男20張狗子9902李四女18李朋9903王五男19王麻子9904趙六女20趙薇姓名2曾用名2.1.2關(guān)系的數(shù)學(xué)定義4.關(guān)系的性質(zhì)(3)列的順序無所謂,即列的次序可以任意交換,也稱屬性無序性。關(guān)系性質(zhì)3—屬性無序?qū)W號(hào)姓名性別年齡曾用名9901張三男20張狗子9902李四女18李朋9903王五男19王麻子9904趙六女20趙薇學(xué)號(hào)姓名曾用名性別年齡9901張三張狗子男209902李四李朋女189903王五王麻子男199904趙六趙薇女202.1.2關(guān)系的數(shù)學(xué)定義4.關(guān)系的性質(zhì)(4)任意兩個(gè)元組不能完全相同。學(xué)號(hào)姓名性別年齡姓名9901張三男20張狗子9902李四女18李朋9903王五男19王麻子9904趙六女20趙薇9901張三男20張狗子重復(fù)的元組重復(fù)的元組!2.1.2關(guān)系的數(shù)學(xué)定義4.關(guān)系的性質(zhì)(5)行的順序無關(guān)緊要,即行的次序可以任意交換,稱為元組無序性。學(xué)號(hào)姓名性別年齡9901張三男209902李四女189903王五男199904趙六女20學(xué)號(hào)姓名性別年齡9904趙六女209901張三男209903王五男199902李四女182.1.2關(guān)系的數(shù)學(xué)定義4.關(guān)系的性質(zhì)(6)所有屬性值都是原子,不允許屬性又是一個(gè)二維關(guān)系。關(guān)系性質(zhì)6—分量是原子父母孩子李男王男丁女肖女李一李二王一父母孩子大小李男王男丁女肖女李一王一李二父母孩子李男李男王男丁女丁女肖女李一李二王一父母大孩小孩李男王男丁女肖女李一王一李二非規(guī)范化關(guān)系規(guī)范化關(guān)系關(guān)系關(guān)系可以有三種類型:基本表是實(shí)際存在的表,它是實(shí)際存儲(chǔ)數(shù)據(jù)的邏輯表示。查詢表是查詢結(jié)果對(duì)應(yīng)的表。視圖表是由基本表或其他視圖表導(dǎo)出的表,是虛表,不對(duì)應(yīng)實(shí)際存儲(chǔ)的數(shù)據(jù)。

2.2關(guān)系的3類完整性約束(1)實(shí)體完整性規(guī)則

關(guān)系中主碼的值不能為空或部分為空。(2)參照完整性規(guī)則

參照完整性規(guī)則就是定義外碼與主碼之間的引用規(guī)則。(3)用戶定義的完整性指用戶對(duì)某一具體數(shù)據(jù)指定的約束條件進(jìn)行檢驗(yàn)。2.2關(guān)系的3類完整性約束Majors_IDMname17應(yīng)用電子14機(jī)械制造21計(jì)算機(jī)Stu_IDNameSexBirthdayMajors_ID1999041001李娟女10/17/80171999043010王堅(jiān)男04/21/81151998040522謝少文男02/23/80不允許為空值或重復(fù)值一個(gè)錯(cuò)誤的引用(不存在15)允許為空值傳統(tǒng)的集合運(yùn)算是二目運(yùn)算,是在兩個(gè)關(guān)系中進(jìn)行的。但是并不是任意的兩個(gè)關(guān)系都能進(jìn)行這種集合運(yùn)算,而是要在兩個(gè)滿足一定條件的關(guān)系中進(jìn)行運(yùn)算。那么,對(duì)關(guān)系有什么要求呢?設(shè)給定兩個(gè)關(guān)系R、S,若滿足:具有相同的度n;R中第i個(gè)屬性和S中第i個(gè)屬性必須來自同一個(gè)域。則說關(guān)系R、S是相容的。除笛卡爾積外,要求參加運(yùn)算的關(guān)系必須滿足上述的相容性定義。2.3關(guān)系代數(shù)2.3.1傳統(tǒng)的集合運(yùn)算1.并(Union)關(guān)系R和關(guān)系S的并由屬于R或?qū)儆赟的元組組成,即R和S的所有元組合并,刪去重復(fù)元組,組成一個(gè)新關(guān)系,其結(jié)果仍為n目關(guān)系。記作:

R∪S={t|t∈R∨t∈S}對(duì)于關(guān)系數(shù)據(jù)庫,記錄的插入和添加可通過并運(yùn)算實(shí)現(xiàn)。R

S2.3.1傳統(tǒng)的集合運(yùn)算2.3.1傳統(tǒng)的集合運(yùn)算2.差(Difference)關(guān)系R與關(guān)系S的差由屬于R而不屬于S的所有元組組成,即R中刪去與S中相同的元組,組成一個(gè)新關(guān)系,其結(jié)果仍為n目關(guān)系。記作:R-S={t|t∈R∧┐t∈S}通過差運(yùn)算,可實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫記錄的刪除。R

S3.交(Intersection)關(guān)系R與關(guān)系S的交由既屬于R又屬于S的元組組成,即R與S中相同的元組,組成一個(gè)新關(guān)系,其結(jié)果仍為n目關(guān)系。記作:

R∩S={t|t∈Rt∈S}R

S2.3.1傳統(tǒng)的集合運(yùn)算4.廣義笛卡爾積(ExtendedCartesianProduct)兩個(gè)分別為n目和m目關(guān)系R和S的廣義笛卡爾積是一個(gè)(n+m)列的元組的集合,元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組。若R有k1個(gè)元組,S有k2個(gè)元組,則關(guān)系R和關(guān)系S的廣義笛卡爾積有k1*k2個(gè)元組,記作

R×S={tr⌒ts|tr∈R,∧ts∈S}關(guān)系的廣義笛卡爾積可用于兩關(guān)系的連接操作2.3.1傳統(tǒng)的集合運(yùn)算廣義笛卡兒積運(yùn)算實(shí)例隨堂練習(xí)設(shè)有關(guān)系R、S,計(jì)算R1=R-S、R2=R∪S、R3=R∩S、R4=R×SABCabcbafcbdABCbafdafRS由于傳統(tǒng)的集合運(yùn)算,只是從行的角度進(jìn)行,而要靈活地實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫多樣的查詢操作,必須引入專門的關(guān)系運(yùn)算。σ(選擇)∏(投影)∞(連接)÷(除)2.3.2專門的集合運(yùn)算概念設(shè)關(guān)系模式R(A1,A2,…,An),它的一個(gè)關(guān)系是R。t∈R表示t是R的一個(gè)元組。t[Ai]則表示元組t相對(duì)于屬性Ai的一個(gè)分量。若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,則A稱為屬性列或域列。~A則表示在{A1,A2,…,An

}中去掉{Ai1,Ai2,…,Aik}后剩余屬性組。T[A]={t[Ai1],t[Ai2],…,t[Aik]}。兩個(gè)分別為n目和m目關(guān)系R和S的廣義笛卡爾積是一個(gè)(n+m)列的元組的集合,元組的前n列是關(guān)系R的一個(gè)元組,后m列是關(guān)系S的一個(gè)元組。給定一個(gè)關(guān)系R(X,Z),其中X和Z為屬性組,定義當(dāng)t[X]=x時(shí),x在R中的像集為Zx={t[Z]|t∈R,t[X]=x}。表示R中在屬性組X上值為x的各元組在Z分量上的集合。樣板數(shù)據(jù)庫(學(xué)生-課程數(shù)據(jù)庫)選擇條件可用命題公式(即計(jì)算機(jī)語言中的條件表達(dá)式)F表示。關(guān)系R關(guān)于公式F的選擇運(yùn)算用σF(R)表示,形式定義如下:σF(R)={t|t∈R∧F(t)=true}其中σ為選擇運(yùn)算符,σF(R)表示從R中挑選滿足公式F為真的元組所構(gòu)成的關(guān)系。這是從行的角度進(jìn)行的運(yùn)算。選擇例如:在關(guān)系S1中找出所有“男生”的數(shù)據(jù)。關(guān)系代數(shù)為:σ性別=“男”(S1)

SELECTS1WHERE性別=“男”2.3.2專門的集合運(yùn)算F為選取的條件,由運(yùn)算對(duì)象(屬性名、常數(shù)、簡(jiǎn)單函數(shù))、算術(shù)比較運(yùn)算符(>,≥,<,≤,=,≠)和邏輯運(yùn)算符(∨∧┐)連接起來的邏輯表達(dá)式,結(jié)果為邏輯值“真”或“假”。例子1:查詢信息系全體學(xué)生σsdept=“IS”(student)σ5=“IS”(student)或2.3.2專門的集合運(yùn)算選擇運(yùn)算是從關(guān)系R中選取使邏輯表達(dá)式F為真的元組,實(shí)際上是從行的角度進(jìn)行的運(yùn)算。σ2.3.2專門的集合運(yùn)算——選擇從關(guān)系中找出滿足給定條件的所有元組稱為選擇.選擇運(yùn)算是根據(jù)某些條件對(duì)關(guān)系做水平分割,即選取符合條件的元組。其中的條件是以邏輯表達(dá)式給出.經(jīng)過選擇運(yùn)算得到的結(jié)果元組可以形成新的關(guān)系,其關(guān)系模式不變,但其中元組的數(shù)目小于等于原來的關(guān)系中元組的個(gè)數(shù).例子1已知關(guān)系R和S,求2.3.2專門的集合運(yùn)算2.投影——在關(guān)系R中求指定的由若干個(gè)屬性組成新的關(guān)系,即對(duì)關(guān)系在垂直方向進(jìn)行的運(yùn)算,從左到右按照指定的若干屬性及順序取出相應(yīng)列。

關(guān)系R的投影運(yùn)算用πX(R)表示,形式定義如下:πx(R)={t[X]|t∈R}

其中x為R的屬性列。X的屬性序號(hào)是對(duì)應(yīng)屬性在關(guān)系中的順序編號(hào).

投影之后不僅取消了原關(guān)系中的某些列,而且取消完全相同的元組。

2.3.2專門的集合運(yùn)算從定義可看出,投影運(yùn)算是從列的角度進(jìn)行的運(yùn)算,這正是選取運(yùn)算和投影運(yùn)算的區(qū)別所在。π2.3.2專門的集合運(yùn)算例子2:查詢學(xué)生的姓名和所在的系Πsname,sdept(student)Π2,5(student)或投影運(yùn)算可以改變關(guān)系的屬性次序例子2已知關(guān)系R和S,求連接

在數(shù)學(xué)上,可以用笛卡爾積建立兩個(gè)關(guān)系間的連接,但這樣的得到的關(guān)系數(shù)據(jù)冗余度大,在實(shí)際應(yīng)用中一般兩個(gè)相互關(guān)聯(lián)的關(guān)系往往需要滿足一定的條件,使所得的結(jié)果一目了然。這就是我們要講的連接運(yùn)算。連接連接是將兩個(gè)關(guān)系的屬性名拼接成一個(gè)更寬的關(guān)系.生成新的關(guān)系中包含滿足連接條件的元組.運(yùn)算過程是通過連接條件來控制的,連接是對(duì)關(guān)系的結(jié)合.連接連接也稱為θ聯(lián)接。它是從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組組成新的關(guān)系。關(guān)系R和S的連接運(yùn)算形式定義如下:

={t︱t=<tr,ts>∧tr∈R∧ts∈S∧tr[A]θts[B]}

其中A和B分別為關(guān)系R和S上度數(shù)相同且可比的屬性組。2.3.2專門的集合運(yùn)算一般的連接操作是從行的角度進(jìn)行運(yùn)算。

AθBRS例子3已知關(guān)系R和S,求例子3(續(xù))2.3.2專門的集合運(yùn)算θ連接舉例:求RS,RS

[2]=[1]ABC134579268BCD251683497RS[3]<[2]連接1)等值連接(Equi-jion):等值連接即將連接中的θ換成“=”,功能是從關(guān)系R和S的笛卡爾積中選取A,B屬性值相等的那些元組。它的形式定義為:

={t︱t=<tr,ts>∧tr∈R∧ts∈S∧tr[A]=ts[B]}例子已知求例子連接2)自然連接(Natural-jion):自然連接是一種特殊的等值連接,它要求兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,并且要在結(jié)果中將重復(fù)的屬性去掉。它的形式定義為:

={t︱t=<tr,ts>∧tr∈R∧ts∈S∧tr[B]=ts[B]}例子已知求例子連接

連接運(yùn)算一般是從行的角度進(jìn)行的操作,但自然連接是同時(shí)從行和列的角度進(jìn)行的操作。關(guān)系R與S,求:①R和S的大于連接(C>D);②R和S的等值連接(C=D);③R和S的等值連接(R.B=S.B);④R和S的自然連接。ABCa1b12a1b24a2b36a2b48BDb15b26b37b59例子4RS大于連接(C>D)等值連接(C=D)AR.BCS.BDa2b36b26AR.BCS.BDa2b36b15a2b48b15a2b48b26a2b48b37例子4(續(xù))等值連接(R.B=S.B)自然連接AR.BCS.BDa1b12b15a1b24b26a2b36b37ABCDa1b125a1b246a2b367例子4(續(xù))等值連接與自然連接的區(qū)別:1.等值連接中不要求相等屬性值的屬性名相同,而自然連接要求相等屬性值的屬性名必須相同,即兩關(guān)系只有在同名屬性才能進(jìn)行自然連接。2.等值連接不將重復(fù)屬性去掉,而自然連接去掉重復(fù)屬性,也可以說,自然連接是去掉重復(fù)列的等值連接。2.3.2專門的集合運(yùn)算2.3.2專門的集合運(yùn)算外連接如果把舍棄的元組也保存在結(jié)果關(guān)系中,而在其他屬性上填空值(Null),這種連接就叫做外連接(OUTERJOIN)。左外連接如果只把左邊關(guān)系R中要舍棄的元組保留就叫做左外連接(LEFTOUTERJOIN或LEFTJOIN)右外連接如果只把右邊關(guān)系S中要舍棄的元組保留就叫做右外連接(RIGHTOUTERJOIN或RIGHTJOIN)。2.3.2專門的集合運(yùn)算下圖是例4中關(guān)系R和關(guān)系S的全外自然連接

ABCDa1b125a1b246a2b367a2b48nullnullb5null9(a)全外自然連接

2.3.2專門的集合運(yùn)算ABCDa1b125a1b246a2b367a2b48null(b)左外自然連接

圖(b)是例4中關(guān)系R和關(guān)系S的左外連接,圖(c)是右外連接

ABCDa1b125a1b246a2b367nullb5null9(c)右外自然連接

4.除——記為R÷S。

除法運(yùn)算是二目運(yùn)算,設(shè)有關(guān)系R(X,Y)與關(guān)系S(Y,Z),其中X,Y,Z為屬性集合,R中的Y與S中的Y可以有不同的屬性名,但對(duì)應(yīng)屬性必須出自相同的域。關(guān)系R除以關(guān)系S所得的商是一個(gè)新關(guān)系P(X),P是R中滿足下列條件的元組在X上的投影:元組在X上分量值x的象集Yx包含S在Y上投影的集合。記作:R÷S={tr[X]|tr∈R∧Πy(S)

Yx}

其中,Yx為x在R中的象集,x=tr[X]。2.3.2專門的集合運(yùn)算2.3.2專門的集合運(yùn)算除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算÷RS象集ABCDEa1b15d13a1b15d27a1b25d310a2b35d32a4b56d27a4b56d310a4b56d32a6b66d52t[X]=(a1,b1)的象集CDE5d135d27t[X]=(a1,b2)的象集CDE5d310t[X]=(a4,b5)的象集CDE6d276d3106d32XZRZx={t[Z]|t∈R,t[X]=x}Zx除ABCDEa1b15d13a1b15d27a1b25d310a2b35d32a2b15d52a3b26d13a4b56d27a4b56d310a4b56d32a6b66d52XY=CDEF6d27fa6d310fb6d32fcYR上分量值X的象集Yx包含S在Y上的投影除運(yùn)算實(shí)例學(xué)號(hào)課號(hào)成績(jī)S1C1AS1C2BS1C3BS2C1AS2C3BS3C1BS3C3BS4C1AS4C2AS5C2BS5C3BS5C1A課號(hào)課名C1數(shù)據(jù)結(jié)構(gòu)C3操作系統(tǒng)S1C1AS1C2BS1C3BS2C1AS2C3BS3C1BS3C3BS4C1AS4C2AS5

溫馨提示

  • 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)論