火龍果軟件Oracle數(shù)據(jù)庫學(xué)習(xí)DataBase_第1頁
火龍果軟件Oracle數(shù)據(jù)庫學(xué)習(xí)DataBase_第2頁
火龍果軟件Oracle數(shù)據(jù)庫學(xué)習(xí)DataBase_第3頁
火龍果軟件Oracle數(shù)據(jù)庫學(xué)習(xí)DataBase_第4頁
火龍果軟件Oracle數(shù)據(jù)庫學(xué)習(xí)DataBase_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章關(guān)系數(shù)據(jù)庫2.1關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義2.2關(guān)系操作2.3關(guān)系的完整性2.4關(guān)系代數(shù)*2.5關(guān)系演算2.1關(guān)系數(shù)據(jù)結(jié)構(gòu)及形式化定義關(guān)系模型建立在集合代數(shù)的基礎(chǔ)上關(guān)系數(shù)據(jù)結(jié)構(gòu)的基本概念關(guān)系關(guān)系模式關(guān)系數(shù)據(jù)庫2.1.1關(guān)系⒈域(Domain)

2.笛卡爾積(CartesianProduct)

3.關(guān)系(Relation)⒈域(Domain)域是一組具有相同數(shù)據(jù)類型的值的集合。例:整數(shù)實(shí)數(shù)介于某個(gè)取值范圍的整數(shù)長度指定長度的字符串集合{‘男’,‘女’}介于某個(gè)取值范圍的日期2.笛卡爾積(CartesianProduct)1)笛卡爾積的定義給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}所有域的所有取值的一個(gè)組合不能重復(fù)2.笛卡爾積(CartesianProduct)例給出三個(gè)域:

D1=SUPERVISOR={張清玫,劉逸}

D2=SPECIALITY={計(jì)算機(jī)專業(yè),信息專業(yè)}D3=POSTGRADUATE={李勇,劉晨,王敏}則D1,D2,D3的笛卡爾積為:D1×D2×D3={(張清玫,計(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.笛卡爾積(CartesianProduct)2)元組(Tuple)笛卡爾積中每一個(gè)元素(d1,d2,…,dn)叫作一個(gè)n元組(n-tuple)或簡稱元組。

3)分量(Component)笛卡爾積元素(d1,d2,…,dn)中的每一個(gè)值di叫作一個(gè)分量。

2.笛卡爾積(CartesianProduct)4)基數(shù)(Cardinalnumber)若Di(i=1,2,…,n)為有限集,其基數(shù)為mi(i=1,2,…,n),則D1×D2×…×Dn的基數(shù)M為:在上例中,基數(shù):2×2×3=12,即D1×D2×D3共有2×2×3=12個(gè)元組2.笛卡爾積(CartesianProduct)5)笛卡爾積的表示方法笛卡爾積可表示為一個(gè)二維表。表中的每行對應(yīng)一個(gè)元組,表中的每列對應(yīng)一個(gè)域。在上例中,12個(gè)元組可列成一張二維表

3.關(guān)系(Relation)1)關(guān)系的定義D1×D2×…×Dn的子集叫作在域D1,D2,…,Dn上的關(guān)系,表示為:R(D1,D2,…,Dn)R:關(guān)系名n:關(guān)系的目或度(Degree)注意:關(guān)系是笛卡爾積的有限子集。無限關(guān)系在數(shù)據(jù)庫系統(tǒng)中是無意義的。由于笛卡爾積不滿足交換律,即

(d1,d2,…,dn)≠(d2,d1,…,dn)但關(guān)系滿足交換律,即(d1,d2,…,di,dj

,…,dn)=(d1,d2,…,dj

,di

,…,dn)(i,j=1,2,…,n)解決方法:為關(guān)系的每個(gè)列附加一個(gè)屬性名以取消關(guān)系元組的有序性3.關(guān)系(Relation)例在表2.1的笛卡爾積中取出有實(shí)際意義的元組來構(gòu)造關(guān)系SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)關(guān)系名,屬性名假設(shè):導(dǎo)師與專業(yè):1:1,導(dǎo)師與研究生:1:n于是:SAP關(guān)系可以包含三個(gè)元組{(張清玫,計(jì)算機(jī)專業(yè),李勇),

(張清玫,計(jì)算機(jī)專業(yè),劉晨),

(劉逸,信息專業(yè),王敏)}3.關(guān)系(Relation)2)元組關(guān)系中的每個(gè)元素是關(guān)系中的元組,通常用t表示。3)單元關(guān)系與二元關(guān)系當(dāng)n=1時(shí),稱該關(guān)系為單元關(guān)系(Unaryrelation)。當(dāng)n=2時(shí),稱該關(guān)系為二元關(guān)系(Binaryrelation)。4)關(guān)系的表示關(guān)系也是一個(gè)二維表,表的每行對應(yīng)一個(gè)元組,表的每列對應(yīng)一個(gè)域。表2.2SAP關(guān)系SUPERVISORSPECIALITYPOSTGRADUATE張清玫計(jì)算機(jī)專業(yè)李勇張清玫計(jì)算機(jī)專業(yè)劉晨劉逸信息專業(yè)王敏3.關(guān)系(Relation)5)屬性關(guān)系中不同列可以對應(yīng)相同的域,為了加以區(qū)分,必須對每列起一個(gè)名字,稱為屬性(Attribute)。n目關(guān)系必有n個(gè)屬性。6)碼候選碼(Candidatekey)若關(guān)系中的某一屬性組的值能唯一地標(biāo)識一個(gè)元組,則稱該屬性組為候選碼。在最簡單的情況下,候選碼只包含一個(gè)屬性。全碼(All-key)在最極端的情況下,關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱為全碼(All-key)3.關(guān)系(Relation)主碼若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primarykey)主碼的諸屬性稱為主屬性(Primeattribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-keyattribute)7)三類關(guān)系基本關(guān)系(基本表或基表)實(shí)際存在的表,是實(shí)際存儲數(shù)據(jù)的邏輯表示查詢表查詢結(jié)果對應(yīng)的表視圖表由基本表或其他視圖表導(dǎo)出的表,是虛表,不對應(yīng)實(shí)際存儲的數(shù)據(jù)8)基本關(guān)系的性質(zhì)①列是同質(zhì)的(Homogeneous)每一列中的分量是同一類型的數(shù)據(jù),來自同一個(gè)域。②

不同的列可出自同一個(gè)域其中的每一列稱為一個(gè)屬性,不同的屬性要給予不同的屬性名。③列的順序無所謂列的次序可以任意交換。④任意兩個(gè)元組不能完全相同⑤

行的順序無所謂行的次序可以任意交換⑥分量必須取原子值每一個(gè)分量都必須是不可分的數(shù)據(jù)項(xiàng)。對于關(guān)系作為關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)時(shí),需要給予如下的限制和擴(kuò)充:限制關(guān)系是有限集合(無限集合在數(shù)據(jù)庫中無意義)通過為關(guān)系的每個(gè)列附加一個(gè)屬性名的方法取消關(guān)系元組的有序性。這樣關(guān)系具有以下性質(zhì):上例中也可以只給出兩個(gè)域:人(PERSON)=張清玫,劉逸,李勇,劉晨,王敏專業(yè)(SPECIALITY)=計(jì)算機(jī)專業(yè),信息專業(yè)表2.2SAP關(guān)系SUPERVISORSPECIALITYPOSTGRADUATE張清玫計(jì)算機(jī)專業(yè)李勇張清玫計(jì)算機(jī)專業(yè)劉晨劉逸信息專業(yè)王敏SAP關(guān)系的導(dǎo)師屬性和研究生屬性都從PERSON域中取值為了避免混淆,必須給這兩個(gè)屬性取不同的屬性名,而不能直接使用域名。例如定義:導(dǎo)師屬性名為SUPERVISOR-PERSON(或SUPERVISOR)研究生屬性名為POSTGRADUATE-PERSON(或POSTGRADUATE)SUPERVISORSPECIALITYPOSTGRADUATEPG1PG2張清玫計(jì)算機(jī)專業(yè)李勇劉晨劉逸信息專業(yè)王敏表2.3非規(guī)范化關(guān)系2.1.2關(guān)系模式1.什么是關(guān)系模式2.定義關(guān)系模式3.關(guān)系模式與關(guān)系1.什么是關(guān)系模式關(guān)系模式(RelationSchema)是型關(guān)系是值關(guān)系模式是對關(guān)系的描述:元組集合的結(jié)構(gòu)屬性構(gòu)成屬性來自的域?qū)傩耘c域之間的映象關(guān)系元組語義以及完整性約束條件屬性間的數(shù)據(jù)依賴關(guān)系集合2.定義關(guān)系模式關(guān)系模式可以形式化地表示為:R(U,D,dom,F(xiàn))其中:R

關(guān)系名U

組成該關(guān)系的屬性名集合D

屬性組U中屬性所來自的域dom

屬性向域的映象集合F

屬性間的數(shù)據(jù)依賴關(guān)系集合例:導(dǎo)師和研究生出自同一個(gè)域——人,取不同的屬性名,并在模式中定義屬性向域的映象,即說明它們分別出自哪個(gè)域:dom(SUPERVISOR-PERSON)=dom(POSTGRADUATE-PERSON)=PERSON2.定義關(guān)系模式關(guān)系模式通??梢院営洖?/p>

R(U)

或R(A1,A2,…,An)其中:

R

關(guān)系名A1,A2,…,An

屬性名U

是屬性的集合U={A1,A2,…,An}注:域名及屬性向域的映象常常直接說明為屬性的類型、長度。3.關(guān)系模式與關(guān)系關(guān)系模式對關(guān)系的描述。是靜態(tài)的、穩(wěn)定的。關(guān)系關(guān)系模式在某一時(shí)刻的狀態(tài)或內(nèi)容。是動(dòng)態(tài)的、隨時(shí)間不斷變化的。關(guān)系模式和關(guān)系往往統(tǒng)稱為關(guān)系,通過上下文加以區(qū)別2.1.3關(guān)系數(shù)據(jù)庫1.關(guān)系數(shù)據(jù)庫在一個(gè)給定的應(yīng)用領(lǐng)域中,所有實(shí)體及實(shí)體之間聯(lián)系的關(guān)系的集合構(gòu)成一個(gè)關(guān)系數(shù)據(jù)庫。2.關(guān)系數(shù)據(jù)庫的型與值關(guān)系數(shù)據(jù)庫也有型和值之分關(guān)系數(shù)據(jù)庫的型稱為關(guān)系數(shù)據(jù)庫模式,是對關(guān)系數(shù)據(jù)庫的描述。若干域的定義在這些域上定義的若干關(guān)系模式關(guān)系數(shù)據(jù)庫的值是這些關(guān)系模式在某一時(shí)刻對應(yīng)的關(guān)系的集合,通常簡稱為關(guān)系數(shù)據(jù)庫。2.2關(guān)系操作2.2.1基本的關(guān)系操作查詢選擇、投影、連接、除、并、交、差數(shù)據(jù)更新插入、刪除、修改查詢的表達(dá)能力是其中最主要的部分關(guān)系操作的特點(diǎn):集合操作方式即操作的對象和結(jié)果都集合。2.2.2關(guān)系數(shù)據(jù)語言的分類關(guān)系代數(shù)語言

用對關(guān)系的運(yùn)算來表達(dá)查詢要求典型代表:ISBL關(guān)系演算語言:用謂詞來表達(dá)查詢要求元組關(guān)系演算語言謂詞變元的基本對象是元組變量典型代表:APLHA,QUEL域關(guān)系演算語言謂詞變元的基本對象是域變量典型代表:QBE具有關(guān)系代數(shù)和關(guān)系演算雙重特點(diǎn)的語言典型代表:SQL2.3關(guān)系的完整性2.3.1關(guān)系的三類完整性約束關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件。關(guān)系模型中三類完整性約束:實(shí)體完整性參照完整性用戶定義的完整性實(shí)體完整性和參照完整性是關(guān)系模型必須滿足的完整性約束條件,被稱作是關(guān)系的兩個(gè)不變性,應(yīng)該由關(guān)系系統(tǒng)自動(dòng)支持。2.3.2實(shí)體完整性一、實(shí)體完整性規(guī)則(EntityIntegrity):若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值。例:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)POSTGRADUATE屬性為主碼(假設(shè)研究生不會(huì)重名),則其不能取空值二、關(guān)系模型必須遵守實(shí)體完整性規(guī)則的原因(1)

實(shí)體完整性規(guī)則是針對基本關(guān)系而言的。一個(gè)基本表通常對應(yīng)現(xiàn)實(shí)世界的一個(gè)實(shí)體集或多對多聯(lián)系。(2)

現(xiàn)實(shí)世界中的實(shí)體和實(shí)體間的聯(lián)系都是可區(qū)分的,即它們具有某種唯一性標(biāo)識。(3)

相應(yīng)地,關(guān)系模型中以主碼作為唯一性標(biāo)識。(4)主碼中的屬性即主屬性不能取空值。注意:實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值。例:選修(學(xué)號,課程號,成績)“學(xué)號、課程號”為主碼,則兩個(gè)屬性都不能取空值。2.3.3參照完整性1.關(guān)系間的引用在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來描述的,因此可能存在著關(guān)系與關(guān)系間的引用。例1學(xué)生實(shí)體、專業(yè)實(shí)體以及專業(yè)與學(xué)生間的一對多聯(lián)系。學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)專業(yè)(專業(yè)號,專業(yè)名)專業(yè)號專業(yè)名01信息02數(shù)學(xué)03計(jì)算機(jī)學(xué)生專業(yè)學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號”屬性只取下面兩類值:(1)空值,表示尚未給該學(xué)生分配專業(yè)(2)非空值,這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的“專業(yè)號”值,表示該學(xué)生不可能分配到一個(gè)不存在的專業(yè)中。學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡)課程(課程號,課程名,學(xué)分)選修(學(xué)號,課程號,成績)例2學(xué)生、課程、學(xué)生與課程之間的多對多聯(lián)系。學(xué)生課程學(xué)生選課

選修(學(xué)號,課程號,成績)“學(xué)號”和“課程號”是選修關(guān)系中的主屬性按照實(shí)體完整性和參照完整性規(guī)則,它們只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值。例3學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系(一對多)學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡,班長)學(xué)生(學(xué)號,姓名,性別,專業(yè)號,年齡,班長)“班長”屬性值可以取兩類值:(1)空值,表示該學(xué)生所在班級尚未選出班長,或該學(xué)生本人即是班長;(2)非空值,這時(shí)該值必須是本關(guān)系中某個(gè)元組的學(xué)號值。學(xué)生2.外碼(ForeignKey)設(shè)F是基本關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的碼。如果F與基本關(guān)系S的主碼Ks相對應(yīng),則稱F是基本關(guān)系R的外碼基本關(guān)系R稱為參照關(guān)系基本關(guān)系S稱為被參照關(guān)系或目標(biāo)關(guān)系。說明:關(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í),往往取相同的名字,以便于識別。3.參照完整性規(guī)則若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對于R中每個(gè)元組在F上的值必須為:或者取空值(F的每個(gè)屬性值均為空值)或者等于S中某個(gè)元組的主碼值。2.3.4用戶定義的完整性用戶定義的完整性是針對某一具體關(guān)系數(shù)據(jù)庫的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。關(guān)系模型應(yīng)提供定義和檢驗(yàn)這類完整性的機(jī)制,以便用統(tǒng)一的系統(tǒng)的方法處理它們,而不要由應(yīng)用程序承擔(dān)這一功能。例: 課程(課程號,課程名,學(xué)分)“課程號”屬性必須取唯一值非主屬性“課程名”也不能取空值“學(xué)分”屬性只能取值{1,2,3,4,5}2.4關(guān)系代數(shù)一、概述1.關(guān)系代數(shù)運(yùn)算對象:關(guān)系運(yùn)算結(jié)果:關(guān)系運(yùn)算符:四類傳統(tǒng)的集合運(yùn)算:并、差、交、廣義笛卡爾積專門的關(guān)系運(yùn)算選擇、投影、連接、除2.運(yùn)算的三要素:3.關(guān)系代數(shù)運(yùn)算的三個(gè)要素4.關(guān)系代數(shù)運(yùn)算的分類5.表示記號一種抽象的查詢語言用對關(guān)系的運(yùn)算來表達(dá)查詢運(yùn)算對象、運(yùn)算結(jié)果、運(yùn)算符關(guān)系代數(shù)運(yùn)算符集合運(yùn)算符將關(guān)系看成元組的集合運(yùn)算是從關(guān)系的“水平”方向即行的角度來進(jìn)行專門的關(guān)系運(yùn)算符不僅涉及行而且涉及列算術(shù)比較符輔助專門的關(guān)系運(yùn)算符進(jìn)行操作邏輯運(yùn)算符輔助專門的關(guān)系運(yùn)算符進(jìn)行操作集合運(yùn)算符∪-∩×并差交廣義笛卡爾積比較運(yùn)算符>≥<≤=≠大于大于等于小于小于等于等于不等于運(yùn)算符含義運(yùn)算符含義表2.4關(guān)系代數(shù)運(yùn)算符專門的關(guān)系運(yùn)算符σπ

÷選擇投影連接除邏輯運(yùn)算符∧∨非與或5.表示記號(1)R,tR,t[Ai]

設(shè)關(guān)系模式為R(A1,A2,…,An),它的一個(gè)關(guān)系設(shè)為R。tR表示t是R的一個(gè)元組t[Ai]則表示元組t中相應(yīng)于屬性Ai的一個(gè)分量

A則表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的屬性組。(2)A,t[A],A

若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,則A稱為屬性列或域列。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元組t在屬性列A上諸分量的集合。5.表示記號(3)trtsR為n目關(guān)系,S為m目關(guān)系。trR,tsS,trts稱為元組的連接。它是一個(gè)n+m列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組。(4)象集Zx

給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。當(dāng)t[X]=x時(shí),x在R中的象集(ImagesSet)為:

Zx={t[Z]|tR,t[X]=x}它表示R中屬性組X上值為x的諸元組在Z上分量的集合。2.4.1傳統(tǒng)的集合運(yùn)算并差交廣義笛卡爾積R∪S={t|tR∨tS}

R-S={t|tR∧tS}R∩S={t|tR∧tS}R∩S=R–(R-S)要求R和S具有相同的目n(即兩個(gè)關(guān)系都有n個(gè)屬性)相應(yīng)的屬性取自同一個(gè)域R×S={trts|tr

R∧tsS}R(n目關(guān)系,k1個(gè)元組) S

(m目關(guān)系,k2個(gè)元組)R×S

列:(n+m)列的元組的集合;元組的前n列是關(guān)系R的一個(gè)元組;后m列是關(guān)系S的一個(gè)元組。行:k1×k2個(gè)元組ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S

R-S

ABCa1b1c1ABCa1b2c2a2b2c1R∩S

R×S

ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c12.4.2專門的關(guān)系運(yùn)算選擇投影連接除1.選擇(Selection)1)

選擇又稱為限制(Restriction)2)

選擇運(yùn)算符的含義在關(guān)系R中選擇滿足給定條件的諸元組。

σF(R)={t|tR∧F(t)='真'}F:選擇條件,是一個(gè)邏輯表達(dá)式,基本形式為:

[(]

X1θY1[)][φ[(]X2θY2[)]]…θ:比較運(yùn)算符(>,≥,<,≤,=或<>)X1,Y1等:屬性名、常量、簡單函數(shù);屬性名也可以用它的序號來代替;φ:邏輯運(yùn)算符(∧或∨)[]:表示任選項(xiàng)…:表示上述格式可以重復(fù)下去1.選擇(Selection)3)

選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算σ4)

舉例4)舉例:設(shè)有一個(gè)學(xué)生-課程數(shù)據(jù)庫,包括學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC。學(xué)號Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19ISStudentCourse課程號Cno課程名Cname先行課Cpno學(xué)分Ccredit1數(shù)據(jù)庫542數(shù)學(xué)23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理27PASCAL語言64SC學(xué)號Sno課程號Cno成績Grade9500119295001285950013889500229095002380[例1]查詢信息系(IS系)全體學(xué)生

σSdept

='IS'

(Student)

或σ5='IS'

(Student)SnoSnameSsexSageSdept95002劉晨女19IS95004張立男19IS[例2]查詢年齡小于20歲的學(xué)生

σSage<20(Student)

或σ4<20(Student)SnoSnameSsexSageSdept95002劉晨女19IS95003王敏女18MA95004張立男19IS2.投影(Projection)1)投影運(yùn)算符的含義從R中選擇出若干屬性列組成新的關(guān)系

πA(R)={t[A]|tR}A:R中的屬性列2)投影操作主要是從列的角度進(jìn)行運(yùn)算π注:但投影之后不僅取消了原關(guān)系中的某些列,而且還可能取消某些元組(避免重復(fù)行)3)舉例[例3]查詢學(xué)生的姓名和所在系 即求Student關(guān)系上學(xué)生姓名和所在系兩個(gè)屬性上的投影

πSname,Sdept(Student)或π2,5(Student)結(jié)果:SnameSdept李勇CS劉晨IS王敏MA張立ISSdeptCSISMA[例4]查詢學(xué)生關(guān)系Student中都有哪些系

πSdept(Student)結(jié)果:3.連接(Join)1)連接也稱為θ連接2)連接運(yùn)算的含義從兩個(gè)關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組

RS={|tr

R∧ts

S∧tr[A]θts[B]}

AθBtrtsA和B:分別為R和S上度數(shù)相等且可比的屬性組θ:比較運(yùn)算符

連接運(yùn)算從R和S的廣義笛卡爾積R×S中選取(R關(guān)系)在A屬性組上的值與(S關(guān)系)在B屬性組上值滿足比較關(guān)系的元組。3.連接(Join)3)兩類常用連接運(yùn)算等值連接(equijoin)

θ為“=”的連接運(yùn)算稱為等值連接

等值連接的含義:從關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組,即等值連接為:RS={|tr

R∧tsS∧tr[A]=ts[B]}A=Btrts自然連接(Naturaljoin)

自然連接是一種特殊的等值連接兩個(gè)關(guān)系中進(jìn)行比較的分量必須是相同的屬性組,在結(jié)果中把重復(fù)的屬性列去掉。自然連接的含義:(R和S具有相同的屬性組B)

R

S={|trR∧tsS∧tr[B]=ts[B]}

trts3.連接(Join)4)一般的連接操作是從行的角度進(jìn)行運(yùn)算。

AθBRS自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。RSABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310C<ER

S

AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32

等值連接R.B=S.BR

S

ABCEa1b153a1b267a2b3810a2b382

自然連接R

S[例5]外連接外連接(Outerjoin):

在自然連接中把舍棄的元組也保存在結(jié)果關(guān)系中,其它屬性上填空值(Null)左連接(Leftouterjoin):

只保留左邊關(guān)系要舍去的元組右連接(Rightouterjoin):

只保留右邊關(guān)系要舍去的元組ABCEa1b153a1b267a2b3810a2b382a2b412NullNullb5Null2ABCEa1b153a1b267a2b3810a2b382a2b412NullABCEa1b153a1b267a2b3810a2b382Nullb5Null2(a)R、S外連接(b)R、S左連接(c)R、S右連接4.除(Division)1)定義給定關(guān)系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域集。R與S的除運(yùn)算得到一個(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)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算÷RS3)舉例

[例6](p62)RSABCa1b1c2a2b3c7a3b4c6a1b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論