![第2章 關系數(shù)據(jù)庫理論《數(shù)據(jù)庫原理及應用》教學課件_第1頁](http://file4.renrendoc.com/view/3190514144aac3d95b6cab7988ac8a03/3190514144aac3d95b6cab7988ac8a031.gif)
![第2章 關系數(shù)據(jù)庫理論《數(shù)據(jù)庫原理及應用》教學課件_第2頁](http://file4.renrendoc.com/view/3190514144aac3d95b6cab7988ac8a03/3190514144aac3d95b6cab7988ac8a032.gif)
![第2章 關系數(shù)據(jù)庫理論《數(shù)據(jù)庫原理及應用》教學課件_第3頁](http://file4.renrendoc.com/view/3190514144aac3d95b6cab7988ac8a03/3190514144aac3d95b6cab7988ac8a033.gif)
![第2章 關系數(shù)據(jù)庫理論《數(shù)據(jù)庫原理及應用》教學課件_第4頁](http://file4.renrendoc.com/view/3190514144aac3d95b6cab7988ac8a03/3190514144aac3d95b6cab7988ac8a034.gif)
![第2章 關系數(shù)據(jù)庫理論《數(shù)據(jù)庫原理及應用》教學課件_第5頁](http://file4.renrendoc.com/view/3190514144aac3d95b6cab7988ac8a03/3190514144aac3d95b6cab7988ac8a035.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《數(shù)據(jù)庫原理及應用》?精品課件合集03
關系的完整性01
關系代數(shù)的基本術語02關系模式與關系04
關系運算目錄第2章關系數(shù)據(jù)庫理論關系數(shù)據(jù)庫的奠基人E.F.Codd,英國人,1923生于英格蘭中部波特蘭。第二次世界大戰(zhàn)時應征入伍,在皇家空軍服役。大戰(zhàn)結束后,到英國牛津大學數(shù)學專業(yè)學習,1963年獲得碩士學位,1965年又獲得博士學位。60年代后期開始數(shù)據(jù)庫研究,1970年E.F.Codd博士提出關系模型概念,他因此獲得1981年的ACM圖靈獎。E.F.Codd博士關系數(shù)據(jù)庫之父美國工程院院士關系代數(shù)的定義關系理論是建立在集合代數(shù)理論基礎上的,有著堅實的數(shù)學基礎。
定義1:域(Domain)是一組具有相同類型的值的集合。例:性別集合{男,女};正整數(shù)集合{1,2,3,……};姓名集合{張三,李四,王五};全體實數(shù)的集合等都可以稱為是域。關系代數(shù)的定義
定義2:笛卡爾積給定一組域D1,D2,…,Dn,
D1,D2,…,Dn的笛卡兒積為D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}笛卡兒積中每一個元素(d1,d2,…,dn)叫做一個n元組。兩個名詞:度(n):參與笛卡兒積的域的個數(shù)。
基:域中可取值的個數(shù)。
關系代數(shù)的定義例:設有域
D1=姓名集合(NAME)={王三,丁平};
D2=職業(yè)集合(JOB)={工人,農民,商人};
D3=住址集合(ADDR)={北京,上海,廣州};則D1×D2×D3={問題:笛卡兒積的度為多少?笛卡兒積的基為多少?(王三,工人,北京),(王三,工人,上海),(王三,工人,廣州),(王三,農民,北京),(王三,農民,上海),(王三,農民,廣州),(王三,商人,北京),(王三,商人,上海),(王三,商人,廣州),(丁平,工人,北京),(丁平,工人,上海),(丁平,工人,廣州),(丁平,農民,北京),(丁平,農民,上海),(丁平,農民,廣州),(丁平,商人,北京),(丁平,商人,上海),(丁平,商人,廣州)}
關系代數(shù)的定義
定義3:關系
D1×D2×…×Dn的子集叫作在域D1,D2,
…,Dn上的關系,記為R(D1,D2,…,Dn)。
一般說來,只有笛卡兒積的子集才是有意義的。為什么?學號姓名年齡年級0104趙六2010101張三2020103王五1930102李四182關系代數(shù)的基本術語①記錄和屬性記錄是行,屬性是列,域是屬性的取值范圍。學號姓名年齡年級0104趙六2010101張三2020103王五1930102李四182
關系就是一張二維表。
一行稱為一個元組或一條記錄,一列叫一個屬性或一個字段。關系代數(shù)的基本術語②關系的碼(Key)
(或候選碼、鍵)。
如果一個屬性(或屬性集合)的值能唯一地標識一個關系的元組而又不含有多余的屬性,則稱該屬性(或屬性集合)為關系的碼(或候選碼,也稱鍵)。每個關系都有一個且只有一個主碼(PrimaryKey)。學號姓名年齡年級0104趙六2010101張三2020103王五1930102李四182關系代數(shù)的基本術語③外碼(ForeignKey)
如果某一個關系中的屬性(或屬性集合)在另一個關系中是主碼,則稱該屬性(或屬性集合)是外碼。
學號姓名所在系0101010201030104張三李四王五趙六計算機計算機計算機計算機課程號課程名學時數(shù)C01C02C03C04高等數(shù)學數(shù)據(jù)結構操作系統(tǒng)數(shù)據(jù)庫100708060學號課程號成績01010101010201040104C01C02C04C04C039080908570學生關系課程關系學習成績關系外部碼外部碼主碼主碼關系模式
定義:
關系數(shù)據(jù)模型中的數(shù)據(jù)結構就是關系模式,即是對關系的描述。關系模式通??梢院営洖椋?/p>
R(A1,A2,…,An)
R:關系名
A1,A2,…,An:屬性名
如:STUDENT(SNO,SNAME,SEX,SAGE,DEPT)或學生(學號,姓名,性別,年齡,系)關系的完整性約束類型說明實體完整性約束主鍵的值參照完整性約束外鍵的值用戶自定義完整性(域完整性)約束其他字段的值關系的完整性約束(1)實體完整性(PRIMARYKEY)規(guī)則:設屬性A是基本關系R的主屬性(碼的組成部分),則屬性A不能空值(NULL)和碼不能出現(xiàn)重復值。說明:實體完整性是針對基本關系的;本規(guī)則要求基本關系中的元組在組成碼屬性上不能有空值;現(xiàn)實世界中的實體是可區(qū)分的,即它們具有某種唯一性標識(不取重復值)關系的完整性約束(2)參照(引用)完整性(FOREIGNKEY)規(guī)則:基本關系R中含有與另一個基本關系S的主碼相對應的屬性組F(F稱為R的外碼),則對于R中的每個元組在F上的值必須為:
①或者取空值(F的每個屬性值均為空值);
②或者等于S中某個元組的主碼值
引用完整性約束是不同關系之間或同一關系的不同元組間的約束。
本規(guī)則要求不允許引用不存在的元組;關系的完整性約束例1:職工關系EMP(ENO,ENAME,DNO)
部門關系DEPT(DNO,DNAME)
在EMP中,DNO是外碼。EMP中每個元組在DNO
上的值允許有兩種可能:①取空值。這說明這個職工尚未分配到某個部門;
②若非空值,則DNO的值必須是DEPT中某個元組中的DNO值。表示此職工不可能分配到一個不存在的部門。關系的完整性約束職工號部門編號姓名…9801980298039804980501010203張三李四王五趙六錢七部門編號部門名稱…01020304經理辦公室人事部公關部技術部職工表(EMP)部門表(DEPT)關系主碼外部關系碼關系的完整性約束例2:學生實體及其內部的聯(lián)系
學生(學號,姓名,性別,專業(yè)號,年齡,班長)關系的完整性約束例3:選修(學號,課程號,成績)
“學號”和“課程號”可能的取值:(1)選修關系中的主屬性,不能取空值(2)只能取相應被參照關系中已經存在的主碼值關系的完整性約束(3)域完整性(用戶自定義完整性)規(guī)則:要求屬性值必須取自其對應的值域。例:學生的性別只能是:‘男’和‘女’CONSTRAINTSXCHECK(性別IN(‘男’,‘女’)傳統(tǒng)的集合運算定義1.
設給定兩個關系R和S,若滿足:具有相同的度n,且R中第i個屬性和S中第i個屬性必須來自同一個域,則說關系R和S是相容的。即:關系R和S有相同的度,即有相同的屬性個數(shù),且對應的屬性的域相同。
傳統(tǒng)集合運算的兩個關系必須是相容的。約定:大寫字母表示命名關系和關系的屬性;小寫字母表示元組。
傳統(tǒng)的集合運算①并(Union)
關系R和S的并記為R∪S,結果仍為n度關系,由或屬于R或屬于S的元組組成。RSR∪S傳統(tǒng)的集合運算②差(Minus)
關系R和S的差記為R-S,結果仍為n度關系,由屬于R而不屬于S的元組組成。RSR-S傳統(tǒng)的集合運算③交(Intersect[??nt??sekt])
關系R和S的并記為R∩S,結果仍為n度關系,由既屬于R又屬于S的元組組成。RSR∩SR∩S=R–(R-S)廣義笛卡兒積
廣義笛卡兒積
R是一個n度關系,S是一個m度關系。關系R和S的廣義笛卡兒積記為R×S,其結果是(n+m)度的關系,結果中的元組是R中元組和S中元組連成的一串,前n個分量是R中的一個元組,后m個分量是S的一個元組。假定R中有元組(r1,r2,…,rn),S中有元組(s1,s2,…,sm),則結果中的元組為
(r1,r2,…,rn,s1,s2,…,sm)。若R有k1個元組,S有k2個元組,則R×S有k1×k2個元組。
廣義笛卡兒積例:ABCa1b1c1a1b2c2a2b2c1ABDa1b2c2a1b3c2a2b2c1RSABCA′B′Da1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c1R×S記錄個數(shù)9度數(shù)6專門的關系運算①選擇(Select)σ(sigma)從一個關系中選出所有滿足指定條件的元組。即在給定關系中,從水平方向上選取符合給定條件的元組的子集。一般定義為:
σF(R)={t|t∈R∧F(t)=‘True’}
讀作關系R關于公式F的選擇運算,表示從R中選擇那些滿足公式F的元組。
專門的關系運算SNOSNAMESDEPTSAGE96001丁一計算機1996002王二計算機2096003張三數(shù)學2196004李四信息1996005劉五數(shù)學2096006趙六計算機22SCNOCNAMECTC1高等代數(shù)144C2程序設計100C3微機原理44C4數(shù)據(jù)結構64C5編譯原理90C6操作系統(tǒng)32CSNOCNOGRADE96004C39596004C57096005C28196005C395SC例:設有學生-課程關系數(shù)據(jù)庫,如下所示:專門的關系運算例1:求計算機系的學生。σSDEPT=‘計算機’(S)例2:求計算機系叫的張三學生。σSDEPT=‘計算機’^SNAME=‘張三’(S)SNOSNAMESDEPTSAGE96001丁一計算機1996002王二計算機2096003張三數(shù)學2196004李四信息1996005劉五數(shù)學2096006趙六計算機22專門的關系運算②投影(Projection)∏(pi)
從一個關系出發(fā)構造其垂直子集的運算,即結果關系由運算分量中的某些列組成,并消去重復的元組。一般定義為:關系R在域列A上的投影:∏A(R)={t[A]|t∈R}
∏表示投影運算符;A為R中的屬性列,R是運算對象的關系,寫在∏之后用()括起來。專門的關系運算注意:
因為投影運算的屬性表不一定包含關系的碼,經投影運算后,結果中很可能出現(xiàn)重復元組,消除重復元組后所得關系的元組將小于等于原關系的元組數(shù)。如果屬性列中包含碼,則不可能出現(xiàn)重復元組,投影運算后所得關系的元組與原關系一樣。
投影不僅會取消一些列,也可能取消某些行。但在實際的SQL實現(xiàn)時要靠關鍵字來完成。專門的關系運算例1:求學生關系S在學生姓名和所在系這兩個屬性上的投影?!荢NAME,SDEPT(S)例2:求有多少個系?!荢DEPT(S)SNOSNAMESDEPTSAGE96001丁一計算機1996002王二計算機2096003張三數(shù)學2196004李四信息1996005劉五數(shù)學2096006趙六計算機22專門的關系運算③連接(Join)θ連接
一般定義為:
R∞SAθB
∞(Infinity)表示連接運算符;θ通常為比較運算符,但還有其他一些運算符,AθB是條件表達式。含義是:從R×S的廣義笛卡兒積中選取R關系在A屬性組上的值與S關系在B屬性組上值滿足比較運算θ的那些元組。專門的關系運算ABCa12ca24da34cDEd4e10ABCDEa12cd4a12ce10a24de10a34ce10RSR∞SB<E專門的關系運算自然連接(NaturalJoin)
是一種特殊而常用的連接。自然連接只當兩個關系含有公共屬性時才能進行。
若關系R和關系S具有公共屬性組B,則自然連接定義為:
R∞S含義是:
從兩個關系的笛卡兒積中選取公共屬性值相等的元組,且在非公共屬性和一組公共屬性上投影而形成的結果關系。專門的關系運算ABCa1b1c2a2b2c1a3b1c3a4b2c5a5b3c1BCDEb1c2d1e1b3c1d2e2b1c3d3e3b1c2d4e4b3c1d5e5ABCDEa1b1c2d1e1a1b1c2d4e4a3b1c3d3e3a5b3c1d2e2a5b3c1d5e5RSAR.BR.CS.BS.CDEa1b1c2b1c2d1e1a1b1c2b1c2d4e4a3b1c3b1c3d3e3a5b3c1b3c1d2e2a5b3c1b3c1d5e5R.BC=S.BCR∞SR∞S專門的關系運算比較:等值連接與自然連接
等值連接是在笛卡兒積的基礎上選擇滿足兩個關系中給定屬性值相等的元組的集合。自然連接是在兩個關系的相同屬性組上的等值連接,并且自然連接要在結果中把重復的屬性去掉,而等值連接則不必。
自然連接要求兩個關系中相等的分量必須是公共屬性組,而等值連接則不需要。專門的關系運算
外連接
如果把舍棄的元組也保存在結果關系中,而在其他屬性上填空值(Null),這種連接就叫做外連接(OUTERJOIN)。左外連接
如果只把左邊關系R中要舍棄的元組保留就叫做左外連接(LEFTOUTERJOIN或LEFTJOIN)
右外連接
如果只把右邊關系S中要舍棄的元組保留就叫做右外連接(RIGHTOUTERJOIN或RIGHTJOIN)。專門的關系運算關系R和關系S
如下所示:專門的關系運算關系R和關系S的外連接:專門的關系運算專門的關系運算關系代數(shù)示例例1:求選修‘C2’課程的學生號碼?!荢NO(σCNO=‘C2’(SC))例2:求同時選修‘C3’和‘C5’課程的學生號碼?!荢NO(σCNO=‘C3’(SC))∩
∏SNO(σCNO=‘C5’(SC)
SNOCNOGRADE96004C39596004C57096005C28196005C395SC專門的關系運算例3:求至少選修一門學時數(shù)為90的課程的學生姓名?!荢NAME(σCT=90(C)∞∏SNO,CNO(SC)∞∏SNO,SNAME(S))SNOSNAMESDEPTSAGE96001丁一計算機1996002王二計算機2096003張三數(shù)學2196004李四信息1996005劉五數(shù)學2096006趙六計算機22CNOCNAMECTC1高等代數(shù)144C2程序設計100C3微機原理44C4數(shù)據(jù)結構64C5編譯原理90C6操作系統(tǒng)32SNOCNOGRADE96004C39596004C57096005C28196005C395專門的關系運算例4:求選修數(shù)據(jù)結構或操作系統(tǒng)學生的學號和姓名。
∏SNO,SNAME(σSNAME=‘數(shù)據(jù)結構’VSNAME=‘操作系統(tǒng)’(C)∞∏SNO,CNO(SC)∞S)SNOSNAMESDEPTSAGE96001丁一計算機1996002王二計算機2096003張三數(shù)學2196004李四信息1996005劉五數(shù)學2096006趙六計算機22CNOCNAMECTC1高等代數(shù)144C2程序設計100C3微機原理44C4數(shù)據(jù)結構64C5編譯原理90C6操作系統(tǒng)32SNOCNOGRADE96004C39596004C57096005C28196005C395專門的關系運算∏CNO(C)-∏CNO(σSNAME=‘王’(S)∞SC))例5求‘王’同學不學的課程的課程號。例6將新課程元組(‘C9’,‘物理’,144)插入到課程關系C中。C∪{(‘C9’,‘物理’,144)}專門的關系運算例7:將學號96004,選修課程號為‘C5’的成績改為85分。分解執(zhí)行為三步:
第一步:取出元組,并命名為V
V=σSNO=‘96004’∧CNO=‘C5’(SC)
第二步:刪除這個元組
SC-V
第三步:插入新元組
SC∪{(‘96004’,‘C5’,85)}SNOCNOGRADE96004C39596004C57096005C28196005C395專門的關系運算④除(Division)一般定義為:設關系R(X,Y)和S(Y,Z),其中X,Y,Z為屬性組。R中的Y與S中的Y可以有不同的屬性名,但必須出自相同的域。除運算記為R÷S:專門的關系運算
象集給定一個關系R(X,Z),其中X,Z為屬性組。定義當t[X]=x時,x在R中的象集為:
Zx={t[Z]|t∈R,t[X]=x}
表示R中屬性組X上值為x的諸元組在Z上分量的集合。專門的關系運算A={a1,a2,a3}a1在R中的象集
Ba1={B1,B2,B3},a2在R中的象集
Ba2={B2,B3},a3在R中的象集
Ba3={B1,B3}例
已知R(A,B),求Ba象集ABa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 運動器材前臺工作總結
- 美術課教學創(chuàng)新策略計劃
- 網(wǎng)絡行業(yè)安全管理工作總結
- 2025年全球及中國全向條碼掃描儀行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球快速部署式負壓帳篷行業(yè)調研及趨勢分析報告
- 2025年全球及中國液壓驅動氣舉閥系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球風機葉片運輸車行業(yè)調研及趨勢分析報告
- 2025年全球及中國汽車振動臺行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025年全球及中國無塑食品軟包涂層紙行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球紫外波段高光譜成像(HSI)設備行業(yè)調研及趨勢分析報告
- 茶與健康 第二講 茶成分課件
- 復工條件驗收報告
- 小學生作文稿紙A4打印稿
- 2023理論學習、理論武裝方面存在問題及原因剖析18條
- 運動技能學習與控制課件第三章運動能力與個體差異
- (部編)五年級語文下冊小練筆(21篇)
- 《企業(yè)人力資源管理師考試用書考試通過必備一級》
- 2023年高考英語考前必練-非謂語動詞(含近三年真題及解析)
- 高??萍汲晒D化政策與案例分享
- 全國職工拔河比賽執(zhí)行方案
- 冶金廠、軋鋼廠工藝流程圖
評論
0/150
提交評論