版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
關(guān)系模型和關(guān)系代數(shù)第一頁,共六十八頁,2022年,8月28日關(guān)系數(shù)據(jù)操作及類型關(guān)系操作在關(guān)系結(jié)構(gòu)框架下,對數(shù)據(jù)結(jié)構(gòu)——關(guān)系進行操作關(guān)系操作類型查詢操作:在一個關(guān)系內(nèi)或多個關(guān)系間檢索或定位數(shù)據(jù),
這一過程又可以分解為⑴單個關(guān)系內(nèi):屬性指定⑵單個關(guān)系內(nèi):元組選擇⑶多個關(guān)系間:合并第二頁,共六十八頁,2022年,8月28日關(guān)系數(shù)據(jù)操作及類型(續(xù))修改操作:又包括⑴刪除操作:在某個關(guān)系內(nèi)定位元組,然后刪除⑵插入操作:在某個關(guān)系內(nèi)增加元組,不需要定位⑶更新操作:在某個關(guān)系內(nèi)定位元組,然后改變屬性值兩類操作的聯(lián)系查詢操作是修改操作的基礎(chǔ),修改操作實際是對查詢(定位)后的結(jié)果進行修改第三頁,共六十八頁,2022年,8月28日關(guān)系數(shù)據(jù)操作的表達關(guān)系操作的表示:查詢語言關(guān)系模型中使用“純”查詢語言,如關(guān)系代數(shù)、關(guān)系演算關(guān)系代數(shù)(2章重點):用一組對關(guān)系的運算來表示
查詢和修改。關(guān)系演算:用謂詞演算來表示查詢和修改。根據(jù)謂詞的不同,又分為元組關(guān)系演算和域關(guān)系演算。關(guān)系數(shù)據(jù)庫中使用實際的查詢語言,如SQL(3章重點)思考為什么叫“查詢”語言?“查詢”語言只能做查詢么?第四頁,共六十八頁,2022年,8月28日關(guān)系數(shù)據(jù)操作的表達(續(xù))關(guān)系運算分類第五頁,共六十八頁,2022年,8月28日關(guān)系數(shù)據(jù)操作的表達(續(xù))查詢語言的分類過程化:用戶要指定①what:查詢什么②how:怎么查詢,要用什么樣的方法、過程?非過程化:用戶只要指定查詢什么,而“怎么查詢”的問題留給系統(tǒng)處理——系統(tǒng)會自動尋找(近似)最優(yōu)的查詢方法(查詢執(zhí)行計劃),即查詢優(yōu)化。關(guān)系代數(shù)是過程化的,SQL和關(guān)系演算是非過程化的第六頁,共六十八頁,2022年,8月28日目錄*2.1關(guān)系數(shù)據(jù)模型
2.1.1關(guān)系基本概念
2.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)
2.1.3關(guān)系數(shù)據(jù)操作
2.1.4關(guān)系數(shù)據(jù)完整性約束2.2關(guān)系代數(shù)2.3關(guān)系演算2.4查詢優(yōu)化第七頁,共六十八頁,2022年,8月28日關(guān)系完整性三類關(guān)系完整性規(guī)則①實體完整性②參照完整性③用戶定義完整性第八頁,共六十八頁,2022年,8月28日目錄*2.1關(guān)系數(shù)據(jù)模型
2.1.1關(guān)系基本概念
2.1.2關(guān)系數(shù)據(jù)結(jié)構(gòu)
2.1.3關(guān)系數(shù)據(jù)操作
2.1.4關(guān)系數(shù)據(jù)完整性約束2.2關(guān)系代數(shù)2.3關(guān)系演算2.4查詢優(yōu)化第九頁,共六十八頁,2022年,8月28日什么是關(guān)系代數(shù)什么是代數(shù)(系統(tǒng))?代數(shù)系統(tǒng)包括運算對象基于運算對象的一組運算。例如,實數(shù)代數(shù)包括運算對象——
實數(shù)基于實數(shù)的運算——
加、減、乘、除…第十頁,共六十八頁,2022年,8月28日什么是關(guān)系代數(shù)(續(xù))封閉的代數(shù)系統(tǒng)運算的結(jié)果,仍不超出運算對象的范圍。思考整數(shù)和加、減、乘、除運算,是否構(gòu)成封閉的代數(shù)系統(tǒng)?整數(shù)和加、減、乘、商、余運算呢?第十一頁,共六十八頁,2022年,8月28日什么是關(guān)系代數(shù)(續(xù))關(guān)系代數(shù)關(guān)系——
運算對象選擇,投影,……
——
基于關(guān)系的一組運算。歷史:關(guān)系模型創(chuàng)始人在集合代數(shù)基礎(chǔ)上發(fā)展而來關(guān)系代數(shù)是封閉的,任何關(guān)系運算的結(jié)果還是一個關(guān)系第十二頁,共六十八頁,2022年,8月28日什么是關(guān)系代數(shù)(續(xù))關(guān)系運算的分類基本運算選擇;投影;笛卡兒積;集合并;集合差;更名附加運算(非基本的,可以用基本運算的組合來替換)集合交;自然連接;除;賦值擴展運算(前兩種基礎(chǔ)上對運算能力進行擴展和增強)廣義投影;外連接;聚集運算一元運算輸入為一個關(guān)系二元運算輸入為兩個關(guān)系第十三頁,共六十八頁,2022年,8月28日選擇運算()–
例子關(guān)系
rABCDA=B∧D>5
(r)ABCD123710第十四頁,共六十八頁,2022年,8月28日選擇運算()選擇運算(一元)選擇滿足下標(biāo)謂詞(條件)的元組
p(r)={t|trandp(t)}
t是元組,{t|……}表示滿足該條件的元組集合,即一個關(guān)系(可能未命名)輸入關(guān)系r用圓括號括起來下標(biāo)p稱為選擇謂詞。它是一個布爾表達式,由以下組成:(r的)屬性常量運算符:(與),(或),(非),=,,>,<,<=,*,/,+,-,…第十五頁,共六十八頁,2022年,8月28日選擇運算()(續(xù))選擇運算的結(jié)果一個(無名字的)關(guān)系,保留輸入關(guān)系的全部屬性,但只包含那些滿足條件的元組選擇運算的例子:
sex=‘Male’
(student)student-nonamesex1JonesMale2SmithMale3KateFemalestudentstudent-nonamesex1JonesMale2SmithMale?第十六頁,共六十八頁,2022年,8月28日思考下列選擇運算的結(jié)果是什么?
1=1(student)student-nonamesex1JonesMale2SmithMale3KateFemale?student-nonamesex1JonesMale2SmithMale3KateFemalestudent第十七頁,共六十八頁,2022年,8月28日思考下列選擇運算的結(jié)果是什么?
1=2
(student)student-nonamesex1JonesMale2SmithMale3KateFemalestudent?
×第十八頁,共六十八頁,2022年,8月28日思考下列選擇運算的結(jié)果是什么?
1=2
(student)student-nonamesex?√student-nonamesex1JonesMale2SmithMale3KateFemalestudent第十九頁,共六十八頁,2022年,8月28日投影運算()–
例子關(guān)系
rABC102030401112AC1112AC112A,C(r)第二十頁,共六十八頁,2022年,8月28日投影運算()投影運算(一元)從輸入關(guān)系r,產(chǎn)生一個僅包含r中某些屬性的新關(guān)系。并消去重復(fù)元組
A1,A2,…,Ak(r)={t[A1,A2,…,Ak
]|tr}
t[A1,A2,…,Ak
]是一個新元組,僅包含原來t的A1,A2,…,Ak屬性值下標(biāo)A1,A2,…,Ak是那些我們希望在結(jié)果中出現(xiàn)的屬性第二十一頁,共六十八頁,2022年,8月28日投影運算()(續(xù))投影運算的輸出一個(無名字)的關(guān)系,包含指定的那些屬性,而元組數(shù)量與輸入關(guān)系相比可能相同,也可能要少(消除重復(fù)元組時)
投影運算的例1
name,class
(student)student-nonameclass1JonesA12SmithA23KateA2student?nameclassJonesA1SmithA2KateA2第二十二頁,共六十八頁,2022年,8月28日投影運算()(續(xù))投影運算的例2
class(student)student-nonameclass1JonesA12SmithA23KateA2student?classA1A2第二十三頁,共六十八頁,2022年,8月28日并,交,差運算–
例子關(guān)系r,s:
rs:AB121AB23rsAB1213AB12213r–s:AB11AB2rs:第二十四頁,共六十八頁,2022年,8月28日并,交,差運算并,交,差運算(二元)r
s的結(jié)果是出現(xiàn)在r或者s或者兩者中的元組集合
r
s={t|trorts}
同時出現(xiàn)在r和s的元組,在結(jié)果中只出現(xiàn)一次r-s的結(jié)果是在r中出現(xiàn),但是不在s中出現(xiàn)的元組集合
r
-s={t|trandts}rs的結(jié)果是在r中以及在s中同時出現(xiàn)的元組集合
r
s={t|t
randt
s}第二十五頁,共六十八頁,2022年,8月28日并,交,差運算(續(xù))并非任意兩個關(guān)系都可以進行交/并/差運算!為使r
s/
r
-s/
r
s有效,必須滿足以下條件1、r和s的屬性數(shù)目相等2、r和s的對應(yīng)屬性相容(名字可不同,但類型相同或相近)r的第1個屬性和s的第1個屬性相容,r的第2個屬性和s的第2個屬性相容……并,交,差運算的輸出一個(無名字的)新關(guān)系,屬性名以第一個輸入關(guān)系r為準(zhǔn)第二十六頁,共六十八頁,2022年,8月28日并,交,差運算(續(xù))并運算的例1
rsABC367257723443rsABC443345257ABC367257723443345?第二十七頁,共六十八頁,2022年,8月28日并,交,差運算(續(xù))并運算的例2
rsABC367257723443rsCDE443345257ABC367257723443345?第二十八頁,共六十八頁,2022年,8月28日思考r
s=s
r,對么
?
第二十九頁,共六十八頁,2022年,8月28日并,交,差運算(續(xù))差運算的例子
r-sABC367257723443rsABC443345257ABC367723?第三十頁,共六十八頁,2022年,8月28日并,交,差運算(續(xù))交運算的例子
rsABC367257723443rsABC443345257ABC443257?第三十一頁,共六十八頁,2022年,8月28日思考關(guān)系代數(shù)/集合代數(shù)中,并和差是基本運算,但是交卻是附加運算。為什么?RSR-SR-(R-S)R
S第三十二頁,共六十八頁,2022年,8月28日思考我們可以用表達式R-(R-S)來重寫RS
,即用差運算來代替交運算。交運算是可替代的,所以它是非基本(附加)的,而并、差運算不可替代,所以是基本的。RSR-SR-(R-S)R
S第三十三頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)–
例子關(guān)系r,s:rx
s:AB12AB11112222CD1010201010102010EaabbaabbCD10102010Eaabbrs第三十四頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)笛卡爾積運算(二元)r
×s的結(jié)果是所有這樣的元組對集合:一個元組來自r,另一個來自s
r
×
s={tq|trandqs}
元組對tq
表示將兩個元組t和q連接起來得到的一個新元組第三十五頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)(續(xù))笛卡兒積運算的輸出設(shè)若r有A個屬性,s有B個屬性,那么r
×s:有A+B個屬性,前A個來自r,后B個來自s設(shè)若r有X個元組,s有Y個元組,那么r
×s:有X×Y個元組(X個元組和Y個元組共有X×Y種可能組合)第三十六頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)(續(xù))笛卡兒積運算的例1
rxsAB12111122221010201010102010aabbaabbCD10102010EaabbABCDErs第三十七頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)(續(xù))要點:屬性重名時,加上關(guān)系名前綴如果r和s有屬性同名,那么r
×s中勢將包含兩個重名的屬性。為了區(qū)別這些屬性,需要在它們前面加上原來的關(guān)系名作為前綴(r.或s.)對于只出現(xiàn)在r中的屬性名,或者只出現(xiàn)在s中的屬性名,在r
×s的結(jié)果關(guān)系中不加上關(guān)系名前綴第三十八頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)(續(xù))AR.BR.CS.BS.CD123456R×SABC123RBCD456S笛卡兒積運算的例2第三十九頁,共六十八頁,2022年,8月28日運算的復(fù)合:關(guān)系代數(shù)表達式一個關(guān)系運算+輸入關(guān)系,本身就是一個簡單的關(guān)系代數(shù)表達式例如,rxs,1=1(r)可以用多個運算的復(fù)合來構(gòu)建復(fù)雜的關(guān)系代數(shù)表達式例如,A=C(rxs)AB12CD10102010EaabbrsAB11112222CD1010201010102010Eaabbaabbrxs第四十頁,共六十八頁,2022年,8月28日運算的復(fù)合:關(guān)系代數(shù)表達式(續(xù))ABCDE122102020aabAB11112222CD1010201010102010EaabbaabbA=C(rxs)第四十一頁,共六十八頁,2022年,8月28日笛卡爾積是連接兩個關(guān)系的元組生成結(jié)果,這種連接是無條件(任意)的如果希望兩個關(guān)系的元組相連接時遵循一定的條件,則可以使用(θ)連接運算第四十二頁,共六十八頁,2022年,8月28日連接運算連接運算(又稱θ連接,二元)從兩個關(guān)系的笛卡爾積中選取屬性間滿足一定條件的元組
r
s={tq|trandqsand
tr[A]θts[B]}
A和B:分別為R和S上度數(shù)相等且可比的屬性組θ:比較運算符AθB第四十三頁,共六十八頁,2022年,8月28日連接運算(續(xù))連接運算的例子R
S
C<E第四十四頁,共六十八頁,2022年,8月28日連接運算(續(xù))應(yīng)用舉例:S:學(xué)生表;C:班級表;問:所有學(xué)生的姓名和班主任?姓名班主任小張老王小劉老陳小李老王姓名班號小張1小劉2小李1S班號班主任1老王2老陳C姓名,班主任
(SC)S.班號=C.班號第四十五頁,共六十八頁,2022年,8月28日連接運算-等值連接兩類特殊連接運算等值連接:θ為“=”的連接運算,即從輸入關(guān)系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組
r
s={tq|trandqsand
tr[A]=ts[B]}
A=B第四十六頁,共六十八頁,2022年,8月28日連接運算-等值連接(續(xù))等值連接的例子R
S
R.B=S.B第四十七頁,共六十八頁,2022年,8月28日連接運算-自然連接自然連接():一種特殊的連接運算,要求兩個關(guān)系連接的元組在同名屬性上相等,并且在連接后的結(jié)果中去掉重復(fù)的同名屬性。自然連接運算的輸出一個(無名字的)新關(guān)系,包含r和s的所有屬性,但要去除多余的同名屬性。新關(guān)系的元組,由那些匹配的r元組和s元組(在同名屬性上取相同值)連接而成,并且要去掉多余的同名屬性值
第四十八頁,共六十八頁,2022年,8月28日連接運算-自然連接(續(xù))自然連接運算的例子rABCDa1c3b2d4c3e6BDE36f24g36hrssABCDEb2d4gc3e6fc3e6h第四十九頁,共六十八頁,2022年,8月28日連接運算-自然連接(續(xù))自然連接可等價表示為其它運算組成的式子,例如:
r(A,B,C,D),s(B,D,E)r
s
=
A,r.B,C,r.D,E(r.B=s.Br.D=s.D(rxs))
第五十頁,共六十八頁,2022年,8月28日重命名運算()大多數(shù)關(guān)系運算(關(guān)系表達式)的結(jié)果是一個無名字的關(guān)系重命名運算(一元)的作用允許我們對關(guān)系運算/關(guān)系代數(shù)表達式的結(jié)果進行命名,以便后面引用給一個已經(jīng)有名字的關(guān)系起另一個新名字,允許我們通過多個名字來引用它
格式1:
x(E)
E是一個關(guān)系代數(shù)表達式,也可以是單個關(guān)系下標(biāo)x是一個名字,表示將E的結(jié)果關(guān)系命名為x第五十一頁,共六十八頁,2022年,8月28日重命名運算(續(xù))student-nonamesex1JonesMale2SmithMale3KateFemalestudentstudent-nonamesex1JonesMale2SmithMale?
sex=“Male”
(student)student-nonamesex1JonesMale2SmithMaleboy
boy(
sex=“male”
(student))第五十二頁,共六十八頁,2022年,8月28日重命名運算(續(xù))格式2:
x(A1,A2,…,An)(E)
下標(biāo)表示將E的結(jié)果關(guān)系命名為x,同時屬性依次命名為A1,A2,…,An思考:下標(biāo)中列出的屬性個數(shù)n可以任意不受限制么?第五十三頁,共六十八頁,2022年,8月28日重命名運算(續(xù))AR.BR.CS.BS.CD123456R×SABC133RBCD456S
V(RA,RB,RC,SB,SC,SD)
(
R×S)RARBRCSBSCRD123456V第五十四頁,共六十八頁,2022年,8月28日賦值運算()賦值運算編程語言中的賦值運算:將一個表達式的結(jié)果賦給變量關(guān)系代數(shù)中的賦值運算:將一個關(guān)系代數(shù)表達式的結(jié)果賦給關(guān)系(變量)形式varE表示將右邊表達式E的結(jié)果,賦予左邊的關(guān)系(變量)var第五十五頁,共六十八頁,2022年,8月28日賦值運算(續(xù))用途對復(fù)雜的關(guān)系代數(shù)表達式,可以用如下方法簡化將其中的一些子式分解出來,并賦值給“中間關(guān)系”
再利用中間關(guān)系代替這些子式重寫原表達式第五十六頁,共六十八頁,2022年,8月28日賦值運算(續(xù))例:
A(A=1(r.A,s.B(rxs))–
B=2(r.A,s.B(rxs)))A(r)
可以重寫為
temp1
r.A,s.B(rxs)
result=A(A=1(temp1)–
B=2(temp1))A(r)
或
temp1
r.A,s.B(rxs)
temp2
A=1(temp1)–
B=2(temp1)
result=A
(temp2)A(r)第五十七頁,共六十八頁,2022年,8月28日除運算(÷)除運算(二元)笛卡爾積的逆運算設(shè)有關(guān)系R,S,T,滿足T=RxS,則
T÷R=ST÷S=RT÷R有效的充分必要條件:T包含R的全部屬性,并額外含有不在R中的屬性——這些屬性將會出現(xiàn)在除的結(jié)果中第五十八頁,共六十八頁,2022年,8月28日除運算(續(xù))更一般地,如果RxS
T,則
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智慧農(nóng)業(yè)灌溉系統(tǒng)建設(shè)與運營管理合同4篇
- 2025年度二零二五版環(huán)保技術(shù)研發(fā)項目保證合同4篇
- 二零二五版二手房買賣合同中的物業(yè)費結(jié)算辦法3篇
- 2025年度綜合性消防安全設(shè)施維護保養(yǎng)服務(wù)協(xié)議4篇
- 2025年智能安置房租賃合同示范文本3篇
- 個人租車位簡易協(xié)議合同 2篇
- 上海律協(xié)發(fā)布COVID(2024版)
- 個人勞務(wù)用工合同范本 2篇
- 2025年度池塘漁業(yè)資源增殖放流合作合同3篇
- 2025年度藝術(shù)品代持協(xié)議書3篇
- 2024年全國體育專業(yè)單獨招生考試數(shù)學(xué)試卷試題真題(含答案)
- 北師大版小學(xué)三年級上冊數(shù)學(xué)第五單元《周長》測試卷(含答案)
- DB45T 1950-2019 對葉百部生產(chǎn)技術(shù)規(guī)程
- 新修訂《保密法》知識考試題及答案
- 電工基礎(chǔ)知識培訓(xùn)課程
- 住宅樓安全性檢測鑒定方案
- 廣東省潮州市潮安區(qū)2023-2024學(xué)年五年級上學(xué)期期末考試數(shù)學(xué)試題
- 市政道路及設(shè)施零星養(yǎng)護服務(wù)技術(shù)方案(技術(shù)標(biāo))
- 《論語》學(xué)而篇-第一課件
- 《寫美食有方法》課件
- (完整word版)申論寫作格子紙模板
評論
0/150
提交評論