版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第2章 關(guān)系數(shù)據(jù)庫 關(guān)系模型具有嚴(yán)格的數(shù)學(xué)基礎(chǔ),應(yīng)用數(shù)學(xué)方法處理數(shù)據(jù)庫中的數(shù)據(jù),奠定關(guān)系數(shù)據(jù)庫理論基礎(chǔ)的人是美國IBM公司的E.F.Codd。模型的提出是在1970年, E.F.Codd的一篇論文“A Relational Model of Data for Shared Data Banks”開創(chuàng)了數(shù)據(jù)庫系統(tǒng)的新紀(jì)元,系統(tǒng)、嚴(yán)格的提出了關(guān)系模型。 20世紀(jì)70年代末關(guān)系方法的理論研究已經(jīng)取得了很大的成果,其中,有兩大研究機構(gòu)及其試驗系統(tǒng),一個是IBM公司的System R系統(tǒng),另一個是美國加州大學(xué)伯克利分校的INGRES系統(tǒng)。1981年關(guān)系數(shù)據(jù)庫的軟件產(chǎn)品就問世了。目前主流的商業(yè)數(shù)據(jù)庫系統(tǒng)O
2、racle,Informix(IBM收購),Sybase,SQL Server,DB2Access,F(xiàn)oxpro,F(xiàn)oxbase 1第2章 關(guān)系數(shù)據(jù)庫 關(guān)系模型具有嚴(yán)格的數(shù)學(xué)基礎(chǔ),應(yīng)用數(shù)關(guān)系模型的組成 關(guān)系數(shù)據(jù)結(jié)構(gòu) (實體及實體間的聯(lián)系均用二維表來表示) 關(guān)系操作(查詢及增、刪、改操作兩大部分) 關(guān)系代數(shù)語言 元組關(guān)系演算語言(ALPHA,QUEL)關(guān)系數(shù)據(jù)語言 關(guān)系演算語言 域關(guān)系演算語言(QBE) 關(guān)系代數(shù)和關(guān)系演算結(jié)合的語言(SQL)關(guān)系的完整性 (實體完整性,參照完整性,用戶定義完整性)2關(guān)系模型的組成22.1 基本概念2.1.1 域(domain)一組具有相同數(shù)據(jù)類型的值的集合。例:
3、整數(shù),實數(shù),500的整數(shù),性別(男、女)、字符串。2.1.2 笛卡爾積(Cartesian product)1. 定義給定一組域D1,D2,Dn,則其笛卡積為:D1 D2 Dn=(d1,d2,dn)dnDj,j=1,2,n2. 說明1)(d1,dn)為集合中的一個元素,稱為n元組(ntuple),簡稱元組。2)元組中每個值di稱為分量32.1 基本概念33)集合中元素?zé)o序a,b,c=b,a,c=c,b,a4)元組中分量有序(a,b,c)(b,a,c) 屬性及其值的對應(yīng)性。5)笛卡爾積稱為一個二維表例 設(shè)有三個域:D1=男士集合=劉英,劉加D2=女士集合=白雪,白靈D=兒童集合=劉學(xué),劉水,劉牛
4、則D1,D2,D3的笛卡爾積為如下一張二維表: 43)集合中元素?zé)o序4552.1.3 關(guān)系1. 定義D1 D2Dn的任意子集稱為在域D1,D2,Dn上的關(guān)系。記為:R(D1,D2,Dn)2. 說明1)R為關(guān)系名,n為關(guān)系的目或度(degree);2)關(guān)系是一張二維表;3)可多個候選KEY(candidate key);4)任選候選KEY之一為主碼(primary key)。例:可從上表中取出一個有意義子集作為一個關(guān)系 62.1.3 關(guān)系62.1.4 外碼(internal key)對于R1和R2,A1,An為其屬性子集,若A1,A2,An不是R1的碼,但它是R2的碼,則稱A1,An為R1的外碼
5、。Student (XH,XM)Course (KH,KM)SC (XH,KH,CJ) SC中的XH,KH為外碼。2.1.5 關(guān)系模式(Relation Schema)1. 定義關(guān)系的描述:R(A1,An)即:R(U,D,DOM,F(xiàn))R:關(guān)系名。U:R中的屬性名序列。D:域(取值范圍)。DOM:屬性到域的映象集(屬性類型、長度)。F:屬性間數(shù)據(jù)依賴關(guān)系。72.1.4 外碼(internal key)72.1.6 關(guān)系數(shù)據(jù)庫1. 型:若干關(guān)系模式的集合(內(nèi)含)。2. 值:某一時刻每個關(guān)系模式對應(yīng)的具體關(guān)系集(外延)。2.1.7 視圖(View)2.1.8 關(guān)系的完整性1. 實體完整性(Entit
6、y integrity)主碼屬性不能為空。2. 參照完整性(Referential integrity)若關(guān)系R1中含有另一個關(guān)系R2中主碼的屬性組F(R1的外部KEY),則對于R1的每個無組在F上的值必須滿足:1)空,或2)等于R2中某個元組的主碼值82.1.6 關(guān)系數(shù)據(jù)庫8例:EMPL(ENO,ENAME,DNO) DEPT(DNO,DNAME)則對于EMPL中每個DNO的值必須為: 取空(說明該職工還未分配到某部門) DEPT中某個元組的DNO值(該職工不可能分配到一個不存在的部門)3. 用戶定義完整性(user-defined integrity)用戶定義的約束。跳高100米, 人手2
7、只 9例:EMPL(ENO,ENAME,DNO)92.2 關(guān)系代數(shù)2.2.1 概述1、含義:用對關(guān)系的運算來表達(dá)查詢的一種傳統(tǒng)方式。2、分類:1)傳統(tǒng)集合運算并(),交(),差(),笛卡爾積()2)專門的關(guān)系運算投影(),選擇(),連接( ),除()3、運算符1)集合運算符:、2)專門運算符:、 、3)比較運算符:、4)邏輯運算符:、5)括號運算符:( )102.2 關(guān)系代數(shù)104、特殊記號1)設(shè)有關(guān)系模式R(A1,A2,Ai,An)則:tR:t是R的一個元組。t Ai:元組t中相應(yīng)屬性Ai的一個分量。 114、特殊記號112)設(shè) A = Ai1, Ai2,Aik,Ai1,Ai2,Aik是A1
8、,A2,An中的一部分,則:A:屬性列或域列。A:A1,A2,An中去掉(Ai1, Ai2,Aik)后剩余的屬性組。tA = (tAi1,tAi2,tAik):元組t在屬性A上諸分量的集合3)設(shè)R為n目關(guān)系,S為m目關(guān)系,則: trR,tsS:R和S的元組的連接,結(jié)果是一個n+m列元組;前n個分量是R的一個n元組;后m個分量是s的一個m元組,又稱元組的連串(Concatenation)。122)設(shè) A = Ai1, Ai2,Aik,Ai1,A4)設(shè)有關(guān)系R(X, Z),X、Z為屬性組,則:當(dāng)tX = x時,x在R中的象集(images set)為:Zx = tZ| tR, tX = x表示:R
9、中屬性組X上值為x的諸元組在Z上分量的集合。例:R為(學(xué)號,課程)設(shè)X為學(xué)號,則Z為課程,求x1的象集。學(xué)號課程1C語言1數(shù)據(jù)結(jié)構(gòu)1數(shù)據(jù)庫2C語言課程C語言數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)庫134)設(shè)有關(guān)系R(X, Z),X、Z為屬性組,則:學(xué)號課程1C2.2.2 傳統(tǒng)集合運算1. 并(union)1)定義:設(shè)有關(guān)兩個n目關(guān)系R、S,則RS表示是由屬于R或?qū)儆赟的元組組成。2)特征結(jié)果為n目關(guān)系:RS=t|tRtS;參入運算對象為兩個關(guān)系;R、S屬性同類(取自同一個域);相同元組取其一;從“行”上取值。142.2.2 傳統(tǒng)集合運算14例: R S15例: R 則RS結(jié)果為: R S16則RS結(jié)果為: 163)作用
10、:將一個新元組集加入到原關(guān)系中去。2、交(intersection)1)定義:設(shè)有兩個n目關(guān)系R、S,RS是由既屬于R同時又屬于S的元組組成。 R S173)作用:將一個新元組集加入到原關(guān)系中去。172)特征結(jié)果為n目關(guān)系:RS = t|tRtS;參入運算為兩個同目關(guān)系;R、S屬性同類;從“行”上取值。182)特征183)作用:從兩個關(guān)系中找出相同元組。3、差(difference)1)定義:設(shè)有兩個n目關(guān)系R、S,則R-S是由屬于R不屬于S的元組組成。 R S 193)作用:從兩個關(guān)系中找出相同元組。192)特征結(jié)果為n目關(guān)系:R-S = t|tRts;參入運算為兩個同目關(guān)系;R、S同類;從
11、“行”上取值。3)作用:從一個關(guān)系中刪去某些元組。4、笛卡爾積(Cartesian product)1)定義:設(shè)R為n目關(guān)系,S為m目關(guān)系,則RS是一個由R和S的所有元組連接在一起而組成的(n+m)列的元組集合。每一元組的前n個列是R的一個元組,后m列是s的一個元組。 202)特征20RS 21RS 212)特征結(jié)果為(n+m)目關(guān)系:RS = tr,ts|trRtss;參入運算為兩個關(guān)系;R、S不同類(實際上);從“行”上取值。3)作用:將兩個關(guān)系按元組連接組成一個新關(guān)系。222)特征222.2.3 專門的關(guān)系運算1、選擇(selection)1)定義:從指定關(guān)系R中選取滿足條件的元組集的運
12、算。 記作:F(R) = t|tRF(t) = 真 F:邏輯表達(dá)式(選擇對象應(yīng)滿足的條件),一般表示為:X1Y1 X2Y2 X1,Y1:屬性 | 常量 | 簡單函數(shù) | 列順序號 :比較運算符:、 :邏輯運算符:、 :任選標(biāo)識符,其中內(nèi)容可有可無 A12,B=田野,3 = 8B5 (R)232.2.3 專門的關(guān)系運算23設(shè): 24設(shè): 242525例1 查計算機系學(xué)生 26例1 查計算機系學(xué)生 26例2 查學(xué)分3分的課程 27例2 查學(xué)分3分的課程 27例3:查成績大于80或等于70的學(xué)生選課信息 28例3:查成績大于80或等于70的學(xué)生選課信息 282)說明參入運算只能一個關(guān)系;從行上取值。
13、2、投影(projection)1)定義:從指定關(guān)系R中選出若干屬性列的運算。記作:A(R)=tAtRA:R中的若干屬性列名或列順序號。292)說明29例3:查學(xué)生的姓名和年齡。XM, YL(Student)或2,4(Student) 30例3:查學(xué)生的姓名和年齡。30例4:查招有學(xué)生的系有哪些DM(Student)或4(Student) 2)說明:參入運算一個關(guān)系;從列上取值。 31例4:查招有學(xué)生的系有哪些2)說明:313、連接(Join)1)定義:從兩個指定關(guān)系R和S中選取滿足給定條件的元組的運算。記為:元組的連串(Concatenation)若r = (r1, ,rn),s = (s1
14、 , ,sm),則定義r與s的連串為: rs = (r1, ,rn, s1 , ,sm)323、連接(Join)32設(shè)有如下關(guān)系R和S:2)說明運算步驟:笛長爾積取條件滿足者33設(shè)有如下關(guān)系R和S:2)說明33例5 笛卡爾積(RS): 34例5 笛卡爾積34取其中CE的元組: 參入運算為兩個關(guān)系;參入運算關(guān)系不一定同目;從行上取值。3)等值連接(equi-join) 僅為“=”的連接運算35取其中C(a1,b2),(a2,b4),(a3,b5),Y=C,D=(c3,d5),(c4,d6),Z=Ff3,f4。其中,元組在X上各個分量值的象集分別為:(a1,b2)的象集為(c3,d5),(c4,d
15、6)(a2,b4)的象集為(c1,d3)(a3,b5)的象集為(c2,d8)S在Y上的投影為(c3,d5),(c4,d6)顯然只有(a1,b2)的象集包含S在Y上的投影,所以RS=(a1,b2) 42與除法的定義相對應(yīng),本題中X=A,B=(a1,b2)5種基本運算并、差、笛卡爾積、投影、選擇其它運算交、連接、除均可用5種基本運算來表達(dá),引進(jìn)它們并不增加語言的能力,但可以簡化表達(dá)RS = R (R S)R S = 屬性列表(相同的屬性列值相等(R) (RS)R S = X(R) X(X(R) Y(S) R)435種基本運算43ABCDabcdabefabdebcefedcdedefCDcdefA
16、BabedABabbcedABCDabcdabefbccdbcefedcdedefR AB (R)S AB (R) CD (S) AB (R) CD (S)-R ABCDbccdR S=ABabbcedABbc-=例:RS = X(R) X(X(R) Y(S) R)44ABCDabcdabefabdebcefedcdedefCD關(guān)系代數(shù)中,這些運算經(jīng)有限次復(fù)合后形成的式子稱為關(guān)系代數(shù)表達(dá)式例:設(shè)有關(guān)系教師(工作證號、姓名、性別、出生年份、職稱、所在院系)TL(TNO,TNAME,TSEX,BYEAR,RANK,DEPT);教學(xué)記錄(工作證號、開課時間、課號、課時)CR(TNO,CTIME,CN
17、O,CNUM);DEPT=計算機(TL), DEPT=自控(TL), RANK=講師(TL),BYEAR1965(TL),TNO,TNAME,TSEX,DEPT(CNO=001(DEPT=計算機(TL) DEPT=自控(TL))RANK=講師(TL) - BYEAR2S中A屬性大于2的元組的集合 t | R(t) S(t) R中不在S中出現(xiàn)的元組的集合 t | ( u) (S(t) R(u) tC uA)R中滿足下述條件的元組的集合:C屬性大于S中每個元組的A屬性的值。52元組演算表達(dá)式舉例:52 任何一個關(guān)系代數(shù)表達(dá)式都可等價地表示成元組關(guān)系演算表達(dá)式.關(guān)系代數(shù)中的5種基本運算用元組關(guān)系演算
18、表示為:RS=t|R(t) S(t)對應(yīng)于:RS=t|tR(t) tS(t)R S=t| R(t) S(t)對應(yīng)于:R S=t| tR(t) tS(t) 53 任何一個關(guān)系代數(shù)表達(dá)式都可等價地表示成元組關(guān)系演算5454ABC123456789ABC123346569RSABC346569 t | S(t) tA 2ABC456789 t | R(t) S(t) 55ABC123456789ABC123346569RSABC3ABC123456789ABC123346569RS t | ( u) (S(t) R(u) tC uA)R中滿足下述條件的元組的集合:C屬性大于S中每個元組的A屬性的值。
19、57ABC123456789ABC123346569RSABC4ABC123456789ABC123346569RSR.BS.CR.A534837867897 t | (u)(v)(R(u) S(v) uAvB tA=uB tB=vC tC=uA) 新關(guān)系的A列從R的B列取值,新關(guān)系的B列從S的C列取值,新關(guān)系的C列從R的A列取值, 只需滿足條件對應(yīng)元組的RASB58ABC123456789ABC123346569RSR.BS表達(dá)式的安全性元組關(guān)系演算有可能會產(chǎn)生無限關(guān)系,這樣的表達(dá)式是不安全的 如t | R(t),求所有不在R中的元組引入公式P的域概念,用dom(P)表示 dom(P) 至少包含 顯式出現(xiàn)在P中的值 + 在P中出現(xiàn)的關(guān)系的元組中出現(xiàn)的值(不必是最小集),但是有限集。 如果出現(xiàn)在表達(dá)式t | P(t)結(jié)果中的所有值均來自dom(P),則稱t | P(t)是安全的59表達(dá)式的安全性59ABA1B1A1B2A2B3dom(t R) = A1 , A2 , B1 , B2 , B3ABA1B3A2B1A2B2R t |(t R) 60ABA1B1A1B2A2B3dom(t R) = 2.3.2 域關(guān)系演算形式化定義 x1 x2 xn | P( x1 , x2 , , xn )xi代表域變量,P為由原子構(gòu)成的公式原子公式 R,記R(x1 , x2 , , x
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年軟件測試工程師軟件測試技術(shù)與案例題
- 職業(yè)性皮膚病監(jiān)護(hù)與皮膚保護(hù)措施
- 全球十大寄宿高中寄宿制度
- 2026年網(wǎng)絡(luò)安全工程師認(rèn)證網(wǎng)絡(luò)安全協(xié)議詳解練習(xí)題庫
- 教育2025年培訓(xùn)課程服務(wù)協(xié)議
- 供熱服務(wù)制度
- 職業(yè)性濕疹的接觸性致敏原分子機制
- 企業(yè)廠務(wù)公開制度
- 旅游行業(yè)數(shù)字化轉(zhuǎn)型與市場機遇
- 代碼質(zhì)量評估指標(biāo)梳理
- 高級消防設(shè)施操作員試題及答案-3
- 柴油發(fā)電機組原理課件
- 2025年國家公務(wù)員考試申論試題(行政執(zhí)法卷)及參考答案
- 低空經(jīng)濟發(fā)展白皮書-深圳方案
- 員工崗位評估管理制度
- GA/T 2157-2024毛細(xì)管電泳遺傳分析儀
- 工業(yè)機器人技術(shù)基礎(chǔ)電子教案
- 能源與動力工程測試技術(shù) 課件 第十章 轉(zhuǎn)速、轉(zhuǎn)矩及功率測量
- 2025年安徽省中考模擬英語試題(原卷版+解析版)
- 2024-2025學(xué)年云南省昆明市盤龍區(qū)五年級(上)期末數(shù)學(xué)試卷(含答案)
- 值班人員在崗情況檢查記錄表周一
評論
0/150
提交評論