關系數(shù)據(jù)模型與語言教學_第1頁
關系數(shù)據(jù)模型與語言教學_第2頁
關系數(shù)據(jù)模型與語言教學_第3頁
關系數(shù)據(jù)模型與語言教學_第4頁
關系數(shù)據(jù)模型與語言教學_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第3章 關系數(shù)據(jù)模型及語言 關系數(shù)據(jù)庫是以關系模型為基礎的數(shù)據(jù)庫。特點:建立在嚴格的數(shù)學理論基礎上;關系模型簡單、清晰;有較高的數(shù)據(jù)獨立性;數(shù)據(jù)庫語言非過程化;可用于知識庫、數(shù)據(jù)庫機、分布式數(shù)據(jù)庫、并行數(shù)據(jù)庫等領域。3.1關關系模型型一、關系系的有關關概念1.關系系與文件件(比較較)在關系模模型中,數(shù)據(jù)是是以二維維表的形形式存在在,這個二維維表稱為為“關系系”。如學生關關系、課課程關系系、學習習關系:在文件組組織中,這些表表格稱為為文件。 術語對照照:關系具有有的特性性:(1)每每一列有有不同的的名字,但每一一列屬同同一類型型的域值值;不同同列也可可以出自自相同的的域;(2)任任意兩行行不能全

2、全同;(3)每每一數(shù)據(jù)據(jù)項應為為不可再再分的數(shù)數(shù)據(jù)單位位;(4)行行、列次次序無關關;(5)具具有主關關鍵字唯唯一標識識各個元元組;2、關系系的集合合論定義義定義1(關系框架架):關系框架架R是表表示關系系的所有有屬性A1,A2,Ak的有限集集合。每個屬性性Aj對應一個個值域Di=d(Aj)(j=1,2,k),值域(簡稱為為域)可可以是任任意的非非空有限限集合或或可數(shù)無無限集合合。定義2(關系):關系框架架R上的的一個關關系rR是是它的屬屬性Aj(j=1,2,k)所對對應的域域d(Aj)構成的的笛卡兒兒乘積空空間d(R)=d(A1)d(A2) d(Ak)中的一個子集集D。k稱為關關系rR的的元

3、數(shù), D中的任一一點稱為為關系rR的一個個元組。關系rR簡記為為r。屬性Aj(j=1,2,k)又稱稱為分量量或坐標標,R又稱為為乘積空空間d(R)的坐標標系。k元關系系r的一一個元組組t有有k個分分量,t=。當用t泛泛指關系系r的任任一元組組時,稱稱 t為為r的元元組變量量。 用集合符號號表示:r=Dd(R)r=ttD舉例:有一關系系框架FAMILY(MAN,WOMAN,CHILD),其中d(A1)=MAN=王王平,李李兵,d(A2)=WOMAN=丁燕燕,趙芳芳,d(A3)=CHILD=王一一,李二二。構成的笛笛卡兒乘乘積空間間為:d(FMAILY)=d(A1)d(A2) d(A3),共有有8

4、個元元組,從從其中取取一個子子集,得得關系:所以,當當值域為為無限集集合時,笛卡爾爾乘積空空間d(R)也也是無限限集合,則其中中的子集集可以是是有限集集合,也也可以是是無限集集合,對對應的是是有限關關系和無無限關系系。在計算機機中,只只能存儲儲有限關關系。3、幾個個關鍵字字術語超關鍵字字(Super key)在關系rR中,如如果屬性性集合XR具有性性質:“對r的的任何兩兩個元組組t、u,都有有tXuX”,則則稱X為為r的超超關鍵字字。超關鍵字字能唯一一標識每每個元組組。例如:學號,年齡、學學號,性性別候選關鍵鍵字(Candidatekey)如果某一一屬性集集合是超超關鍵字字,但去去掉其中中任一

5、屬屬性后就就不再是是超關鍵鍵字了,這樣的的屬性集集合稱為為候選關關鍵字。例如:學號、學學號,課課程號推論:候選關關鍵字的的屬性集集合中,不含有有多余的的屬性值值;但屬屬性集合合中的每每個屬性性并非都都能唯一一標識元元組。候選關關鍵字必必為超關關鍵字,反之不不一定成成立。合成關鍵鍵字(Compositekey)當某個候候選關鍵鍵字包含含多個屬屬性時,稱該候候選關鍵鍵字為合合成關鍵鍵字。主關鍵字字(Primarykey)為關系組組織物理理文件時時,常選選用一個個候選關關鍵字作作為插入入、刪除除、檢索索元組的的操作變變量。被被選用的的那個候候選關鍵鍵字稱為為主關鍵鍵字。不在主關關鍵字中中的屬性性稱為

6、輔輔關鍵字字或關鍵鍵字。外部關鍵鍵字(Foreign key)如果關系系r1的某一(些)屬屬性A1不是r1的候選關關鍵字,而是另另一關系系r2的候選關關鍵字,則稱A1為r1的外部關關鍵字。合成關鍵鍵字和外外部關鍵鍵字提供供了一種種表示兩兩個關系系相互聯(lián)聯(lián)系的方方法。4、關系系模式是對關系系的描述述。它描描述了一一個對象象的靜態(tài)態(tài)結構,用二維維表框架架(叫關關系框架架)表示示。那么一個個關系需需要描述述具體哪哪些方面面呢?(1)有有哪些屬性構成成的?這些些屬性來自自于哪些些域?以及屬屬性與域域之間的的映象關系系。(2)同同一關系系模式可可對應出出若干不不同的關關系,即即關系的的值是可可動態(tài)變變化

7、的,但這種種變化必必須滿足足一定的的條件,即完整性約約束條件件(通過對對屬性取取值范圍圍的限定定,或通通過屬性性間的相相互關聯(lián)聯(lián)反映出出來)。所以,一一個關系系模式是是個五元元組r(R,D,d,F(xiàn))。顯然,關系模式式是型,關系是是它的值值;關系系模式是是靜態(tài)的的、穩(wěn)定定的,而而關系是是動態(tài)的的,隨時時間不斷斷變化的的。5、關系系模型關系模型型是所有有的關系系模式、屬性名名和關鍵鍵字的集集合;即即:若干干關系框框架的集集合。一個關系系模型描描述了若若干實體體及其相相互的聯(lián)聯(lián)系。6、關系系數(shù)據(jù)庫庫對應于一一個關系系模型的的所有關關系的集集合,稱稱為關系系數(shù)據(jù)庫庫。實際上,關系數(shù)數(shù)據(jù)庫也也有型與與值

8、之分分:關系數(shù)據(jù)據(jù)庫的型型稱為關關系數(shù)據(jù)據(jù)庫模式式,是對對關系數(shù)數(shù)據(jù)庫的的描述,包括域域的定義義以及在在這些域域上定義義的若干干關系模模式;關系數(shù)據(jù)據(jù)庫的值值稱為關關系數(shù)據(jù)據(jù)庫,是是這些關關系模式式在某一一時刻對對應的關關系的集集合。二、關系系模型的的完整性性規(guī)則(約束)為了維護護數(shù)據(jù)庫庫中數(shù)據(jù)據(jù)與現(xiàn)實實世界的的一致性性,關系系數(shù)據(jù)庫庫在定義義和操作作時要遵遵循四類類完整性性規(guī)則。1、域完完整性約約束規(guī)定屬性性值必須須取自于于值域;一個屬屬性是否否為空值值由其語語義決定定。2、實體體完整性性約束規(guī)定:組組成主關關鍵字的的屬性不不能有空空值,否否則無法識別別元組。它主要要考慮一一個關系系內(nèi)部的的

9、制約。 3、引用用完整性性約束考慮不同同關系之之間的制制約。規(guī)定:在在本關系系中不允允許引用用不存在在的元組組。4、用戶戶自定義義完整性性約束該規(guī)則是是用戶針針對某一一具體關關系數(shù)據(jù)據(jù)庫的約約束條件件,所以以是特殊殊的約束束條件,由應用用環(huán)境決決定。它反映某某一具體體應用所所涉及的的數(shù)據(jù)必必須滿足足的語義義要求。3.2關關系運算算一、關系代數(shù)數(shù)三種運算算符(、,、,、)1傳統(tǒng)統(tǒng)集合運運算并:r1r2=ttr1tr2,結果是r1R、r2R的的同類關關系差:r1-r2=ttr1tr2,交:r1r2=ttr1tr2=r1-(r1-r2),積:rs=tt=u,vurvs是(k1+k2)元關關系2.專門

10、門的關系系運算選擇:F(r)=ttrF(t)=“真真”(F為選選擇條件件,用邏邏輯表達達式AjC 或AjAi表示)投影:A(r)=uu=tAtrRAR連接(-連接):rs=tt=u,vurvsuAivBj=AiBj(rs)Ai=Bj時為等接;自然連接接:rs=tt=u,urvsuAik=vBjk =vS除rs=u對每一元元組vs都存在在同一元組組tr,使得得tQ=u且tS=v半連rs=R(rs)囿補=t|t(A1(r)A2(r)Ak(r)tr,是是有限限關系對任何有有限關系系,經(jīng)上上述定義義的關系系代數(shù)運運算,結結果仍是是有限關關系-稱稱這些關關系代數(shù)數(shù)運算為為囿代數(shù)運運算;只包含囿代數(shù)運運算

11、的關系代代數(shù)稱為為囿關系代代數(shù).補=t|td(R)tr,關系框架架為R,可能能是無限限關系.對有限關關系求補補可能成成為無限限關系,故將包包含補運運算的關關系代數(shù)數(shù),稱為為非囿關系系代數(shù)。注意:屬性的值值域一般般是任意意“非空空的有限限集合”,但也也允許是是“可數(shù)數(shù)的無限限集合”。當值值域為無無限集合合時,d(R)笛卡爾爾乘積空空間也是是無限集集合,則則其中的的子集可可以是有有限集合合,也可可以是無無限集合合,對應應的是有有限關系系和無限限關系。在計算機機中,只只能存儲儲有限關關系。3.關關系代數(shù)數(shù)運算舉舉例關系代數(shù)數(shù)運算關系的5種基本本運算:并U、差、積、投影、選擇擇關系的4種非基基本運算算

12、:交、連接、除、囿補例給給出出三個關關系的模模式:選課(學學號,課課號,成成績)必修課、選修課課(課號號,課課名)有三個具具體關系系:選課:學號課課號成成績績必修課:課號課課名S1C1AC1C語言言程序設設計S1C2BC3數(shù)數(shù)據(jù)結構構S1C3BS2C1AS2C3BS3C1BS3C3B選修課:課號課課名S4C1AC2軟軟件件工程S4C2AS5C2BS5C3BS5C1A要求:選課必必修課選課選選修課2)關系系代數(shù)查查詢表示示(學號,課課號)(選課)必修課例假假設設學生選選課庫的的關系模模式為:學生(學號,姓名,性別,年齡,所在系系)課程(課程號,課程名名,先行行課)選課(學號,課課程號,成績)求:

13、選修了課課程號為為“C1”的課課程的學學生學號號;選修了課程號為為“C3”的課課程的學生學號號和姓名名;沒有選修修課程號為為“C2”的課課程的學生學號號;選修課程號為為“C1”或“C2”的課程程的學生學號號。二、關系系演算用謂詞作作為變元元表達查查詢的要要求和條條件1.元組組演算以元組變變量作為為謂詞變變元對象象的關系系運算。元組演算算中,用用演算表達達式:t |(t)表表示關關系。其中,(t)為公公式(原原子公式式和運算算符組成成的),t為中中唯一的的自由元元組變量量。tiC或Ctitiuj其中,t、u是元組變變量,是算術比比較運算算符,C是常量。ti、uj分別表示示元組t的第i個分量量、元

14、組組u的第第j個分分量。1)三三種原原子公式式r(t): r是是關系名名,t是元組組變量。r(t)表示:“t是是關系r的元組組”。所所以,關關系可用用元組演演算表達達式t|r(t)表示。2)全稱稱量詞()和存在在量詞()設是公式,t是中的元組組變量,則(t)()、(t)()都是公式式。(t):“對任意意一個t”,或或“對所所有的t”。(t)():“對所有有的t,為真時,(t)()才為真真,否則為假假”。(t)()(t1)(t2)(tk)(t):“存在這這樣的t”,或或 “至至少有這這樣一個個t”。(t)():“若有一一個t使使(t)()為為真,則則(t)() 為真真,否則為假假”。(t)()(

15、t1) (t2) (tk)3)公式中的的運算符符運算優(yōu)優(yōu)先次序序先括號;算術比較較運算符符;量詞(、);邏輯運算算符(、)元組關系系演算公式:是是由它的的原子公式式經(jīng)有限次次的算術比較較運算、邏輯運運算、量量詞運算算而形成的的復合公公式。4)舉例例1a17f89e90c53a54c42b0求: r1=tr(t)s(t);r2=tr(t)t2=a;r3=t(u)(r(t)s(u)t1u3t2b;r4=t(u)(r(u)t1=u3t2=u1。2.域域演算以域變量(元組變量量的分量量)作為謂詞詞變元的的關系運運算。域演算表表達式為為: t1t2tk| (t1,t2,tk)其中,t1,t2,tk為元組

16、變變量t的的各個分分量,是域演演算公式式。1)三種原子子公式 r(t1t2tk):“以t1,t2,tk為分量的的元組在在關系r中” tiC或Cti tiuj2)全稱稱量詞()和存在在量詞()設(t1,t2,tk)是公式式,則(ti)()、(ti)() (i=1,2,k)都都是公公式。(ti):“對元組組t中的的任意一一分量ti”,或或“對所所有分量量ti”。(ti)():“對對所有分分量ti,為真時,(ti)() 才為為真,否則為假假”。(ti):“元元組中存存在這樣樣的分量量ti”,或“元組組中至少少有這樣樣一個分分量ti”。(ti)():“若若有一個個ti使為真,則則(ti)()為真,否則

17、為為假”。3)公式中的的運算符符運算優(yōu)優(yōu)先次序序先括號;算術比較較運算符符;量詞(、);邏輯運算算符(、)域關系演演算公式:是是由它的的原子公式式經(jīng)有限次次的算術比較較運算、邏輯運運算、量量詞運算算而形成的的復合公公式。4)舉舉例5b65d32c44a61c82ad5be4cf求:r1= xyzr(xyz)(z5y=a);r2= xyzr(xyz)s(xyz)x=5z6; r3= vyxz u rxyz w(uvt)zu三、關系運算算的安全全約束1.問問題由來來關系代數(shù)數(shù)中:若只用囿關系代代數(shù),則不會會產(chǎn)生無無限關系系;若使用非囿關系系代數(shù),則可能能產(chǎn)生無無限關系系。關系演算算中:演算表達達式

18、的值值可能是是無限關關系。如:trt表示所有有不在關關系r中中的元組組集合。演算可能能出現(xiàn)無無窮次的的代入運運算。如:判定定uu為假?須對u變變量的所所有可能能值進行行驗證,當沒有有一個u使為真時,才能有有結論。若u的的取值有有無窮多多個時,驗證過過程是無無窮的。判定uu為真?須驗證所所有可能能的u,只有全全部的u使為真,才才成立。2.安安全囿的的確定計算機不不允許出出現(xiàn)上述述兩種情情況。因為:存存儲空間間有限,不可能能存無限限關系;運運算時間間不能無無限延長長,不能能及時得得到正確確結果。為此,對對關系運運算要選選擇一個個安全囿,使其表表達式求求值運算只在在安全囿囿范圍內(nèi)內(nèi)進行。例安安全囿囿

19、 d() 的確確定:2)E2=tstt2=dd=DsEsFs,共有48個元元組。3)E3=x1x2x3sx1x2x3x3gd共48個個元組。四、三三類關系系運算的的等價表表示學號姓名年齡性別籍貫0860108602086030860408605王曉燕李 波陳志堅張 兵張 兵2023212022女男男男女北京上海長沙上海武漢學生關系系XS:課程關系系KC:課程號課程名教師辦公室C601C602C603C604高等數(shù)學數(shù)據(jù)結構操作系統(tǒng)編譯原理周振興劉建平劉建平王志偉416227227227學習關系系XX:學號課程號成績0860108601086010860108602086030860308603

20、08604086040860508605C601C602C603C604C601C601C602C604C601C604C601C6039090858790757056908595802,6,7(籍貫=上上海(XSXX)2,9,7(XSXX課程名=操作系系統(tǒng)(KC)2,3(XS(1,2(XX)1(KC)1)將關系代代數(shù)表達達式用漢漢語表示示含義,并求結結果;2)把關系代數(shù)數(shù)表達式式轉換成成等價的的元組(域)演演算表達達式。1、用關系代數(shù)數(shù)表達式式寫出下下列句子子的含義義:1)找出出所有男男生的學學號和年年齡;2)找出出年齡22、籍貫在在上海的的所有男男生的姓姓名、課課程號、成績;3)找出出學習

21、“陳志堅堅所學全全部課程程”的所所有學生生的學號號、姓名名。2、把上述得得到的關關系代數(shù)數(shù)表達式式轉換成成等價的的元組(域)演演算表達達式。3.3關關系數(shù)據(jù)據(jù)庫語言言是基于三三類關系系運算的的關系操操作語言言。三種典型型的關系系查詢語語言:1.基于關系系代數(shù)的的語言ISBL2.基于元組組演算的的語言QUEL3.基于域演演算的語語言QBE3.4SQL語言關系代數(shù)數(shù)和關系系演算是是形式化化查詢語語言,商商業(yè)DBMS使使用SQL(Structured Query Language)。一、SQL概述述SQL特特點(1)綜綜合統(tǒng)一一(數(shù)據(jù)定義義、查詢詢、更新新、控制制功能一一體化)(2)高高度非過過程化

22、(3)面面向集合合的操作作方式(4)一一種語法法結構兩兩種使用用方式(自含式式語言、嵌入式式語言)(5)語語言簡潔潔,易學學易用2、SQL語言言的基本本概念SQL語語言支持持關系DB三級級模式結結構:基本表是獨立存存在的表表,一個個關系對對應一個個表。一一些基本本表對應應一個存存儲文件件,一個個表可以以帶若干干索引,索引存存放在存存儲文件件中。存儲文件件其邏輯結結構組成了關系系DB的的內(nèi)模式式。其物物理文件件結構是是任意的的。視圖是從基本表或其其它視圖圖中導出出的表,它本身身不獨立立存儲在在數(shù)據(jù)庫庫中,即即,在DB中只只存放視視圖的定定義,而而不存放放視圖對對應的數(shù)數(shù)據(jù),這這些數(shù)據(jù)據(jù)仍存于于基本表表中。視圖是一一個虛表表。用戶用SQL語語言對視視圖和基基本表進進行查詢詢。在用戶看看來,視圖和基基本表都都是關系系。 二、數(shù)據(jù)據(jù)定義關系數(shù)據(jù)據(jù)庫的基基本對象象是表、視圖和和索引。SQL的的數(shù)據(jù)定定義功能能包括:定義表、定義視視圖、定定義索引引;修改表定定義(不提供供修改視視圖、修修改索引引定義的的操作,因為,視圖是是基本表表的虛表表,索引引是依附附于基本本表的。)如定義基基本表:CREATETABLES(SNOCHAR(7) NOTNULL,NAMECHAR(10),AGESMALLINT,SEXCHAR(1),PRIMARYKEY(SNO

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論