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

下載本文檔

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

文檔簡介

第3章關系數據模型及語言

關系數據庫是以關系模型為基礎的數據庫。特點:建立在嚴格的數學理論基礎上;關系模型簡單、清晰;有較高的數據獨立性;數據庫語言非過程化;可用于知識庫、數據庫機、分布式數據庫、并行數據庫等領域。3.1關系模型

一、關系的有關概念1.關系與文件(比較)

在關系模型中,數據是以二維表的形式存在,這個二維表稱為“關系”。如學生關系、課程關系、學習關系:在文件組織中,這些表格稱為文件。

術語對照:關系具有的特性:(1)每一列有不同的名字,但每一列屬同一類型的域值;不同列也可以出自相同的域;(2)任意兩行不能全同;(3)每一數據項應為不可再分的數據單位;(4)行、列次序無關;(5)具有主關鍵字唯一標識各個元組;2、關系的集合論定義

定義1(關系框架):關系框架R是表示關系的所有屬性A1,A2,…,Ak的有限集合。每個屬性Aj對應一個值域Di=d(Aj)(j=1,2,…,k),值域(簡稱為域)可以是任意的非空有限集合或可數無限集合。

定義2(關系):關系框架R上的一個關系r[R]是它的屬性Aj(j=1,2,…,k)所對應的域d(Aj)構成的笛卡兒乘積空間d(R)=d(A1)×d(A2)×…×d(Ak)中的一個子集D’。k稱為關系r[R]的元數,D中的任一點稱為關系r[R]的一個元組。關系r[R]簡記為r。

屬性Aj(j=1,2,…,k)又稱為分量或坐標,R又稱為乘積空間d(R)的坐標系。

k元關系r的一個元組t有k個分量,t=<t1,t2,…,tk>。當用t泛指關系r的任一元組時,稱t為r的元組變量。

用集合符號表示:

r={<t1,t2,…,tk>∣<t1,t2,…,tk>Dd(R)}r={t∣tD’}

舉例:有一關系框架FAMILY(MAN,WOMAN,CHILD),其中d(A1)={MAN}={王平,李兵},d(A2)={WOMAN}={丁燕,趙芳},d(A3)={CHILD}={王一,李二}。構成的笛卡兒乘積空間為:d(FMAILY)=d(A1)×d(A2)×d(A3),共有8個元組,從其中取一個子集,得關系:所以,當值域為無限集合時,笛卡爾乘積空間d(R)也是無限集合,則其中的子集可以是有限集合,也可以是無限集合,對應的是有限關系和無限關系。在計算機中,只能存儲有限關系。3、幾個關鍵字術語超關鍵字(Superkey)

在關系r[R]中,如果屬性集合XR具有性質:“對r的任何兩個元組t、u,都有t[X]u[X]”,則稱X為r的超關鍵字。超關鍵字能唯一標識每個元組。例如:{學號,年齡}、{學號,性別}候選關鍵字(Candidatekey)如果某一屬性集合是超關鍵字,但去掉其中任一屬性后就不再是超關鍵字了,這樣的屬性集合稱為候選關鍵字。例如:{學號}、{學號,課程號}推論:①候選關鍵字字的屬性集合合中,不含有有多余的屬性性值;但屬性性集合中的每每個屬性并非非都能唯一標標識元組。②候選關鍵字字必為超關鍵鍵字,反之不不一定成立。。合成關鍵字((Compositekey)當某個候選關關鍵字包含多多個屬性時,,稱該候選關關鍵字為合成成關鍵字。主關鍵字(Primarykey)為關系組織物物理文件時,,常選用一個個候選關鍵字字作為插入、、刪除、檢索索元組的操作作變量。被選選用的那個候候選關鍵字稱稱為主關鍵字字。不在主關鍵字字中的屬性稱稱為輔關鍵字字或關鍵字。。外部關鍵字((Foreignkey)如果關系r1的某一(些))屬性A1不是r1的候選關鍵字字,而是另一一關系r2的候選關鍵字字,則稱A1為r1的外部關鍵字字。合成關鍵字和和外部關鍵字字提供了一種種表示兩個關關系相互聯(lián)系系的方法。4、關系模式式是對關系的描描述。它描述述了一個對象象的靜態(tài)結構構,用二維表表框架(叫關關系框架)表表示。那么一個關系系需要描述具具體哪些方面面呢?(1)有哪些些屬性構成的?這些屬性來自于哪哪些域?以及屬性與與域之間的映象關系。(2)同一關關系模式可對對應出若干不不同的關系,,即關系的值值是可動態(tài)變變化的,但這這種變化必須須滿足一定的的條件,即完整性約束條條件(通過對屬性性取值范圍的的限定,或通通過屬性間的的相互關聯(lián)反反映出來)。。所以,一個關關系模式是個個五元組r((R,D,d,F)。顯然,關系模式是型型,關系是它它的值;關系系模式是靜態(tài)態(tài)的、穩(wěn)定的的,而關系是是動態(tài)的,隨隨時間不斷變變化的。5、關系模型型關系模型是所所有的關系模模式、屬性名名和關鍵字的的集合;即::若干關系框框架的集合。。一個關系模型型描述了若干干實體及其相相互的聯(lián)系。。6、關系數據據庫對應于一個關關系模型的所所有關系的集集合,稱為關關系數據庫。。實際上,關系系數據庫也有有型與值之分分:關系數據庫的的型稱為關系系數據庫模式式,是對關系系數據庫的描描述,包括域域的定義以及及在這些域上上定義的若干干關系模式;;關系數據庫的的值稱為關系系數據庫,是是這些關系模模式在某一時時刻對應的關關系的集合。。二、關系模型型的完整性規(guī)規(guī)則(約束))為了維護數據據庫中數據與與現實世界的的一致性,關關系數據庫在在定義和操作作時要遵循四四類完整性規(guī)規(guī)則。1、域完整性性約束規(guī)定屬性值必必須取自于值值域;一個屬屬性是否為空空值由其語義義決定。2、實體完整整性約束規(guī)定:組成主主關鍵字的屬屬性不能有空空值,否則無法識別元組組。它主要考考慮一個關系系內部的制約約。3、引用完整整性約束考慮不同關系系之間的制約約。規(guī)定:在本關關系中不允許許引用不存在在的元組。4、用戶自定定義完整性約約束該規(guī)則是用戶戶針對某一具具體關系數據據庫的約束條條件,所以是是特殊的約束束條件,由應應用環(huán)境決定定。它反映某一具具體應用所涉涉及的數據必必須滿足的語語義要求。3.2關系運運算一、關系代數三種運算符((、,、、≤、≥,??、∧、∨))1.傳統(tǒng)集合合運算并:r1∪r2={ttr1∨t∈r2},結果是r1[R]、r2[R]的同類類關系差:r1-r2={t∣t∈r1∧tr2},交:r1∩r2={ttr1∧t∈r2}=r1-(r1-r2),積:rs={tt=u,v∧ur∧vs}是(k1+k2)元關系系2.專門的關關系運算選擇:F(r)={ttrF(t)=““真”}(F為選擇條條件,用邏輯輯表達式AjC或AjAi表示)投影:A(r)={uu=t[A]tr[R]AR}連接(-連接):rs={tt=u,v∧ur∧vsu[Ai]v[Bj]}=AiBj(rs)Ai=Bj時為等接;自然連接:rs={tt=u,?∧ur∧vsu[Aik]=v[Bjk]?=v[S]}除rs={u對每一元組vs都存在同一元組tr,使得t[Q]=u且且t[S]=v}半連rs=R(rs)囿補?={t|t(A1(r)×A2(r)××Ak(r))tr},是有有限關系對任何有限關關系,經上述述定義的關系系代數運算,結果仍是有有限關系----稱這些些關系代數運運算為囿代數運算;只包含囿代數運算的關系代數稱稱為囿關系代數.補?={t|td(R)tr},關系框架為R,??可能是無限限關系.對有限關系求求補可能成為為無限關系,故將包含補補運算的關系系代數,稱為為非囿關系代數數。注意:屬性的值域一一般是任意““非空的有限限集合”,但但也允許是““可數的無限限集合”。當當值域為無限限集合時,d(R)笛卡卡爾乘積空間間也是無限集集合,則其中中的子集可以以是有限集合合,也可以是是無限集合,,對應的是有有限關系和無無限關系。在計算機中,,只能存儲有有限關系。3.關系代代數運算舉例例關系代數運算算關系的5種基基本運算:并U、差?、積×、投影Π、選擇σ關系的4種非非基本運算:交∩、連接θ、除÷、囿補?[例]給給出三個關系系的模式:選課(學號,,課號,成績績)必修課、選修修課(課號,,課名)有三個具體關關系:選課:學號課號號成績必修課:課號課課名S1C1AC1C語語言程序設計計S1C2BC3數數據據結構S1C3BS2C1AS2C3BS3C1BS3C3B選修課:課號課課名S4C1AC2軟軟件工程S4C2AS5C2BS5C3BS5C1A要求:選課÷必修課課選課÷選修課課2)關系代數數查詢表示Π(學號,課號))(選課)÷必修課[例]假假設學生選課課庫的關系模模式為:學生(學號,姓名,性別別,年齡,所所在系)課程(課程號,課程名,先先行課)選課(學號,課程號號,成績)求:選修了課程號號為“C1””的課程的學學生學號;選修了課程號為“C3”的課程程的學生學號和姓姓名;沒有選修課程號為“C2”的課程程的學生學號;選修課程號為“C1”或“C2”的課程程的學生學號。二、關系演算算用謂詞作為變變元表達查詢詢的要求和條條件1.元組演算算以元組變量作作為謂詞變元元對象的關系系運算。元組演算中,用演算表達式:{t|φ(t)}表示示關系。其中,φ(t)為公式式(原子公式式和運算符組組成的),t為φ中唯一一的自由元組組變量。②t[i]C或Ct[i]③t[i]u[j]其中,t、u是元組變量,是算術比較運運算符,C是常量。t[i]、u[j]分別表示元組組t的第i個個分量、元組組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)()(t1)(t2)···(tk)3)公式中的運算算符運算優(yōu)先先次序先括號;算術比較運算算符;量詞(、);邏輯運算符((、、)元組關系演算算公式:是由它它的原子公式經有限次的算術比較運算算、邏輯運算算、量詞運算算而形成的復合合公式。4)舉例1a17f89e90c53a54c42b0求:r1={tr(t)s(t)};;r2={tr(t)t[2]=a};r3={t(u)((r((t))s(u)t[1]u[3]t[2]b;r4={t(u)((r((u))t[1]=u[3]t[2]=u[1]。2.域域演演算以域變量量(元組變變量的的分量量)作為謂謂詞變變元的的關系系運算算。域演算算表達達式為為:{t1t2tk|φφ(t1,t2,tk)}其中,,t1,t2,tk為元組組變量量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)()為真真,否否則為為假””。3)公式中中的運運算符符運算算優(yōu)先先次序序先括號號;算術比比較運運算符符;量詞((、);邏輯運運算符符(、、)域關系系演算算公式::是由由它的的原子公公式經有限限次的的算術比比較運運算、、邏輯輯運算算、量量詞運運算而形成成的復復合公公式。。4)舉舉例例5b65d32c44a61c82ad5be4cf求:r1={xyzr(xyz)(z5y=a)};r2={xyzr(xyz)s(xyz)x=5z6};r3={vyxzurxyzw(uvt)zu三、關系運運算的的安全全約束束1.問問題題由來來關系代代數中中:若只用用囿關系系代數數,則不不會產產生無無限關關系;;若使用用非囿關關系代代數,則可可能產產生無無限關關系。。關系演演算中中:①演算表表達式式的值值可能能是無無限關關系。。如:{trt表示示所所有有不不在在關關系系r中中的的元元組組集集合合。。②演算算可可能能出出現現無無窮窮次次的的代代入入運運算算。。如::判判定定uu為假假??須對對u變變量量的的所所有有可可能能值值進進行行驗驗證證,,當當沒沒有有一一個個u使使為真真時時,,才才能能有有結結論論。。若若u的的取取值值有有無無窮窮多多個個時時,,驗驗證證過過程程是是無無窮窮的的。。判定定uu為真真??須驗驗證證所所有有可可能能的的u,,只只有有全全部部的的u使使為真真,,才才成成立立。。2.安安全全囿囿的的確確定定計算算機機不不允允許許出出現現上上述述兩兩種種情情況況。因因為為::①存存儲儲空空間間有有限限,,不不可可能能存存無無限限關關系系;;②運運算算時時間間不不能能無無限限延延長長,,不不能能及及時時得得到到正正確確結結果果。。為此此,,對對關關系系運運算算要要選選擇擇一一個個安全全囿囿,使使其其表表達達式式求求值值運算算只只在在安安全全囿囿范范圍圍內內進進行行。。[例例]安安全全囿囿d()的的確確定定::2))E2=tstt2=dd=DsEsFs,共共有有48個個元元組組。。3))E3=x1x2x3sx1x2x3x3gd共48個個元元組組。。四、、三三類類關關系系運運算算的的等等價價表表示示學號姓名年齡性別籍貫0860108602086030860408605王曉燕李波陳志堅張兵張兵2023212022女男男男女北京上海長沙上海武漢學生生關關系系XS::課程程關關系系KC::課程號課程名教師辦公室C601C602C603C604高等數學數據結構操作系統(tǒng)編譯原理周振興劉建平劉建平王志偉416227227227學習習關關系系XX::學號課程號成績086010860108601086010860208603086030860308604086040860508605C601C602C603C604C601C601C602C604C601C604C601C603909085879075705690859580Π2,,6,,7(籍貫貫=上上海海(XSXX))Π2,,9,,7(XSXX課程程名名=操操作作系系統(tǒng)統(tǒng)(KC))))Π2,,3(XS((Π1,,2(XX))÷Π1(KC))))1))將關關系系代代數數表表達達式式用用漢漢語語表表示示含含義義,,并并求求結結果果;;2))把把關系系代代數數表表達達式式轉轉換換成成等等價價的的元元組組((域域))演演算算表表達達式式。。1、、用用關系系代代數數表表達達式式寫寫出出下下列列句句子子的的含含義義::1))找找出出所所有有男男生生的的學學號號和和年年齡齡;;2))找找出出年年齡齡<22、、籍籍貫貫在在上上海海的的所所有有男男生生的的姓姓名名、、課課程程號號、、成成績績;;3))找找出出學學習習““陳陳志志堅堅所所學學全全部部課課程程””的的所所有有學學生生的的學學號號、、姓姓名名。。2、、把上上述述得得到到的的關關系系代代數數表表達達式式轉轉換換成成等等價價的的元元組組((域域))演演算算表表達達式式。。3.3關關系系數數據據庫庫語語言言是基基于于三三類類關關系系運運算算的的關關系系操操作作語語言言。三種種典典型型的的關關系系查查詢詢語語言言::1.基于于關關系系代代數數的的語語言言ISBL2.基于于元元組組演演算算的的語語言言QUEL3.基于于域域演演算算的的語語言言QBE3.4SQL語語言言關系系代代數數和和關關系系演演算算是是形形式式化化查查詢詢語語言言,,商商業(yè)業(yè)DBMS使使用用SQL((StructuredQueryLanguage))。。一、、SQL概概述述SQL特特點點(1))綜綜合合統(tǒng)統(tǒng)一一(數據據定定義義、、查查詢詢、、更更新新、、控控制制功功能能一一體體化化))(2))高高度度非非過過程程化化(3))面面向向集集合合的的操操作作方方式式(4))一一種種語語法法結結構構兩兩種種使使用用方方式式(自自含含式式語語言言、、嵌嵌入入式式語語言言))(5))語語言言簡簡潔潔,,易易學學易易用用2、、SQL語語言言的的基基本本概概念念SQL語語言言支支持持關關系系DB三三級級模模式式結結構構::基本本表表是獨獨立立存存在在的的表表,,一一個個關關系系對對應應一一個個表表。。一一些些基基本本表表對對應應一一個個存存儲儲文文件件,,一一個個表表可可以以帶帶若若干干索索引引,,索索引引存存放放在在存存儲儲文文件件中中。。存儲儲文文件件其邏邏輯輯結結構構組組成了了關關系系DB的的內內模模式式。。其其物物理理文文件件結結構構是是任任意意的的。。視圖圖是從從基基本表表或或其其它它視視圖圖中中導導出出的的表表,,它它本本身身不不獨獨立立存存儲儲在在數數據據庫庫中中,,即即,,在在DB中中只只存存放放視視圖圖的的定定義義,,而而不不存存放放視視圖圖對對應應的的數數據據,,這這些些數數據據仍仍存存于于基基本本表表中中。。視圖是一一個虛表表。用戶用SQL語語言對視視圖和基基本表進進行查詢詢。在用戶看看來,視圖和基基本表都都是關系系。二、數據據定義關系數據據庫的基基本對象象是表、、視圖和和索引。。SQL的的數據定定義功能能包括::

溫馨提示

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

評論

0/150

提交評論