數(shù)據(jù)庫(kù)原理與應(yīng)用:第3章 關(guān)系數(shù)據(jù)庫(kù)_第1頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用:第3章 關(guān)系數(shù)據(jù)庫(kù)_第2頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用:第3章 關(guān)系數(shù)據(jù)庫(kù)_第3頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用:第3章 關(guān)系數(shù)據(jù)庫(kù)_第4頁(yè)
數(shù)據(jù)庫(kù)原理與應(yīng)用:第3章 關(guān)系數(shù)據(jù)庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩104頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)系統(tǒng)概論第三章關(guān)系數(shù)據(jù)庫(kù)第三章關(guān)系數(shù)據(jù)庫(kù)3.1關(guān)系的數(shù)學(xué)定義3.2關(guān)系的完整性3.3關(guān)系代數(shù)關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介系統(tǒng)而嚴(yán)格地提出關(guān)系模型的是美國(guó)IBM公司的E.F.Codd1970年提出關(guān)系數(shù)據(jù)模型E.F.Codd,“ARelationalModelofDataforLargeSharedDataBanks”,《CommunicationoftheACM》,1970之后,提出了關(guān)系代數(shù)和關(guān)系演算的概念1972年提出了關(guān)系的第一、第二、第三范式1974年提出了關(guān)系的BC范式關(guān)系數(shù)據(jù)庫(kù)簡(jiǎn)介關(guān)系數(shù)據(jù)庫(kù)應(yīng)用數(shù)學(xué)方法來(lái)處理數(shù)據(jù)庫(kù)中的數(shù)據(jù)80年代后,關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)成為最重要、最流行的數(shù)據(jù)庫(kù)系統(tǒng)3.1關(guān)系的數(shù)學(xué)定義⒈域(Domain)

2.笛卡爾積(CartesianProduct)

3.關(guān)系(Relation)

4.關(guān)系模式(RelationSchema)⒈域(Domain)域是一組具有相同數(shù)據(jù)類(lèi)型的值的集合。例:整數(shù)實(shí)數(shù)介于某個(gè)取值范圍的整數(shù)指定長(zhǎng)度的字符串集合{‘男’,‘女’}2.笛卡爾積(CartesianProduct)1)

笛卡爾積給定一組域D1,D2,…,Dn,這些域中可以有相同的。D1,D2,…,Dn的笛卡爾積為:D1×D2×…×Dn={(d1,d2,…,dn)|di

Di,i=1,2,…,n}所有域的所有取值的一個(gè)組合不能重復(fù)笛卡爾積(續(xù))例給出三個(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è),王敏)}笛卡爾積(續(xù))2)元組(Tuple)笛卡爾積中每一個(gè)元素(d1,d2,…,dn)叫作一個(gè)n元組(n-tuple)或簡(jiǎn)稱元組。

3)

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

笛卡爾積(續(xù))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è)元組笛卡爾積(續(xù))5)笛卡爾積的表示方法笛卡爾積可表示為一個(gè)二維表。表中的每行對(duì)應(yīng)一個(gè)元組,表中的每列對(duì)應(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)系(續(xù))例在表2.1的笛卡爾積中取出有實(shí)際意義的元組來(lái)構(gòu)造關(guān)系關(guān)系:SAP(SUPERVISOR,SPECIALITY,POSTGRADUATE)關(guān)系名,屬性名假設(shè):專業(yè)與導(dǎo)師:1:n,導(dǎo)師與研究生:1:n于是:SAP關(guān)系可以包含三個(gè)元組

{(張清玫,信息專業(yè),李勇),

(張清玫,信息專業(yè),劉晨),

(劉逸,信息專業(yè),王敏)}

關(guān)系(續(xù))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)。關(guān)系(續(xù))4)

關(guān)系的表示關(guān)系也是一個(gè)二維表,表的每行對(duì)應(yīng)一個(gè)元組,表的每列對(duì)應(yīng)一個(gè)域。關(guān)系(續(xù))5)屬性對(duì)每列起一個(gè)名字,稱為屬性(Attribute)。n目關(guān)系必有n個(gè)屬性。關(guān)系(續(xù))6)

碼候選碼(Candidatekey)若關(guān)系中的某屬性(組)的值能唯一地標(biāo)識(shí)一個(gè)元組,則稱該屬性組為候選碼在最簡(jiǎn)單的情況下,候選碼只包含一個(gè)屬性。在最極端的情況下,關(guān)系模式的所有屬性組是這個(gè)關(guān)系模式的候選碼,稱為全碼(All-key)關(guān)系(續(xù))主碼若一個(gè)關(guān)系有多個(gè)候選碼,則選定其中一個(gè)為主碼(Primarykey)候選碼的屬性稱為主屬性(Primeattribute)。不包含在任何侯選碼中的屬性稱為非碼屬性(Non-keyattribute)關(guān)系的性質(zhì)①列是同質(zhì)的(Homogeneous)每一列中的分量是同一類(lèi)型的數(shù)據(jù),來(lái)自同一個(gè)域②不同的列可出自同一個(gè)域其中的每一列稱為一個(gè)屬性不同的屬性要給予不同的屬性名上例中也可以只給出兩個(gè)域:人(PERSON)={張清玫,劉逸,李勇,劉晨,王敏}專業(yè)(SPECIALITY)={計(jì)算機(jī)專業(yè),信息專業(yè)}SAP關(guān)系的導(dǎo)師屬性和研究生屬性都從PERSON域中取值為了避免混淆,必須給這兩個(gè)屬性取不同的屬性名,而不能直接使用域名。例如定義:導(dǎo)師屬性名為SUPERVISOR-PERSON(或SUPERVISOR)研究生屬性名為POSTGRADUATE-PERSON或(POSTGRADUATE)③列的順序無(wú)所謂列的次序可以任意交換④任意兩個(gè)元組不能完全相同由笛卡爾積的性質(zhì)決定⑤行的順序無(wú)所謂行的次序可以任意交換⑥每一個(gè)分量都必須是不可分的數(shù)據(jù)項(xiàng)。這是規(guī)范條件中最基本的一條4.關(guān)系模式關(guān)系模式是型關(guān)系是值關(guān)系模式是對(duì)關(guān)系的描述關(guān)系名屬性構(gòu)成屬性來(lái)自的域?qū)傩耘c域之間的映象關(guān)系屬性間的數(shù)據(jù)依賴關(guān)系集合關(guān)系模式可以形式化地表示為:

R(U,D,dom,F(xiàn))

R關(guān)系名

U

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

D

屬性組U中屬性所來(lái)自的域

dom

屬性向域的映象集合

F

屬性間的數(shù)據(jù)依賴關(guān)系集合關(guān)系模式通??梢院?jiǎn)記為

R(U)

R(A1,A2,…,An)

R關(guān)系名A1,A2,…,An屬性名關(guān)系模式與關(guān)系關(guān)系模式對(duì)關(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)系通過(guò)上下文加以區(qū)別3.2關(guān)系的完整性一、實(shí)體完整性二、參照完整性三、用戶定義的完整性一、實(shí)體完整性實(shí)體完整性規(guī)則(EntityIntegrity)若屬性A是基本關(guān)系R的主屬性,則屬性A不能取空值實(shí)體完整性(續(xù))注意實(shí)體完整性規(guī)則規(guī)定基本關(guān)系的所有主屬性都不能取空值例選修(學(xué)號(hào),課程號(hào),成績(jī))“學(xué)號(hào)+課程號(hào)”為主碼,則兩個(gè)屬性都不能取空值。二、參照完整性1.關(guān)系間的引用2.外碼3.參照完整性規(guī)則1.關(guān)系間的引用在關(guān)系模型中實(shí)體及實(shí)體間的聯(lián)系都是用關(guān)系來(lái)描述的,因此可能存在著關(guān)系與關(guān)系間的引用。例1學(xué)生實(shí)體、專業(yè)實(shí)體以及專業(yè)與學(xué)生間的一對(duì)多聯(lián)系學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)專業(yè)(專業(yè)號(hào),專業(yè)名)

學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)

專業(yè)(專業(yè)號(hào),專業(yè)名)

關(guān)系間的引用(續(xù))例2學(xué)生、課程、學(xué)生與課程之間的多對(duì)多聯(lián)系學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡)課程(課程號(hào),課程名,學(xué)分)選修(學(xué)號(hào),課程號(hào),成績(jī))

學(xué)生學(xué)生選課課程關(guān)系間的引用(續(xù))例3學(xué)生實(shí)體及其內(nèi)部的領(lǐng)導(dǎo)聯(lián)系(一對(duì)多)

學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))2.外碼(ForeignKey)設(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)系(ReferencingRelation)基本關(guān)系S稱為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(TargetRelation)。外碼(續(xù))說(shuō)明外碼并不一定要與相應(yīng)的主碼同名當(dāng)外碼與相應(yīng)的主碼屬于不同關(guān)系時(shí),往往取相同的名字,以便于識(shí)別3.參照完整性規(guī)則若屬性(或?qū)傩越M)F是基本關(guān)系R的外碼它與基本關(guān)系S的主碼Ks相對(duì)應(yīng)(基本關(guān)系R和S不一定是不同的關(guān)系),則對(duì)于R中每個(gè)元組在F上的值必須為:

或者取空值(F的每個(gè)屬性值均為空值)

或者等于S中某個(gè)元組的主碼值。參照完整性規(guī)則(續(xù))學(xué)生關(guān)系中每個(gè)元組的“專業(yè)號(hào)”屬性只取下面兩類(lèi)值:(1)空值,表示尚未給該學(xué)生分配專業(yè)(2)非空值,這時(shí)該值必須是專業(yè)關(guān)系中某個(gè)元組的“專業(yè)號(hào)”值,表示該學(xué)生不可能分配到一個(gè)不存在的專業(yè)中參照完整性規(guī)則(續(xù))

選修(學(xué)號(hào),課程號(hào),成績(jī))“學(xué)號(hào)”和“課程號(hào)”是選修關(guān)系中的主屬性按照實(shí)體完整性和參照完整性規(guī)則,它們只能取相應(yīng)被參照關(guān)系中已經(jīng)存在的主碼值參照完整性規(guī)則(續(xù))學(xué)生(學(xué)號(hào),姓名,性別,專業(yè)號(hào),年齡,班長(zhǎng))“班長(zhǎng)”屬性值可以取兩類(lèi)值:(1)空值,表示該學(xué)生所在班級(jí)尚未選出班長(zhǎng),或該學(xué)生本人即是班長(zhǎng);(2)非空值,這時(shí)該值必須是本關(guān)系中某個(gè)元組的學(xué)號(hào)值三、用戶定義的完整性用戶定義的完整性是針對(duì)某一具體關(guān)系數(shù)據(jù)庫(kù)的約束條件,反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語(yǔ)義要求。用戶定義的完整性(續(xù))例:

課程(課程號(hào),課程名,學(xué)分)“課程名”屬性必須取唯一值非主屬性“課程名”也不能取空值“學(xué)分”屬性只能取值{1,2,3,4}3.3關(guān)系代數(shù)

概述

傳統(tǒng)的集合運(yùn)算專門(mén)的關(guān)系運(yùn)算概述1.關(guān)系代數(shù)2.關(guān)系代數(shù)運(yùn)算的三個(gè)要素3.關(guān)系代數(shù)運(yùn)算的分類(lèi)4.表示記號(hào)概述1.關(guān)系代數(shù) 一種抽象的查詢語(yǔ)言 用對(duì)關(guān)系的運(yùn)算來(lái)表達(dá)查詢概述(續(xù))2.關(guān)系代數(shù)運(yùn)算的三個(gè)要素運(yùn)算對(duì)象:關(guān)系運(yùn)算結(jié)果:關(guān)系運(yùn)算符:四類(lèi)概述(續(xù))集合運(yùn)算符將關(guān)系看成元組的集合運(yùn)算是從關(guān)系的“水平”方向即行的角度來(lái)進(jìn)行專門(mén)的關(guān)系運(yùn)算符不僅涉及行而且涉及列算術(shù)比較符輔助專門(mén)的關(guān)系運(yùn)算符進(jìn)行操作邏輯運(yùn)算符輔助專門(mén)的關(guān)系運(yùn)算符進(jìn)行操作集合運(yùn)算符∪-∩×并差交廣義笛卡爾積比較運(yùn)算符>≥<≤=≠大于大于等于小于小于等于等于不等于運(yùn)算符含義運(yùn)算符含義表2.4關(guān)系代數(shù)運(yùn)算符

概述(續(xù))專門(mén)的關(guān)系運(yùn)算符σπ

÷選擇投影連接除邏輯運(yùn)算符

∧∨非與或運(yùn)算符含義運(yùn)算符含義表2.4關(guān)系代數(shù)運(yùn)算符(續(xù))

概述(續(xù))概述(續(xù))3.關(guān)系代數(shù)運(yùn)算的分類(lèi) 傳統(tǒng)的集合運(yùn)算并、差、交、廣義笛卡爾積 專門(mén)的關(guān)系運(yùn)算選擇、投影、連接、除概述(續(xù))4.表示記號(hào)

(1)R,t

R,t[Ai]

設(shè)關(guān)系模式為R(A1,A2,…,An)它的一個(gè)關(guān)系設(shè)為R。t

R表示t是R的一個(gè)元組t[Ai]則表示元組t中對(duì)應(yīng)于屬性Ai的一個(gè)分量

概述(續(xù))(2)A,t[A],A

若A={Ai1,Ai2,…,Aik},其中Ai1,Ai2,…,Aik是A1,A2,…,An中的一部分,則A稱為屬性列或?qū)傩越M。t[A]=(t[Ai1],t[Ai2],…,t[Aik])表示元組t在屬性列A上諸分量的集合。A則表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的屬性組。

概述(續(xù))(3)tr

tsR為n目關(guān)系,S為m目關(guān)系。tr

R,ts

S,

tr

ts稱為元組的連接。它是一個(gè)n+m列的元組,前n個(gè)分量為R中的一個(gè)n元組,后m個(gè)分量為S中的一個(gè)m元組。概述(續(xù))(4)象集Zx

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

Zx={t[Z]|t

R,t[X]=x}

它表示R中屬性組X上值為x的諸元組在Z上分量的集合。3.3.1傳統(tǒng)的集合運(yùn)算并差交廣義笛卡爾積1.并(Union)R和S具有相同的目n(即兩個(gè)關(guān)系都有n個(gè)屬性)相應(yīng)的屬性取自同一個(gè)域R∪S

仍為n目關(guān)系,由屬于R或?qū)儆赟的元組組成

R∪S={t|t

R∨t

S}并(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S

2.差(Difference)R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域R-S

仍為n目關(guān)系,由屬于R而不屬于S的所有元組組成

R-S={t|t

R∧t

S}差(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S

3.交(Intersection)R和S具有相同的目n相應(yīng)的屬性取自同一個(gè)域R∩S仍為n目關(guān)系,由既屬于R又屬于S的元組組成

R∩S={t|t

R∧t

S} R∩S=R–(R-S)交(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S

4.廣義笛卡爾積Rn目關(guān)系,k1個(gè)元組Sm目關(guān)系,k2個(gè)元組R×S

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

ts|tr

R∧ts

S}廣義笛卡爾積(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR×S

ABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1§3.3.2專門(mén)的關(guān)系運(yùn)算選擇投影連接除1.選擇(Selection)1)選擇又稱為限制(Restriction)2)選擇運(yùn)算符的含義在關(guān)系R中選擇滿足給定條件的諸元組

σF(R)={t|t

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

[(]

X1θY1[)][φ[(]X2θY2[)]]…θ:比較運(yùn)算符(>,≥,<,≤,=或<>)X1,Y1等:屬性名、常量、簡(jiǎn)單函數(shù);屬性名也可以用它的序號(hào)來(lái)代替;φ:邏輯運(yùn)算符(∧或∨)[]:表示任選項(xiàng)…:表示上述格式可以重復(fù)下去選擇(續(xù))3)選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算4)舉例 設(shè)有一個(gè)school數(shù)據(jù)庫(kù),包括student、teacher、course和score。σ選擇(續(xù))[例1]查詢95031班全體學(xué)生

σclass

='95031'(student)

或σ5='95031'(student)結(jié)果:選擇(續(xù))[例2]查詢?cè)?975-1-1后出生的學(xué)生

σsbirthday>'1975-1-1'(student)

或σ4>1975-1-1'(student)

結(jié)果:

2.投影(Projection)

1)投影運(yùn)算符的含義從R中選擇出若干屬性列組成新的關(guān)系

πA(R)={t[A]|t

R} A:R中的屬性列

2.投影(Projection)

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

πsname,class(student)

或π2,5(student)投影(續(xù))結(jié)果:投影(續(xù))[例4]查詢學(xué)生關(guān)系Student中都有哪些班

πclass(Student)

結(jié)果:3.連接(Join)

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

RS={|tr

R∧ts

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

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

AθBtr

ts

連接(續(xù))3)兩類(lèi)常用連接運(yùn)算等值連接(equijoin)什么是等值連接θ為“=”的連接運(yùn)算稱為等值連接

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

RS={|tr

R∧ts

S∧tr[A]=ts[B]}A=Btr

ts

連接(續(xù))自然連接(Naturaljoin)

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

R和S具有相同的屬性組B

R

S={|tr

R∧ts

S∧tr[B]=ts[B]}tr

ts連接(續(xù))4)一般的連接操作是從行的角度進(jìn)行運(yùn)算。 自然連接還需要取消重復(fù)列,所以是同時(shí)從行和列的角度進(jìn)行運(yùn)算。

AθBRS連接(續(xù))5)舉例

[例5]ABCa1b15a1b26a2b38a2b412BEb13b27b310b32b52RS連接(續(xù))R

S

AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310

C<E連接(續(xù))

等值連接R

SR.B=S.B

AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32連接(續(xù))

自然連接R

S

ABCEa1b153a1b267a2b3810a2b3824.除(Division)

給定關(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]除(續(xù))2)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算

3)舉例

[例6](p62)÷RS除(續(xù))ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2R÷SAa1RS分析:在關(guān)系R中,A可以取四個(gè)值{a1,a2,a3,a4}a1的象集為{(b1,c2),(b2,c3),(b2,c1)}

a2的象集為{(b3,c7),(b2,c3)}

a3的象集為{(b4,c6)}

a4的象集為{(b6,c6)}S在(B,C)上的投影為

{(b1,c2),(b2,c1),(b2,c3)}只有a1的象集包含了S在(B,C)屬性組上的投影所以R÷S={a1}5.綜合舉例

以學(xué)生-課程數(shù)據(jù)庫(kù)為例[例7]查詢至少選修3-105號(hào)課程和3-245號(hào)課程的學(xué)生號(hào)碼

5.綜合舉例

[例7]查詢至少選修1號(hào)課程和3號(hào)課程的學(xué)生號(hào)碼

首先建立一個(gè)臨時(shí)關(guān)系K:

然后求:πo(score)÷K

cno

3-105

3-245綜合舉例(續(xù))例7續(xù)πo(score)

101象集{3-105,6-166}

103象集{3-105,3-245}

105象集{3-105,3-245}

107象集{3-105,6-166}

108象集{3-105,6-166}

109象集{3-105,3-245}πcno(K)={3-105,3-245}

于是:πo(score)÷K={103,105,109}SELECTsnoFROMscoreWHEREcno='3-105'ANDsnoIN(SELECTsnoFROMscoreWHEREcno='3

溫馨提示

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