關(guān)系數(shù)據(jù)模型與關(guān)系運(yùn)算_第1頁(yè)
關(guān)系數(shù)據(jù)模型與關(guān)系運(yùn)算_第2頁(yè)
關(guān)系數(shù)據(jù)模型與關(guān)系運(yùn)算_第3頁(yè)
關(guān)系數(shù)據(jù)模型與關(guān)系運(yùn)算_第4頁(yè)
關(guān)系數(shù)據(jù)模型與關(guān)系運(yùn)算_第5頁(yè)
已閱讀5頁(yè),還剩34頁(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)介

關(guān)系數(shù)據(jù)模型與關(guān)系運(yùn)算第一頁(yè),共四十三頁(yè),2022年,8月28日ExampleofaRelation第二頁(yè),共四十三頁(yè),2022年,8月28日2.1關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)結(jié)構(gòu)描述關(guān)系的笛卡爾積乘積定義Domain(域)/datatype(數(shù)據(jù)類(lèi)型)CartesianProduct(笛卡爾積)定義:設(shè)有一組域D1,D2,…,Dn,這些域可以部分或者全部相同。域D1,D2,…,Dn的笛卡爾乘積(CartesianProducts)定義為如下集合:D1×D2×…×Dn={(d1,d2,…,dn)|diDi,i=1,2,…,n}

其中每一個(gè)元素(d1,d2,…,dn)稱為一個(gè)元組(Tuple),通常用t表示;元組中每一個(gè)值稱為一個(gè)分量(Component)。例子:總分登記表中的四個(gè)域第三頁(yè),共四十三頁(yè),2022年,8月28日2.1關(guān)系數(shù)據(jù)模型arelationisasubsetofaCartesianproduct例子1:總分登記表Domain(學(xué)號(hào))Domain(姓名)Domain(性別)Domain(總分)例子2:ifrelationthave4attributes,A1,A2,A3,andA4,則TDomain(A1)xDomain(A2)xDomain(A3)xDomain(A4)關(guān)系的二維表格描述關(guān)系是滿足特定規(guī)范性要求的二維表格關(guān)系的規(guī)范化限定關(guān)系的其他一些概念:數(shù)據(jù)庫(kù)、關(guān)系(表)、屬性、元組、基數(shù)、度數(shù)第四頁(yè),共四十三頁(yè),2022年,8月28日2.1關(guān)系數(shù)據(jù)模型鍵超鍵、候選鍵、主鍵、外鍵設(shè)X是關(guān)系R的一個(gè)或一組屬性,但不是關(guān)系R的鍵。如果X與關(guān)系S的主鍵KS相對(duì)應(yīng),則稱X是關(guān)系R的外鍵(Foreignkey)。關(guān)系R為參照關(guān)系(ReferencingRelation)。關(guān)系S為被參照關(guān)系(ReferencedRelation)或目標(biāo)關(guān)系(TargetRelation)。關(guān)系模式和關(guān)系實(shí)例關(guān)系模式關(guān)系模式(RelationSchema)。它是一個(gè)5元組:R(U,D,dom,F)關(guān)系實(shí)例第五頁(yè),共四十三頁(yè),2022年,8月28日候選鍵(鍵):{A,B};{B,C};{A,C};超鍵舉例:{A,B,C};{A,C,D};{A,B};{B,C};{A,C};訂單關(guān)系中的貨品號(hào)定義為外鍵第六頁(yè),共四十三頁(yè),2022年,8月28日關(guān)系的性質(zhì)在關(guān)系模型中,對(duì)關(guān)系作了下列規(guī)范性限制:(1)關(guān)系中每一個(gè)屬性值都是不可分解的;(2)關(guān)系中不允許出現(xiàn)重復(fù)元組(即不允許出現(xiàn)相同的元組);(3)由于關(guān)系是一個(gè)集合,因此不考慮元組間的順序,即沒(méi)有行序;(4)元組中的屬性在理論上也是無(wú)序的,但使用時(shí)按習(xí)慣考慮列的順序。第七頁(yè),共四十三頁(yè),2022年,8月28日2.1關(guān)系數(shù)據(jù)模型完整性約束(1)實(shí)體完整性約束實(shí)體完整性約束(EntityIntegrity)要求組成主鍵的屬性不能為空值,(2)參照完整性約束參照完整性規(guī)則:如果X是關(guān)系R的外鍵,它與關(guān)系S的主鍵KS相對(duì)應(yīng),則對(duì)于R中每個(gè)元組在X上的值必須為:或者為空值(X包含的所有屬性都為空值)或者等于S中某個(gè)元組的主鍵值(3)用戶定義完整性約束例如:訂貨數(shù)不得小于0;訂貨數(shù)不得小于存貨量第八頁(yè),共四十三頁(yè),2022年,8月28日例1下面各種情況說(shuō)明了參照完整性規(guī)則在關(guān)系中如何實(shí)現(xiàn)的。①在關(guān)系數(shù)據(jù)庫(kù)中有下列兩個(gè)關(guān)系模式: S(S#,SNAME,AGE,SEX) SC(S#,C#,GRADE)這里帶下劃線者為主鍵,SC關(guān)系中的S屬性為外鍵。據(jù)規(guī)則要求關(guān)系SC中的S#值應(yīng)該在關(guān)系S中出現(xiàn)。如果關(guān)系SC中有一個(gè)元組(S7,C4,80),而學(xué)號(hào)S7卻在關(guān)系S中找不到,那么我們就認(rèn)為在關(guān)系SC中引用了一個(gè)不存在的學(xué)生實(shí)體,這就違反了參照完整性規(guī)則。另外,在關(guān)系SC中S#不僅是外鍵,也是主鍵的一部分,因此這里S#值不允許空。第九頁(yè),共四十三頁(yè),2022年,8月28日例2設(shè)工廠數(shù)據(jù)庫(kù)中有兩個(gè)關(guān)系模式: DEPT(D#,DNAME) EMP(E#,ENAME,SALARY,D#)車(chē)間模式DEPT的屬性為車(chē)間編號(hào)、車(chē)間名,職工模式EMP的屬性為工號(hào)、姓名、工資、所在車(chē)間的編號(hào)。每個(gè)模式的主鍵與外鍵已標(biāo)出。在EMP中,由于D#不在主鍵中,因此D#值允許空。第十頁(yè),共四十三頁(yè),2022年,8月28日2.1關(guān)系數(shù)據(jù)模型關(guān)系數(shù)據(jù)操作數(shù)據(jù)查詢數(shù)據(jù)更新關(guān)系數(shù)據(jù)操作過(guò)程分類(lèi)關(guān)系數(shù)據(jù)語(yǔ)言第十一頁(yè),共四十三頁(yè),2022年,8月28日2.2關(guān)系代數(shù)五種基本關(guān)系代數(shù)運(yùn)算并運(yùn)算;差運(yùn)算;投影運(yùn)算;選擇運(yùn)算;廣義笛卡爾乘積數(shù)據(jù)更新基本運(yùn)算(對(duì)應(yīng)于傳統(tǒng)集合運(yùn)算)更新操作:插入;刪除;修改(兩張表相兼容)Twotablesaresaidtobecompatibleifftheyhavethesameschema.Example:第十二頁(yè),共四十三頁(yè),2022年,8月28日2.2關(guān)系代數(shù)1.插入-集合的并運(yùn)算設(shè)有兼容關(guān)系R、S(即R、S具有相同的關(guān)系模式),則二者的并運(yùn)算定義為:式中“∪”為并運(yùn)算符,t為元組變量,結(jié)果R∪S為一個(gè)新的與R、S兼容的關(guān)系,該關(guān)系是由屬于R或?qū)儆赟的元組構(gòu)成的集合。2.刪除-集合的差運(yùn)算設(shè)有兼容關(guān)系R、S,則二者的差運(yùn)算定義為:式中“-”為差運(yùn)算符,t為元組變量,結(jié)果R-S為一個(gè)新的與R、S兼容的關(guān)系,該關(guān)系是由屬于R而且不屬于S的元組構(gòu)成的集合,即在R中減去與S中相同的那些元組。第十三頁(yè),共四十三頁(yè),2022年,8月28日第十四頁(yè),共四十三頁(yè),2022年,8月28日3.修改-并運(yùn)算與差運(yùn)算的組合設(shè)需要修改的元組構(gòu)成關(guān)系R1,則先做刪除,得R-R1。設(shè)需修改后的元組構(gòu)成關(guān)系R2,此時(shí)將其插入,得到結(jié)果(R-R1)∪R2。2.2關(guān)系代數(shù)第十五頁(yè),共四十三頁(yè),2022年,8月28日2.2關(guān)系代數(shù)數(shù)據(jù)查詢基本運(yùn)算1.關(guān)系屬性的指定——投影運(yùn)算

這個(gè)操作是對(duì)一個(gè)關(guān)系進(jìn)行垂直分割,消去某些列,并重新安排列的順序。

例子2-3第十六頁(yè),共四十三頁(yè),2022年,8月28日2.關(guān)系元組選定——選擇運(yùn)算

選擇操作是根據(jù)某些條件對(duì)關(guān)系做水平分割,即選取符合條件的元組。

例子第十七頁(yè),共四十三頁(yè),2022年,8月28日賦值與別名關(guān)系R有如下字段Head(R)=A1...,An,如果希望創(chuàng)建一個(gè)新的關(guān)系S有如下屬性Head(S)=B1,...,Bn,且屬性Bi具有以下特性Dom(Bi)=Dom(Ai)foralli,1=i=n,并且關(guān)系s的記錄和關(guān)系R相同.則我們可以通過(guò)賦值來(lái)定義關(guān)系S

S(B1,...,Bn):=R(A1,...,An).符號(hào):=稱為theassignmentoperator.(賦值運(yùn)算符)如果僅需要重新定義表名,而不需要重新定義列名,我們可以S:=R.并稱S為表R的表別名采用別名可以保存操作的中間結(jié)果.賦值操作符的左邊只能是表名,不允許為表達(dá)式例如:(1)T:=(RS)-(RS)(2)T1:=(RS)T2:=((RS)T3:=T1-T2第十八頁(yè),共四十三頁(yè),2022年,8月28日3.關(guān)系的聯(lián)結(jié)——廣義笛卡爾乘積運(yùn)算

當(dāng)兩個(gè)關(guān)系中有屬性重名時(shí),要表名其Qualifiednames

即table_name.attribute_name思考:自己和自己做笛卡爾集,應(yīng)該如何來(lái)做?例子第十九頁(yè),共四十三頁(yè),2022年,8月28日第二十頁(yè),共四十三頁(yè),2022年,8月28日第二十一頁(yè),共四十三頁(yè),2022年,8月28日關(guān)系RS關(guān)系RS第二十二頁(yè),共四十三頁(yè),2022年,8月28日2.2關(guān)系代數(shù)基本關(guān)系代數(shù)運(yùn)算綜合實(shí)例圖有兩個(gè)關(guān)系R和S,圖2.13的(a)、(b)表示R∪S和R-S。(c)表示R×S,(d)表示πC,A(R),即π3,1(R)。(e)表示σB=‘b’ˊ(R)。(a)R∪S(b)R-S

(c)RS(d)(e)

RS第二十三頁(yè),共四十三頁(yè),2022年,8月28日2.2關(guān)系代數(shù)基本關(guān)系代數(shù)運(yùn)算綜合實(shí)例學(xué)生關(guān)系:S(S#,Sn,Sex,Sa,Sd);課程關(guān)系:C(C#,Cn,P#,Tn);選課關(guān)系:SC(S#,C#,G),其中S#表示學(xué)號(hào),Sn表示學(xué)生姓名,Sex表示學(xué)生性別,Sa表示學(xué)生年齡,Sd表示學(xué)生所在系別;C#表示課程號(hào),Cn表示課程名,P#表示預(yù)修課程號(hào),Tn表示任課教師姓名;G表示課程成績(jī)。第二十四頁(yè),共四十三頁(yè),2022年,8月28日例2-5學(xué)號(hào)為S17的學(xué)生因故退學(xué),在S和SC中將其刪去:例2-6檢索不修讀任何課程的學(xué)生學(xué)號(hào):例2-7在關(guān)系C中增加一門(mén)新課程(C13,ML,C3,null):如果令這門(mén)新課程元組所構(gòu)成的關(guān)系為R,則有:R=(C13,ML,C3,null),這時(shí)結(jié)果為:C∪R。學(xué)生關(guān)系:S(S#,Sn,Sex,Sa,Sd);課程關(guān)系:C(C#,Cn,P#,Tn);選課關(guān)系:SC(S#,C#,G),第二十五頁(yè),共四十三頁(yè),2022年,8月28日例2-8將關(guān)系S中的年齡增加一歲:S(S#,Sn,Sd,Sa+1)例2-9檢索學(xué)生年齡大于等于20歲的學(xué)生姓名:例2-10檢索預(yù)修課程號(hào)為C2的課程的課程號(hào):例2-11將關(guān)系S中學(xué)生S6的年齡改為22歲:其中,W為修改后的學(xué)生有序組構(gòu)成的關(guān)系,即W=(S6,…,…,22)?!硎驹祵W(xué)生關(guān)系:S(S#,Sn,Sex,Sa,Sd);課程關(guān)系:C(C#,Cn,P#,Tn);選課關(guān)系:SC(S#,C#,G),第二十六頁(yè),共四十三頁(yè),2022年,8月28日檢索選修課程號(hào)為c2或c4的學(xué)生學(xué)號(hào)或者檢索至少選修了課程號(hào)為c2和c4的學(xué)生學(xué)號(hào)學(xué)生關(guān)系:S(S#,Sn,Sex,Sa,Sd);課程關(guān)系:C(C#,Cn,P#,Tn);選課關(guān)系:SC(S#,C#,G),第二十七頁(yè),共四十三頁(yè),2022年,8月28日2.2關(guān)系代數(shù)擴(kuò)充關(guān)系代數(shù)運(yùn)算1.交運(yùn)算設(shè)有兼容關(guān)系R、S(即R、S具有相同的關(guān)系模式),則二者的并運(yùn)算定義為:R∩S=R―(R―S)或R∩S=S―(S―R),所以交運(yùn)算可以看作是組合運(yùn)算,而不是基本運(yùn)算。第二十八頁(yè),共四十三頁(yè),2022年,8月28日2.2關(guān)系代數(shù)2.除法運(yùn)算設(shè)關(guān)系R和S的元數(shù)分別為r和s(設(shè)r>s>0),那么R÷S是一個(gè)(r-s)元的元組的集合。(R÷S)是滿足下列條件的最大關(guān)系:其中每個(gè)元組t與S中每個(gè)元組u組成的新元組<t,u>必在關(guān)系R中。第二十九頁(yè),共四十三頁(yè),2022年,8月28日第三十頁(yè),共四十三頁(yè),2022年,8月28日

3.連接運(yùn)算(join)聯(lián)接有兩種:θ聯(lián)接和自然聯(lián)接(這里θ是算術(shù)比較符)。(1)θ聯(lián)接

≡{t︱t=<tr,ts>∧tr∈R∧ts∈S∧triθtsj}

第三十一頁(yè),共四十三頁(yè),2022年,8月28日第三十二頁(yè),共四十三頁(yè),2022年,8月28日(2)自然聯(lián)接(naturaljoin)兩個(gè)關(guān)系R和S的自然聯(lián)接操作具體計(jì)算過(guò)程如下:①計(jì)算R×S;②設(shè)R和S的公共屬性是A1,…,AK,挑選R×S中滿足R.A1=S.A1,…,R.AK=S.AK

的那些元組;③去掉S.A1,…,S.AK這些列。定義:

πi1,…,im(σR.A1=S.A1∧...∧R.AK=S.AK(R×S)),其中i1,…,im為R和S的全部屬性,但公共屬性只出現(xiàn)一次。第三十三頁(yè),共四十三頁(yè),2022年,8月28日第三十四頁(yè),共四十三頁(yè),2022年,8月28日outerjoinLeftouterjoinRightouterjoin第三十五頁(yè),共四十三頁(yè),2022年,8月28日外連接OUTERJOINDefinitiontheleftouterjoin/therightouterjoinExample

想查看所有學(xué)生的選課情況想查看準(zhǔn)備開(kāi)設(shè)的選修課程被選修的情況第三十六頁(yè),共四十三頁(yè),2022年,8月28日例2-17檢索課程號(hào)為C,且成績(jī)?yōu)锳的所有學(xué)生姓名:∏Sn(σC#=CG=A(SSC)

)例2-18檢索S1所修讀的課程名及其預(yù)修課號(hào):∏Cn,P#(σS#=s1(CSC)

)例2-19檢索年齡為20歲,并且預(yù)修課程成績(jī)?yōu)锳的學(xué)生所修讀的課程名:∏Cn(σSn=20G=A(SSC

C

))學(xué)生關(guān)系:S(S#,Sn,Sex,Sa,Sd);課程關(guān)系:C(C#,Cn,P#,Tn);選課關(guān)系:SC(S#,C#,G),第三十七頁(yè),共四十三頁(yè),2022年,8月28日關(guān)系代數(shù)運(yùn)算小結(jié)(1)從運(yùn)算的基本性與復(fù)合性考慮,關(guān)系代數(shù)運(yùn)算可以分為:●基本關(guān)系代數(shù)運(yùn)算:關(guān)于數(shù)據(jù)更新的并運(yùn)算、差運(yùn)算;關(guān)于數(shù)據(jù)查詢的投影運(yùn)算、選擇運(yùn)算和(廣義)笛卡爾乘積運(yùn)算?!駭U(kuò)充關(guān)系代數(shù)運(yùn)算:交運(yùn)算、除運(yùn)算、連接與自然連結(jié)運(yùn)算。關(guān)系代數(shù)中5個(gè)基本的運(yùn)算:并、差、笛卡爾乘積、投影、選擇,組成了關(guān)系代數(shù)完備的運(yùn)算集。(2)從傳統(tǒng)集合運(yùn)算和關(guān)系數(shù)據(jù)庫(kù)專門(mén)集合運(yùn)算考慮,關(guān)系代數(shù)運(yùn)算可以分為:●傳統(tǒng)的集合運(yùn)算:并、差、交和笛卡爾乘積?!駥iT(mén)的關(guān)系運(yùn)算:投影、選擇、連接和除法等。第三十八頁(yè),共四十三頁(yè),2022年,8月28日第三十九頁(yè),共四十三頁(yè),2022年,8月28日重要內(nèi)容分析(一)

溫馨提示

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