C語言-關(guān)系運(yùn)算及關(guān)系代數(shù)課件_第1頁
C語言-關(guān)系運(yùn)算及關(guān)系代數(shù)課件_第2頁
C語言-關(guān)系運(yùn)算及關(guān)系代數(shù)課件_第3頁
C語言-關(guān)系運(yùn)算及關(guān)系代數(shù)課件_第4頁
C語言-關(guān)系運(yùn)算及關(guān)系代數(shù)課件_第5頁
已閱讀5頁,還剩119頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

關(guān)系數(shù)據(jù)庫(kù)模型關(guān)系代數(shù)理論關(guān)系數(shù)據(jù)庫(kù)模型關(guān)系代數(shù)理論關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)模型概述關(guān)系數(shù)據(jù)模型的結(jié)構(gòu)關(guān)系數(shù)據(jù)模型的完整性規(guī)則關(guān)系代數(shù)關(guān)系演算關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)模型概述關(guān)系模型1.關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)2.關(guān)系數(shù)據(jù)模型的操縱(運(yùn)算)3.關(guān)系數(shù)據(jù)模型的完整性約束關(guān)系模型1.關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系數(shù)據(jù)操作關(guān)系數(shù)據(jù)模型的操作查詢選擇、投影、連接、除、并、交、差數(shù)據(jù)更新插入、刪除、修改關(guān)系數(shù)據(jù)操作關(guān)系數(shù)據(jù)模型的操作關(guān)系代數(shù)

概述

傳統(tǒng)的集合運(yùn)算專門的關(guān)系運(yùn)算關(guān)系代數(shù)概述概述1.關(guān)系代數(shù)2.運(yùn)算的三要素3.關(guān)系代數(shù)運(yùn)算的三個(gè)要素4.關(guān)系代數(shù)運(yùn)算的分類5.表示記號(hào)概述1.關(guān)系代數(shù)概述1.關(guān)系代數(shù) 一種抽象的查詢語言 用對(duì)關(guān)系的運(yùn)算來表達(dá)查詢概述1.關(guān)系代數(shù)概述(續(xù))2.關(guān)系代數(shù)運(yùn)算的三個(gè)要素運(yùn)算對(duì)象:關(guān)系運(yùn)算結(jié)果:關(guān)系運(yùn)算符:四類概述(續(xù))2.關(guān)系代數(shù)運(yùn)算的三個(gè)要素概述(續(xù))集合運(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)行操作概述(續(xù))集合運(yùn)算符集合運(yùn)算符∪-∩×并差交廣義笛卡爾積比較運(yùn)算符>≥<≤=≠大于大于等于小于小于等于等于不等于運(yùn)算符含義運(yùn)算符含義表關(guān)系代數(shù)運(yùn)算符

概述(續(xù))集合∪并比較運(yùn)算符>大于運(yùn)算符含義運(yùn)算符含義表關(guān)系代數(shù)專門的關(guān)系運(yùn)算符σπ

÷選擇投影連接除邏輯運(yùn)算符∧∨非與或運(yùn)算符含義運(yùn)算符含義表關(guān)系代數(shù)運(yùn)算符(續(xù))

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

(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è)分量概述(續(xù))5.表示記號(hào)概述(續(xù))(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上諸分量的集合。A則表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的屬性組。概述(續(xù))(2)A,t[A],A概述(續(xù))(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元組。概述(續(xù))(3)trts概述(續(xù))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上分量的集合。概述(續(xù))4)象集Zx關(guān)系代數(shù)

概述

傳統(tǒng)的集合運(yùn)算

專門的關(guān)系運(yùn)算關(guān)系代數(shù)

概述傳統(tǒng)的集合運(yùn)算并差交廣義笛卡爾積傳統(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∨tS}1.并(Union)R和S并(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S

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

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

R-S={t|tR∧tS}2.差(Difference)R和S差(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S

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

R∩S={t|t

R∧tS} R∩S=R–(R-S)3.交(Intersection)R和S交(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S

交(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa4.廣義笛卡爾積(ExtendedCartesianProduct)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∧tsS}4.廣義笛卡爾積(ExtendedCartesianP廣義笛卡爾積(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR×S

ABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1廣義笛卡爾積(續(xù))ABCa1b1c1a1b2c2a2b2c關(guān)系代數(shù)概述傳統(tǒng)的集合運(yùn)算專門的關(guān)系運(yùn)算關(guān)系代數(shù)概述專門的關(guān)系運(yùn)算選擇投影連接除專門的關(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等:屬性名、常量、簡(jiǎn)單函數(shù);屬性名也可以用它的序號(hào)來代替;φ:邏輯運(yùn)算符(∧或∨)[]:表示任選項(xiàng)…:表示上述格式可以重復(fù)下去1.選擇(Selection)1)選擇又稱為限制(Re選擇(續(xù))3)選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算4)舉例 設(shè)有一個(gè)學(xué)生-課程數(shù)據(jù)庫(kù),包括學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC。σ選擇(續(xù))3)選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算σ選擇(續(xù))學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19IS(a)

Student例1例2例4例3例9選擇(續(xù))學(xué)號(hào)姓名性別年齡所在系9500選擇(續(xù))(b)Course課程號(hào)課程名先行課學(xué)分CnoCnameCpnoCcredit1數(shù)據(jù)庫(kù)542數(shù)學(xué)

23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理

27PASCAL語言64例9選擇(續(xù))Course課程號(hào)課程名先行課學(xué)分CnoCname選擇(續(xù))

(c)SC學(xué)號(hào)課程號(hào)成績(jī)SnoCnoGrade9500119295001285950013889500229095002380例7例9選擇(續(xù))

(c)SC學(xué)號(hào)課程號(hào)成績(jī)SnoCno選擇(續(xù))[例1]查詢信息系(IS系)全體學(xué)生

σSdept

='IS'(Student)

或σ5='IS'(Student)結(jié)果:SnoSnameSsexSageSdept95002劉晨女19IS95004張立男19IS選擇(續(xù))[例1]查詢信息系(IS系)全體學(xué)生SnoSn選擇(續(xù))[例2]查詢年齡小于20歲的學(xué)生

σSage<20(Student)

或σ4<20(Student)

結(jié)果:

SnoSnameSsexSageSdept95002劉晨女19IS95003王敏女18MA95004張立男19IS

選擇(續(xù))[例2]查詢年齡小于20歲的學(xué)生SnoSnam2.投影(Projection)1)投影運(yùn)算符的含義從R中選擇出若干屬性列組成新的關(guān)系

πA(R)={t[A]|tR} A:R中的屬性列

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

πSname,Sdept(Student)

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

πSdept(Student)

結(jié)果:SdeptCSISMA投影(續(xù))[例4]查詢學(xué)生關(guān)系Student中都有哪些系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θBtrts3.連接(Join)1)連接也稱為θ連接AθBtr

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

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

RS={|tr

R∧tsS∧tr[A]=ts[B]}A=Btrts連接(續(xù))3)兩類常用連接運(yùn)算A=Btrts

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

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

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

R

S={|trR∧tsS∧tr[B]=ts[B]}trts連接(續(xù))自然連接(Naturaljoin)trt連接(續(xù))4)一般的連接操作是從行的角度進(jìn)行運(yùn)算。

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

AθBRS連接(續(xù))4)一般的連接操作是從行的角度進(jìn)行運(yùn)算。AθBR連接(續(xù))5)舉例

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

S

AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310

C<E連接(續(xù))RSAR.BCS.BEa1b15b連接(續(xù))

等值連接R

SR.B=S.B

AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32連接(續(xù))等值連接RSR.B=S.連接(續(xù))

自然連接R

S

ABCEa1b153a1b267a2b3810a2b382連接(續(xù))自然連接RSABCEa4)象集Z

給定一個(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上分量的集合。4)象集Z給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。當(dāng)t4)象集ZABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2R÷SAa1RS4)象集ZABCa1b1c2a2b3c7a3b4c6a1b24.除(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]4.除(Division)給定關(guān)系R(X,Y)和S除(續(xù))2)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算

÷RS除(續(xù))2)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算÷RS除(續(xù))ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2R÷SAa1RS除(續(xù))ABCa1b1c2a2b3c7a3b4c6a1b2c分析:在關(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}分析:在關(guān)系R中,A可以取四個(gè)值{a1,a2,a3,a4}5.綜合舉例以學(xué)生-課程數(shù)據(jù)庫(kù)為例[例7]查詢至少選修1號(hào)課程和3號(hào)課程的學(xué)生號(hào)碼

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

然后求:πSno.Cno(SC)÷K

Cno

1

35.綜合舉例以學(xué)生-課程數(shù)據(jù)庫(kù)為例Cno13綜合舉例(續(xù))例7續(xù)πSno.Cno(SC)

95001象集{1,2,3} 95002象集{2,3}

πCno(K)={1,3}

于是:πSno.Cno(SC)÷K={95001}SnoCno950011950012950013950022950023綜合舉例(續(xù))例7續(xù)πSno.Cno(SC)Sno綜合舉例(續(xù))[例8]查詢選修了2號(hào)課程的學(xué)生的學(xué)號(hào)。

πSno(σCno='2'(SC))={95001,95002}

綜合舉例(續(xù))[例8]查詢選修了2號(hào)課程的學(xué)生的學(xué)號(hào)。綜合舉例(續(xù))[例9]查詢至少選修了一門其直接先行課為5號(hào)課程的課程的學(xué)生姓名。

πSname(σCpno='5'(CourseSCStudent))或

πSname(σCpno='5'(Course)SCπSno,Sname(Student))或πSname(πSno(σCpno='5'(Course)SC)πSno,Sname(Student))

綜合舉例(續(xù))綜合舉例(續(xù))[例10]查詢選修了全部課程的學(xué)生號(hào)碼和姓名。

πSno,Cno(SC)÷πCno(Course)πSno,Sname(Student)

綜合舉例(續(xù))小結(jié)l

關(guān)系代數(shù)運(yùn)算 關(guān)系代數(shù)運(yùn)算 并、差、交、笛卡爾積、投影、選擇、連接、除 基本運(yùn)算 并、差、笛卡爾積、投影、選擇 交、連接、除 可以用5種基本運(yùn)算來表達(dá)引進(jìn)它們并不增加語言的能力,但可以簡(jiǎn)化表達(dá)小結(jié)l

關(guān)系代數(shù)運(yùn)算小結(jié)(續(xù))l

關(guān)系代數(shù)表達(dá)式關(guān)系代數(shù)運(yùn)算經(jīng)有限次復(fù)合后形成的式子l

典型關(guān)系代數(shù)語言ISBL(InformationSystemBaseLanguage)由IBMUnitedKingdom研究中心研制用于PRTV(PeterleeRelationalTestVehicle)實(shí)驗(yàn)系統(tǒng)小結(jié)(續(xù))l

關(guān)系代數(shù)表達(dá)式12/29/2022AnIntroductiontoDatabaseSystem62HomeworkReading:C.J.Date,AnIntroductiontoDatabaseSystems238R.Ramakrishnan,J.Gehrkepp,100-129丁寶康pp44-66練習(xí)R.Ramakrishnan,J.Gehrkepp,128-129,Exercise4.1-4.512/26/2022AnIntroductiontoD關(guān)系數(shù)據(jù)庫(kù)模型關(guān)系代數(shù)理論關(guān)系數(shù)據(jù)庫(kù)模型關(guān)系代數(shù)理論關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)模型概述關(guān)系數(shù)據(jù)模型的結(jié)構(gòu)關(guān)系數(shù)據(jù)模型的完整性規(guī)則關(guān)系代數(shù)關(guān)系演算關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)模型概述關(guān)系模型1.關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)2.關(guān)系數(shù)據(jù)模型的操縱(運(yùn)算)3.關(guān)系數(shù)據(jù)模型的完整性約束關(guān)系模型1.關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系數(shù)據(jù)操作關(guān)系數(shù)據(jù)模型的操作查詢選擇、投影、連接、除、并、交、差數(shù)據(jù)更新插入、刪除、修改關(guān)系數(shù)據(jù)操作關(guān)系數(shù)據(jù)模型的操作關(guān)系代數(shù)

概述

傳統(tǒng)的集合運(yùn)算專門的關(guān)系運(yùn)算關(guān)系代數(shù)概述概述1.關(guān)系代數(shù)2.運(yùn)算的三要素3.關(guān)系代數(shù)運(yùn)算的三個(gè)要素4.關(guān)系代數(shù)運(yùn)算的分類5.表示記號(hào)概述1.關(guān)系代數(shù)概述1.關(guān)系代數(shù) 一種抽象的查詢語言 用對(duì)關(guān)系的運(yùn)算來表達(dá)查詢概述1.關(guān)系代數(shù)概述(續(xù))2.關(guān)系代數(shù)運(yùn)算的三個(gè)要素運(yùn)算對(duì)象:關(guān)系運(yùn)算結(jié)果:關(guān)系運(yùn)算符:四類概述(續(xù))2.關(guān)系代數(shù)運(yùn)算的三個(gè)要素概述(續(xù))集合運(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)行操作概述(續(xù))集合運(yùn)算符集合運(yùn)算符∪-∩×并差交廣義笛卡爾積比較運(yùn)算符>≥<≤=≠大于大于等于小于小于等于等于不等于運(yùn)算符含義運(yùn)算符含義表關(guān)系代數(shù)運(yùn)算符

概述(續(xù))集合∪并比較運(yùn)算符>大于運(yùn)算符含義運(yùn)算符含義表關(guān)系代數(shù)專門的關(guān)系運(yùn)算符σπ

÷選擇投影連接除邏輯運(yùn)算符∧∨非與或運(yùn)算符含義運(yùn)算符含義表關(guān)系代數(shù)運(yùn)算符(續(xù))

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

(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è)分量概述(續(xù))5.表示記號(hào)概述(續(xù))(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上諸分量的集合。A則表示{A1,A2,…,An}中去掉{Ai1,Ai2,…,Aik}后剩余的屬性組。概述(續(xù))(2)A,t[A],A概述(續(xù))(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元組。概述(續(xù))(3)trts概述(續(xù))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上分量的集合。概述(續(xù))4)象集Zx關(guān)系代數(shù)

概述

傳統(tǒng)的集合運(yùn)算

專門的關(guān)系運(yùn)算關(guān)系代數(shù)

概述傳統(tǒng)的集合運(yùn)算并差交廣義笛卡爾積傳統(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∨tS}1.并(Union)R和S并(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b2c2a1b3c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∪S

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

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

R-S={t|tR∧tS}2.差(Difference)R和S差(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1ABCa1b2c2a1b3c2a2b2c1RSR-S

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

R∩S={t|t

R∧tS} R∩S=R–(R-S)3.交(Intersection)R和S交(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b2c2a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR∩S

交(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa4.廣義笛卡爾積(ExtendedCartesianProduct)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∧tsS}4.廣義笛卡爾積(ExtendedCartesianP廣義笛卡爾積(續(xù))ABCa1b1c1a1b2c2a2b2c1ABCa1b1c1a1b1c1a1b1c1a1b2c2a1b2c2a1b2c2a2b2c1a2b2c1a2b2c1ABCa1b2c2a1b3c2a2b2c1RSR×S

ABCa1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1a1b2c2a1b3c2a2b2c1廣義笛卡爾積(續(xù))ABCa1b1c1a1b2c2a2b2c關(guān)系代數(shù)概述傳統(tǒng)的集合運(yùn)算專門的關(guān)系運(yùn)算關(guān)系代數(shù)概述專門的關(guān)系運(yùn)算選擇投影連接除專門的關(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等:屬性名、常量、簡(jiǎn)單函數(shù);屬性名也可以用它的序號(hào)來代替;φ:邏輯運(yùn)算符(∧或∨)[]:表示任選項(xiàng)…:表示上述格式可以重復(fù)下去1.選擇(Selection)1)選擇又稱為限制(Re選擇(續(xù))3)選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算4)舉例 設(shè)有一個(gè)學(xué)生-課程數(shù)據(jù)庫(kù),包括學(xué)生關(guān)系Student、課程關(guān)系Course和選修關(guān)系SC。σ選擇(續(xù))3)選擇運(yùn)算是從行的角度進(jìn)行的運(yùn)算σ選擇(續(xù))學(xué)號(hào)Sno姓名Sname性別Ssex年齡Sage所在系Sdept95001李勇男20CS95002劉晨女19IS95003王敏女18MA95004張立男19IS(a)

Student例1例2例4例3例9選擇(續(xù))學(xué)號(hào)姓名性別年齡所在系9500選擇(續(xù))(b)Course課程號(hào)課程名先行課學(xué)分CnoCnameCpnoCcredit1數(shù)據(jù)庫(kù)542數(shù)學(xué)

23信息系統(tǒng)144操作系統(tǒng)635數(shù)據(jù)結(jié)構(gòu)746數(shù)據(jù)處理

27PASCAL語言64例9選擇(續(xù))Course課程號(hào)課程名先行課學(xué)分CnoCname選擇(續(xù))

(c)SC學(xué)號(hào)課程號(hào)成績(jī)SnoCnoGrade9500119295001285950013889500229095002380例7例9選擇(續(xù))

(c)SC學(xué)號(hào)課程號(hào)成績(jī)SnoCno選擇(續(xù))[例1]查詢信息系(IS系)全體學(xué)生

σSdept

='IS'(Student)

或σ5='IS'(Student)結(jié)果:SnoSnameSsexSageSdept95002劉晨女19IS95004張立男19IS選擇(續(xù))[例1]查詢信息系(IS系)全體學(xué)生SnoSn選擇(續(xù))[例2]查詢年齡小于20歲的學(xué)生

σSage<20(Student)

或σ4<20(Student)

結(jié)果:

SnoSnameSsexSageSdept95002劉晨女19IS95003王敏女18MA95004張立男19IS

選擇(續(xù))[例2]查詢年齡小于20歲的學(xué)生SnoSnam2.投影(Projection)1)投影運(yùn)算符的含義從R中選擇出若干屬性列組成新的關(guān)系

πA(R)={t[A]|tR} A:R中的屬性列

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

πSname,Sdept(Student)

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

πSdept(Student)

結(jié)果:SdeptCSISMA投影(續(xù))[例4]查詢學(xué)生關(guān)系Student中都有哪些系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θBtrts3.連接(Join)1)連接也稱為θ連接AθBtr

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

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

RS={|tr

R∧tsS∧tr[A]=ts[B]}A=Btrts連接(續(xù))3)兩類常用連接運(yùn)算A=Btrts

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

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

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

R

S={|trR∧tsS∧tr[B]=ts[B]}trts連接(續(xù))自然連接(Naturaljoin)trt連接(續(xù))4)一般的連接操作是從行的角度進(jìn)行運(yùn)算。

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

AθBRS連接(續(xù))4)一般的連接操作是從行的角度進(jìn)行運(yùn)算。AθBR連接(續(xù))5)舉例

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

S

AR.BCS.BEa1b15b27a1b15b310a1b26b27a1b26b310a2b38b310

C<E連接(續(xù))RSAR.BCS.BEa1b15b連接(續(xù))

等值連接R

SR.B=S.B

AR.BCS.BEa1b15b13a1b26b27a2b38b310a2b38b32連接(續(xù))等值連接RSR.B=S.連接(續(xù))

自然連接R

S

ABCEa1b153a1b267a2b3810a2b382連接(續(xù))自然連接RSABCEa4)象集Z

給定一個(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上分量的集合。4)象集Z給定一個(gè)關(guān)系R(X,Z),X和Z為屬性組。當(dāng)t4)象集ZABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1c2d1b2c1d1b2c3d2R÷SAa1RS4)象集ZABCa1b1c2a2b3c7a3b4c6a1b24.除(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]4.除(Division)給定關(guān)系R(X,Y)和S除(續(xù))2)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算

÷RS除(續(xù))2)除操作是同時(shí)從行和列角度進(jìn)行運(yùn)算÷RS除(續(xù))ABCa1b1c2a2b3c7a3b4c6a1b2c3a4b6c6a2b2c3a1b2c1BCDb1

溫馨提示

  • 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. 人人文庫(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)論