關(guān)系數(shù)據(jù)模型課件_第1頁
關(guān)系數(shù)據(jù)模型課件_第2頁
關(guān)系數(shù)據(jù)模型課件_第3頁
關(guān)系數(shù)據(jù)模型課件_第4頁
關(guān)系數(shù)據(jù)模型課件_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

關(guān)係數(shù)據(jù)模型

2025-5-172§2.1非關(guān)係模型

2.1.1層次模型(HierarchicalDataModel)滿足下麵兩個條件的基本層次聯(lián)繫的集合為層次模型:(1)有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點;(2)根以外的其他結(jié)點有且只有一個雙親結(jié)點。在層次模型中,每個結(jié)點表示一個記錄類型,記錄(類型)之間的聯(lián)繫用結(jié)點之間的連線(有向邊)表示,這種聯(lián)繫是父子之間的一對多的聯(lián)繫。這就使得層次資料庫系統(tǒng)只能處理一對多的實體聯(lián)繫。

2025-5-1731.層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)

2.多對多聯(lián)繫在層次模型中的表示

3.層次模型的數(shù)據(jù)操縱與完整性約束

4.層次數(shù)據(jù)模型的存儲結(jié)構(gòu)

5.層次模型的優(yōu)缺點

2025-5-174層次模型的優(yōu)點主要有:

·

層次數(shù)據(jù)模型本身比較簡單。

·

對於實體間聯(lián)繫是固定的,且預(yù)先定義好的應(yīng)用系統(tǒng),採用層次模型來實現(xiàn),其性能優(yōu)於關(guān)係模型,不低於網(wǎng)狀模型。

·

層次數(shù)據(jù)模型提供了良好的完整性支持。

層次模型的缺點主要有:

·

現(xiàn)實世界中很多聯(lián)繫是非層次性的,如多對多聯(lián)繫、一個結(jié)點具有多個雙親等,層次模型表示這類聯(lián)繫的方法很笨拙,只能通過引入冗餘數(shù)據(jù)(易產(chǎn)生不一致性)或創(chuàng)建非自然的數(shù)據(jù)組織(引入虛擬結(jié)點)來解決。

·

對插入和刪除操作的限制比較多。

·

查詢子女結(jié)點必須通過雙親結(jié)點。

·

由於結(jié)構(gòu)嚴(yán)密,層次命令趨於程式化。

2025-5-1752.1.2網(wǎng)狀模型(NetworkDataModel)

1.網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)

把滿足以下兩個條件的基本層次聯(lián)繫集合稱為網(wǎng)狀模型:(1)允許一個以上的結(jié)點無雙親;(2)一個結(jié)點可以有多於一個的雙親。2.網(wǎng)狀數(shù)據(jù)模型的操縱與完整性約束

3.網(wǎng)狀數(shù)據(jù)模型的存儲結(jié)構(gòu)

2025-5-176學(xué)生選修程課(a)S1C1

S1C2S2C2S2C1S2C3S3C1S3C2S3C3S3C4C1C3C4C2S1S3S2(b)

圖2-1網(wǎng)狀模型2025-5-1774.網(wǎng)狀數(shù)據(jù)模型的優(yōu)缺點

網(wǎng)狀數(shù)據(jù)模型的優(yōu)點主要有:

·

能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親。

·

具有良好的性能,存取效率較高。

網(wǎng)狀數(shù)據(jù)模型的缺點主要有:

·

結(jié)構(gòu)比較複雜,而且隨著應(yīng)用環(huán)境的擴大,資料庫的結(jié)構(gòu)就變得越來越複雜,不利於最終用戶掌握。

·

其DDL,DML語言複雜,用戶不容易使用。2025-5-1782.1.3面向?qū)ο竽P?ObjectOrientedModel)

面向?qū)ο竽P椭凶罨镜母拍钍菍ο螅╫bject)和類(class)。1.對象現(xiàn)實世界中實體的模型化,它和記錄的概念相似,但更複雜。每個對象有一個唯一的識別字,並把一個狀態(tài)(state)和一個行為(behavior)封裝在一起。2.類每個類有兩部分組成,其一是對象類型;其二是對這個對象類型進行的操作方法。對象的狀態(tài)是描述該對象屬性值的集合,對象的行為是對該對象操作的集合。2025-5-1793.類層次一個系統(tǒng)中所有的類和子類組成一個樹狀的類層次。4.面向?qū)ο竽P偷膬?yōu)缺點優(yōu)點:由於面向?qū)ο竽P椭胁粌H包括描述對象狀態(tài)的屬性集,而且包括類的方法及類層次,具有更加豐富的表達能力。因此,面向?qū)ο蟮馁Y料庫比層次、網(wǎng)狀、關(guān)係資料庫使用方便。缺點:由於模型複雜,系統(tǒng)實現(xiàn)起來難度大。2025-5-1710

§2.2關(guān)係模型(RelationDataModel)

2.2.1二維表

關(guān)係模型是用二維表的形式來表示實體和實體間聯(lián)繫的數(shù)據(jù)模型。關(guān)係的邏輯結(jié)構(gòu)是一個二維表。表2-1和表2-2分別代表訂單和庫存兩個關(guān)係。表2-1訂單關(guān)係訂單號貨號訂貨單位售價訂貨量送貨地點96001JW65陽光公司806.50280天津96002VF90友誼商城588.881700北京96003AB55和平飯店250.991005上海96004EF77五環(huán)實業(yè)674.00600北京2025-5-1711表2-2庫存關(guān)係貨號品名庫存量倉庫地點單價VF90電話機1000北京550.00JW65收錄機300上海800.50SL88錄影機2600北京11898.50AB55收音機3000上海280.00EF77電視機1200廣州600.002025-5-17122.2.2關(guān)係術(shù)語

1.關(guān)係(Relations)一個關(guān)係對應(yīng)通常說的一張表;2.元組(Tuples)表中的一行即為一個元組;3.屬性(Attributes)表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名。如上表有六列,對應(yīng)六個屬性(學(xué)號,姓名,年齡,性別,系和年級);2025-5-1713

4.域(Domains)屬性的取值範(fàn)圍稱為該屬性的域。如人的年齡一般在1~150歲之間,大學(xué)生年齡屬性的域是(14~38),性別的域是(男,女),系別的域是一個學(xué)校所有系名的集合;學(xué)號的域為8位整數(shù),姓名的域為字串集合。5.關(guān)鍵字或碼(Keys)表中的某個屬性組,它可以唯一確定一個元組,如圖1.27中的學(xué)號,可以唯一確定一個學(xué)生,也就成為本關(guān)係的主關(guān)鍵字;6.分量(Component):元組中的一個屬性值;7.關(guān)係模式(RelationSchemas)對關(guān)係的描述,一般表示為:關(guān)係名(屬性1,屬性2,…,屬性n)2025-5-1714相關(guān)英文講解:Recursiverelationship:Arelationshiptypewherethesameentitytypeparticipatesmorethanonceindifferentroles.Attribute:Apropertyofanentityorarelationshiptype.Attributedomain:Thesetofallowablevaluesforoneormoreattributes.Candidatekey:Theminimalsetofattributesthatuniquelyidentifieseachoccurrenceofanentitytype.2025-5-17152.2.3關(guān)係模型的特點

1.關(guān)係必須規(guī)範(fàn)化所謂規(guī)範(fàn)化是指關(guān)係模型中的每一個關(guān)係模式都必須滿足一定的要求。2.

模型概念單一無論實體還是實體之間的聯(lián)繫都用關(guān)係表示。對數(shù)據(jù)的檢索結(jié)果也是關(guān)係(即表)。所以其數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用。3.集合操作在關(guān)係模型中,操作的對象和結(jié)果都是元組的集合,即關(guān)係。2025-5-1716關(guān)係數(shù)據(jù)模型還具有下列優(yōu)點:

·關(guān)係模型與非關(guān)係模型不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的。

·關(guān)係模型的存取路徑對用戶透明,從而具有更高的數(shù)據(jù)獨立性、更好的安全保密性,也簡化了程式員的工作和數(shù)據(jù)庫開發(fā)建立的工作。關(guān)係數(shù)據(jù)模型最主要的缺點是,由於存取路徑對用戶透明,查詢效率往往不如非關(guān)係數(shù)據(jù)模型。因此為了提高性能,必須對用戶的查詢請求進行優(yōu)化,增加了開發(fā)資料庫管理系統(tǒng)難度。2025-5-1717§2.3關(guān)係運算

關(guān)係代數(shù)的運算對象是關(guān)係,運算結(jié)果亦為關(guān)係。關(guān)係代數(shù)用到的運算符包括四類:集合運算符、專門的關(guān)係運算符、算術(shù)比較符和邏輯運算符。關(guān)係代數(shù)的運算按運算符的不同可分為傳統(tǒng)的集合運算和專門的關(guān)係運算兩類。2025-5-17182.3.1傳統(tǒng)的集合運算傳統(tǒng)的集合運算是二目運算,包括並、差、交三種運算。1.並運算(Union)設(shè)有兩個關(guān)係R和S,它們具有相同的元素。R和S的並是由屬於R或?qū)凫禨的元素組組成的集合。2.差運算(Difference)設(shè)有兩個關(guān)係R和S,它們具有相同的元數(shù)。R和S的差是由屬於R但不屬於S的元組組成的集合。3.交(Intersection)設(shè)有兩個關(guān)係R和S,它們具有相同的元數(shù)。R和S的交是由既屬於R又屬於S的元組組成的集合。2025-5-17192.3.2選擇運算(Selection)選擇運算是從指定的關(guān)係中選取滿足給定條件的若干元組以構(gòu)成一個新關(guān)係的運算,其表現(xiàn)形式為:

SELECT關(guān)係名

WHERE條件

其中,條件是由常數(shù)、字段名及其通過相應(yīng)的比較運算符和邏輯運算符連接形成邏輯運算式組成的。2025-5-1720例1:設(shè)有關(guān)係圖書如表所示,從圖書中找出書名是“資料庫理論”的書目。

圖書目總編號分類號書名作者出版單位單價

445501445502445503332211112266665544114455113388TP3/12TP3/12TP3/12TP5/10TP3/12TS7/21TR9/12TR7/90資料庫導(dǎo)論資料庫導(dǎo)論資料庫導(dǎo)論電腦基礎(chǔ)FoxBASE高等數(shù)學(xué)線性代數(shù)大學(xué)英語DateDateDate李偉張三劉明孫業(yè)胡玲科技出版社科技出版社科技出版社高等教育出版社電子工業(yè)出版社高等教育出版社北京大學(xué)出版社清華大學(xué)出版社17.9017.9017.9018.0032.6019.0020.8012.50SELECT圖書WHERE書名=″資料庫導(dǎo)論″查詢結(jié)果包括3個元組2025-5-1721例2:從圖書中找出高等教育出版社出版的,單價不超過20元的書目。SELECT圖書WHERE出版單位=“高等教育出版社”AND單價<=20

查詢結(jié)果包括兩個元組2025-5-17222.3.3投影運算(Projection)關(guān)係R上的投影是從R中選擇出若干屬性列組成新的關(guān)係。投影運算是從指定的關(guān)係中選取指定的若干字段從而構(gòu)成一個新關(guān)係的運算,其表現(xiàn)形式為:PROJECT關(guān)係名(字段名1,字段名2,……,字段名n)2025-5-1723例3:設(shè)有讀者關(guān)係,讀者(借書證號、姓名、性別、單位、職稱、地址)。按照單位在前,姓名在後的次序列出讀者名單。PROJECT讀者(單位、姓名)

此運算結(jié)果包括元組數(shù)目不變,但減少了列的數(shù)目,同時列的順序顛倒過來了。例4:從圖書中找出藏書所涉及的所有的出版社。PROJECT圖書(出版社)查詢結(jié)果包括5個元組。

投影之後不僅減少了某些列,也可能減少了某些元組。以為取消了某些屬性之後,其餘屬性可能有相同的值,造成重複元組,應(yīng)當(dāng)刪除完全相同的元組。2025-5-17242.3.4聯(lián)接運算(Join)

選擇和投影運算都屬於一目運算,它們的操作對象只是一個關(guān)係。連接運算是二目運算,需要兩個關(guān)係作為操作對象。1.聯(lián)接聯(lián)接運算是選取若干個指定關(guān)係中的字段滿足給定條件的元組從左至右連接,從而構(gòu)成一個新關(guān)係的運算,其表現(xiàn)形式為:

JOIN〈關(guān)係1〉A(chǔ)ND〈關(guān)係2〉WHERE〈條件〉2025-5-1725例5

:設(shè)有訂單和庫存兩個關(guān)係如表2-4和表2-5所示。查看存庫量的商品詳情。

表2-4定單關(guān)係訂單號貨號訂貨單位售價訂貨量送貨地點96001JW65陽光公司806.50280天津96002VF90友誼商城588.881700北京96003AB55和平飯店250.991005上海96004EF77五環(huán)實業(yè)590.00600北京2025-5-1726貨號品名庫存量倉庫地點單價VF90電話機1000北京550.00JW65收音機300上海800.50SL88錄影機2600北京11898.50AB55收音機3000上海280.00EF77電視機1200廣州600.00表2-5庫存關(guān)係2025-5-1727表2.6定單關(guān)係訂貨號貨號訂貨單位售價訂購量送貨地點品名存庫量倉庫地點單價96001JW65陽光公司806.50280天津收音機300上海800.5096003AB55和平飯店250.991005上海收音機3000上海280.0096004EF77五還實業(yè)674.00600北京電視機1200廣州600.00JOIN訂單AND庫存WHERE訂單(貨號)=庫存(貨號)AND庫存量>=訂購量結(jié)果如表2-6所示。表2-6例5聯(lián)接結(jié)果2025-5-1728例6:設(shè)有3個關(guān)係:學(xué)生(學(xué)號,姓名,所在系,性別,籍貫,現(xiàn)住址……)課程(課程號,課程名稱,學(xué)分,課時……)選修(學(xué)號,課程號,成績)查詢成績90分以上的學(xué)生姓名。R1=SELECT選修WHERE成績>=90R2=PROJECT學(xué)生(學(xué)號,姓名)R3=JOINR1ANDR2WHERER1(學(xué)號)=R2(學(xué)號)如果用以下方式查詢,效率則低得多。S1=JOIN選課AND學(xué)生WHERE選課(學(xué)號)=學(xué)生(學(xué)號)S2=SELECTS1WHERE成績>=902025-5-1729例7查看選修了“操作系統(tǒng)”課程的學(xué)生詳細情況。S1=SELECT課程WHERE課程名=“操作系統(tǒng)”S2=PROJECTS1(課程號,課程名)S3=JOIN選修ANDS2WHERE選課(課程號)=S2(課程號)S4=JOIN學(xué)生ANDS3WHERE學(xué)生(學(xué)號)=S3(學(xué)號)通過上述例子可見,不同關(guān)係中的公共屬性是自然聯(lián)接的“紐帶”。利用關(guān)係的投影、選擇和自然聯(lián)接可以方便地構(gòu)造新的關(guān)係。2.自然聯(lián)接自然聯(lián)接是去掉重複屬性的等值聯(lián)接。它屬於聯(lián)接運算的一個特例,是最常用的聯(lián)接運算,在關(guān)係運算中起著重要作用。2025-5-1730

2.3.5外關(guān)鍵字

定義:如果一個關(guān)係中的屬性或?qū)傩越M並非該關(guān)係的關(guān)鍵字,但它們是另外一個關(guān)係的關(guān)鍵字,則稱其為該關(guān)係的外關(guān)鍵字。在例5、例6中,訂單關(guān)係中的關(guān)鍵字是訂單號,屬性貨號不是本關(guān)係的關(guān)鍵字,而是庫存關(guān)係的關(guān)鍵字。因此,對於訂單關(guān)係而言,貨號是外關(guān)鍵字。在例7、例8中,選修關(guān)係的關(guān)鍵字是屬性組合(學(xué)號,課程號);學(xué)號或課程號的任何一個都不能唯一確定選修關(guān)係的整個元組,但它們分別是學(xué)生和課程關(guān)係的關(guān)鍵字。因此,對於選修而言,它們是外關(guān)鍵字。2025-5-1731本章小結(jié)

在這一章,我們首先簡單介紹了非關(guān)係模型:層次模型、網(wǎng)狀模型、面向?qū)ο竽P?。然後重點介紹了關(guān)係數(shù)據(jù)模型。通俗的講,一個關(guān)係就是一個二維表。表中的一行是關(guān)係的一個元組,表中的一列為關(guān)係中一個屬性的具體值。應(yīng)當(dāng)掌握關(guān)係模型的特點和關(guān)係運算。關(guān)係運算包括傳

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論