




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
關系模型和關系代數第一頁,共六十八頁,2022年,8月28日關系數據操作及類型關系操作在關系結構框架下,對數據結構——關系進行操作關系操作類型查詢操作:在一個關系內或多個關系間檢索或定位數據,
這一過程又可以分解為⑴單個關系內:屬性指定⑵單個關系內:元組選擇⑶多個關系間:合并第二頁,共六十八頁,2022年,8月28日關系數據操作及類型(續)修改操作:又包括⑴刪除操作:在某個關系內定位元組,然后刪除⑵插入操作:在某個關系內增加元組,不需要定位⑶更新操作:在某個關系內定位元組,然后改變屬性值兩類操作的聯系查詢操作是修改操作的基礎,修改操作實際是對查詢(定位)后的結果進行修改第三頁,共六十八頁,2022年,8月28日關系數據操作的表達關系操作的表示:查詢語言關系模型中使用“純”查詢語言,如關系代數、關系演算關系代數(2章重點):用一組對關系的運算來表示
查詢和修改。關系演算:用謂詞演算來表示查詢和修改。根據謂詞的不同,又分為元組關系演算和域關系演算。關系數據庫中使用實際的查詢語言,如SQL(3章重點)思考為什么叫“查詢”語言?“查詢”語言只能做查詢么?第四頁,共六十八頁,2022年,8月28日關系數據操作的表達(續)關系運算分類第五頁,共六十八頁,2022年,8月28日關系數據操作的表達(續)查詢語言的分類過程化:用戶要指定①what:查詢什么②how:怎么查詢,要用什么樣的方法、過程?非過程化:用戶只要指定查詢什么,而“怎么查詢”的問題留給系統處理——系統會自動尋找(近似)最優的查詢方法(查詢執行計劃),即查詢優化。關系代數是過程化的,SQL和關系演算是非過程化的第六頁,共六十八頁,2022年,8月28日目錄*2.1關系數據模型
2.1.1關系基本概念
2.1.2關系數據結構
2.1.3關系數據操作
2.1.4關系數據完整性約束2.2關系代數2.3關系演算2.4查詢優化第七頁,共六十八頁,2022年,8月28日關系完整性三類關系完整性規則①實體完整性②參照完整性③用戶定義完整性第八頁,共六十八頁,2022年,8月28日目錄*2.1關系數據模型
2.1.1關系基本概念
2.1.2關系數據結構
2.1.3關系數據操作
2.1.4關系數據完整性約束2.2關系代數2.3關系演算2.4查詢優化第九頁,共六十八頁,2022年,8月28日什么是關系代數什么是代數(系統)?代數系統包括運算對象基于運算對象的一組運算。例如,實數代數包括運算對象——
實數基于實數的運算——
加、減、乘、除…第十頁,共六十八頁,2022年,8月28日什么是關系代數(續)封閉的代數系統運算的結果,仍不超出運算對象的范圍。思考整數和加、減、乘、除運算,是否構成封閉的代數系統?整數和加、減、乘、商、余運算呢?第十一頁,共六十八頁,2022年,8月28日什么是關系代數(續)關系代數關系——
運算對象選擇,投影,……
——
基于關系的一組運算。歷史:關系模型創始人在集合代數基礎上發展而來關系代數是封閉的,任何關系運算的結果還是一個關系第十二頁,共六十八頁,2022年,8月28日什么是關系代數(續)關系運算的分類基本運算選擇;投影;笛卡兒積;集合并;集合差;更名附加運算(非基本的,可以用基本運算的組合來替換)集合交;自然連接;除;賦值擴展運算(前兩種基礎上對運算能力進行擴展和增強)廣義投影;外連接;聚集運算一元運算輸入為一個關系二元運算輸入為兩個關系第十三頁,共六十八頁,2022年,8月28日選擇運算()–
例子關系
rABCDA=B∧D>5
(r)ABCD123710第十四頁,共六十八頁,2022年,8月28日選擇運算()選擇運算(一元)選擇滿足下標謂詞(條件)的元組
p(r)={t|trandp(t)}
t是元組,{t|……}表示滿足該條件的元組集合,即一個關系(可能未命名)輸入關系r用圓括號括起來下標p稱為選擇謂詞。它是一個布爾表達式,由以下組成:(r的)屬性常量運算符:(與),(或),(非),=,,>,<,<=,*,/,+,-,…第十五頁,共六十八頁,2022年,8月28日選擇運算()(續)選擇運算的結果一個(無名字的)關系,保留輸入關系的全部屬性,但只包含那些滿足條件的元組選擇運算的例子:
sex=‘Male’
(student)student-nonamesex1JonesMale2SmithMale3KateFemalestudentstudent-nonamesex1JonesMale2SmithMale?第十六頁,共六十八頁,2022年,8月28日思考下列選擇運算的結果是什么?
1=1(student)student-nonamesex1JonesMale2SmithMale3KateFemale?student-nonamesex1JonesMale2SmithMale3KateFemalestudent第十七頁,共六十八頁,2022年,8月28日思考下列選擇運算的結果是什么?
1=2
(student)student-nonamesex1JonesMale2SmithMale3KateFemalestudent?
×第十八頁,共六十八頁,2022年,8月28日思考下列選擇運算的結果是什么?
1=2
(student)student-nonamesex?√student-nonamesex1JonesMale2SmithMale3KateFemalestudent第十九頁,共六十八頁,2022年,8月28日投影運算()–
例子關系
rABC102030401112AC1112AC112A,C(r)第二十頁,共六十八頁,2022年,8月28日投影運算()投影運算(一元)從輸入關系r,產生一個僅包含r中某些屬性的新關系。并消去重復元組
A1,A2,…,Ak(r)={t[A1,A2,…,Ak
]|tr}
t[A1,A2,…,Ak
]是一個新元組,僅包含原來t的A1,A2,…,Ak屬性值下標A1,A2,…,Ak是那些我們希望在結果中出現的屬性第二十一頁,共六十八頁,2022年,8月28日投影運算()(續)投影運算的輸出一個(無名字)的關系,包含指定的那些屬性,而元組數量與輸入關系相比可能相同,也可能要少(消除重復元組時)
投影運算的例1
name,class
(student)student-nonameclass1JonesA12SmithA23KateA2student?nameclassJonesA1SmithA2KateA2第二十二頁,共六十八頁,2022年,8月28日投影運算()(續)投影運算的例2
class(student)student-nonameclass1JonesA12SmithA23KateA2student?classA1A2第二十三頁,共六十八頁,2022年,8月28日并,交,差運算–
例子關系r,s:
rs:AB121AB23rsAB1213AB12213r–s:AB11AB2rs:第二十四頁,共六十八頁,2022年,8月28日并,交,差運算并,交,差運算(二元)r
s的結果是出現在r或者s或者兩者中的元組集合
r
s={t|trorts}
同時出現在r和s的元組,在結果中只出現一次r-s的結果是在r中出現,但是不在s中出現的元組集合
r
-s={t|trandts}rs的結果是在r中以及在s中同時出現的元組集合
r
s={t|t
randt
s}第二十五頁,共六十八頁,2022年,8月28日并,交,差運算(續)并非任意兩個關系都可以進行交/并/差運算!為使r
s/
r
-s/
r
s有效,必須滿足以下條件1、r和s的屬性數目相等2、r和s的對應屬性相容(名字可不同,但類型相同或相近)r的第1個屬性和s的第1個屬性相容,r的第2個屬性和s的第2個屬性相容……并,交,差運算的輸出一個(無名字的)新關系,屬性名以第一個輸入關系r為準第二十六頁,共六十八頁,2022年,8月28日并,交,差運算(續)并運算的例1
rsABC367257723443rsABC443345257ABC367257723443345?第二十七頁,共六十八頁,2022年,8月28日并,交,差運算(續)并運算的例2
rsABC367257723443rsCDE443345257ABC367257723443345?第二十八頁,共六十八頁,2022年,8月28日思考r
s=s
r,對么
?
第二十九頁,共六十八頁,2022年,8月28日并,交,差運算(續)差運算的例子
r-sABC367257723443rsABC443345257ABC367723?第三十頁,共六十八頁,2022年,8月28日并,交,差運算(續)交運算的例子
rsABC367257723443rsABC443345257ABC443257?第三十一頁,共六十八頁,2022年,8月28日思考關系代數/集合代數中,并和差是基本運算,但是交卻是附加運算。為什么?RSR-SR-(R-S)R
S第三十二頁,共六十八頁,2022年,8月28日思考我們可以用表達式R-(R-S)來重寫RS
,即用差運算來代替交運算。交運算是可替代的,所以它是非基本(附加)的,而并、差運算不可替代,所以是基本的。RSR-SR-(R-S)R
S第三十三頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)–
例子關系r,s:rx
s:AB12AB11112222CD1010201010102010EaabbaabbCD10102010Eaabbrs第三十四頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)笛卡爾積運算(二元)r
×s的結果是所有這樣的元組對集合:一個元組來自r,另一個來自s
r
×
s={tq|trandqs}
元組對tq
表示將兩個元組t和q連接起來得到的一個新元組第三十五頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)(續)笛卡兒積運算的輸出設若r有A個屬性,s有B個屬性,那么r
×s:有A+B個屬性,前A個來自r,后B個來自s設若r有X個元組,s有Y個元組,那么r
×s:有X×Y個元組(X個元組和Y個元組共有X×Y種可能組合)第三十六頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)(續)笛卡兒積運算的例1
rxsAB12111122221010201010102010aabbaabbCD10102010EaabbABCDErs第三十七頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)(續)要點:屬性重名時,加上關系名前綴如果r和s有屬性同名,那么r
×s中勢將包含兩個重名的屬性。為了區別這些屬性,需要在它們前面加上原來的關系名作為前綴(r.或s.)對于只出現在r中的屬性名,或者只出現在s中的屬性名,在r
×s的結果關系中不加上關系名前綴第三十八頁,共六十八頁,2022年,8月28日笛卡兒積運算(x)(續)AR.BR.CS.BS.CD123456R×SABC123RBCD456S笛卡兒積運算的例2第三十九頁,共六十八頁,2022年,8月28日運算的復合:關系代數表達式一個關系運算+輸入關系,本身就是一個簡單的關系代數表達式例如,rxs,1=1(r)可以用多個運算的復合來構建復雜的關系代數表達式例如,A=C(rxs)AB12CD10102010EaabbrsAB11112222CD1010201010102010Eaabbaabbrxs第四十頁,共六十八頁,2022年,8月28日運算的復合:關系代數表達式(續)ABCDE122102020aabAB11112222CD1010201010102010EaabbaabbA=C(rxs)第四十一頁,共六十八頁,2022年,8月28日笛卡爾積是連接兩個關系的元組生成結果,這種連接是無條件(任意)的如果希望兩個關系的元組相連接時遵循一定的條件,則可以使用(θ)連接運算第四十二頁,共六十八頁,2022年,8月28日連接運算連接運算(又稱θ連接,二元)從兩個關系的笛卡爾積中選取屬性間滿足一定條件的元組
r
s={tq|trandqsand
tr[A]θts[B]}
A和B:分別為R和S上度數相等且可比的屬性組θ:比較運算符AθB第四十三頁,共六十八頁,2022年,8月28日連接運算(續)連接運算的例子R
S
C<E第四十四頁,共六十八頁,2022年,8月28日連接運算(續)應用舉例:S:學生表;C:班級表;問:所有學生的姓名和班主任?姓名班主任小張老王小劉老陳小李老王姓名班號小張1小劉2小李1S班號班主任1老王2老陳C姓名,班主任
(SC)S.班號=C.班號第四十五頁,共六十八頁,2022年,8月28日連接運算-等值連接兩類特殊連接運算等值連接:θ為“=”的連接運算,即從輸入關系R與S的廣義笛卡爾積中選取A、B屬性值相等的那些元組
r
s={tq|trandqsand
tr[A]=ts[B]}
A=B第四十六頁,共六十八頁,2022年,8月28日連接運算-等值連接(續)等值連接的例子R
S
R.B=S.B第四十七頁,共六十八頁,2022年,8月28日連接運算-自然連接自然連接():一種特殊的連接運算,要求兩個關系連接的元組在同名屬性上相等,并且在連接后的結果中去掉重復的同名屬性。自然連接運算的輸出一個(無名字的)新關系,包含r和s的所有屬性,但要去除多余的同名屬性。新關系的元組,由那些匹配的r元組和s元組(在同名屬性上取相同值)連接而成,并且要去掉多余的同名屬性值
第四十八頁,共六十八頁,2022年,8月28日連接運算-自然連接(續)自然連接運算的例子rABCDa1c3b2d4c3e6BDE36f24g36hrssABCDEb2d4gc3e6fc3e6h第四十九頁,共六十八頁,2022年,8月28日連接運算-自然連接(續)自然連接可等價表示為其它運算組成的式子,例如:
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日重命名運算()大多數關系運算(關系表達式)的結果是一個無名字的關系重命名運算(一元)的作用允許我們對關系運算/關系代數表達式的結果進行命名,以便后面引用給一個已經有名字的關系起另一個新名字,允許我們通過多個名字來引用它
格式1:
x(E)
E是一個關系代數表達式,也可以是單個關系下標x是一個名字,表示將E的結果關系命名為x第五十一頁,共六十八頁,2022年,8月28日重命名運算(續)student-nonamesex1JonesMale2SmithMale3KateFemalestudentstudent-nonamesex1JonesMale2SmithMale?
sex=“Male”
(student)student-nonamesex1JonesMale2SmithMaleboy
boy(
sex=“male”
(student))第五十二頁,共六十八頁,2022年,8月28日重命名運算(續)格式2:
x(A1,A2,…,An)(E)
下標表示將E的結果關系命名為x,同時屬性依次命名為A1,A2,…,An思考:下標中列出的屬性個數n可以任意不受限制么?第五十三頁,共六十八頁,2022年,8月28日重命名運算(續)AR.BR.CS.BS.CD123456R×SABC133RBCD456S
V(RA,RB,RC,SB,SC,SD)
(
R×S)RARBRCSBSCRD123456V第五十四頁,共六十八頁,2022年,8月28日賦值運算()賦值運算編程語言中的賦值運算:將一個表達式的結果賦給變量關系代數中的賦值運算:將一個關系代數表達式的結果賦給關系(變量)形式varE表示將右邊表達式E的結果,賦予左邊的關系(變量)var第五十五頁,共六十八頁,2022年,8月28日賦值運算(續)用途對復雜的關系代數表達式,可以用如下方法簡化將其中的一些子式分解出來,并賦值給“中間關系”
再利用中間關系代替這些子式重寫原表達式第五十六頁,共六十八頁,2022年,8月28日賦值運算(續)例:
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日除運算(÷)除運算(二元)笛卡爾積的逆運算設有關系R,S,T,滿足T=RxS,則
T÷R=ST÷S=RT÷R有效的充分必要條件:T包含R的全部屬性,并額外含有不在R中的屬性——這些屬性將會出現在除的結果中第五十八頁,共六十八頁,2022年,8月28日除運算(續)更一般地,如果RxS
T,則
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護理風險與患者安全管理
- 人教版數學六年級下冊全優達標訓練之解決問題(試題)
- 2025年江蘇省徐州市豐縣中學高三3月第一次模擬考試數學試題文試題含解析
- 福建省三明市永安市重點中學2024-2025學年初三化學試題下學期4月模擬訓練試題(二)含解析
- 浙江工商職業技術學院《中國文化概要》2023-2024學年第一學期期末試卷
- 廣西民族大學相思湖學院《城市濱水景觀規劃設計》2023-2024學年第一學期期末試卷
- 東陽市2025年小升初復習數學模擬試卷含解析
- 2025年黑龍江省齊齊哈爾市物理試題高考沖刺卷(七)含解析
- 株洲師范高等專科學校《多媒體出版》2023-2024學年第二學期期末試卷
- 安徽省定遠縣2024-2025學年初三一模(期末)英語試題含答案
- 2025年上半年下半年浙江省舟山市港航管理局招聘6人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年中醫針灸學主治醫師-中醫針灸學考試題(附答案)
- 老年人安全用藥與護理
- 黑色三分鐘生死一瞬間第9、10部
- 適老化住宅改造服務行業深度調研及發展戰略咨詢報告
- 2025年鄭州黃河護理職業學院單招職業技能測試題庫及答案1套
- GB/T 45236-2025化工園區危險品運輸車輛停車場建設規范
- 新地基基礎-基樁靜荷載試驗考試復習題庫(含答案)
- 《致敬英雄》課件
- 房地產開發項目資金監管協議
- 持續集成與自動化部署(CICD)-深度研究
評論
0/150
提交評論