關系數據模型課件_第1頁
關系數據模型課件_第2頁
關系數據模型課件_第3頁
關系數據模型課件_第4頁
關系數據模型課件_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

關係數據模型

2025-5-172§2.1非關係模型

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

2025-5-1731.層次數據模型的數據結構

2.多對多聯繫在層次模型中的表示

3.層次模型的數據操縱與完整性約束

4.層次數據模型的存儲結構

5.層次模型的優缺點

2025-5-174層次模型的優點主要有:

·

層次數據模型本身比較簡單。

·

對於實體間聯繫是固定的,且預先定義好的應用系統,採用層次模型來實現,其性能優於關係模型,不低於網狀模型。

·

層次數據模型提供了良好的完整性支持。

層次模型的缺點主要有:

·

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

·

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

·

查詢子女結點必須通過雙親結點。

·

由於結構嚴密,層次命令趨於程式化。

2025-5-1752.1.2網狀模型(NetworkDataModel)

1.網狀數據模型的數據結構

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

3.網狀數據模型的存儲結構

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

S1C2S2C2S2C1S2C3S3C1S3C2S3C3S3C4C1C3C4C2S1S3S2(b)

圖2-1網狀模型2025-5-1774.網狀數據模型的優缺點

網狀數據模型的優點主要有:

·

能夠更為直接地描述現實世界,如一個結點可以有多個雙親。

·

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

網狀數據模型的缺點主要有:

·

結構比較複雜,而且隨著應用環境的擴大,資料庫的結構就變得越來越複雜,不利於最終用戶掌握。

·

其DDL,DML語言複雜,用戶不容易使用。2025-5-1782.1.3面向對象模型(ObjectOrientedModel)

面向對象模型中最基本的概念是對象(object)和類(class)。1.對象現實世界中實體的模型化,它和記錄的概念相似,但更複雜。每個對象有一個唯一的識別字,並把一個狀態(state)和一個行為(behavior)封裝在一起。2.類每個類有兩部分組成,其一是對象類型;其二是對這個對象類型進行的操作方法。對象的狀態是描述該對象屬性值的集合,對象的行為是對該對象操作的集合。2025-5-1793.類層次一個系統中所有的類和子類組成一個樹狀的類層次。4.面向對象模型的優缺點優點:由於面向對象模型中不僅包括描述對象狀態的屬性集,而且包括類的方法及類層次,具有更加豐富的表達能力。因此,面向對象的資料庫比層次、網狀、關係資料庫使用方便。缺點:由於模型複雜,系統實現起來難度大。2025-5-1710

§2.2關係模型(RelationDataModel)

2.2.1二維表

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

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

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

1.關係必須規範化所謂規範化是指關係模型中的每一個關係模式都必須滿足一定的要求。2.

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

·關係模型與非關係模型不同,它是建立在嚴格的數學概念的基礎上的。

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

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

SELECT關係名

WHERE條件

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

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

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

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

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

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

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

JOIN〈關係1〉AND〈關係2〉WHERE〈條件〉2025-5-1725例5

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

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

2.3.5外關鍵字

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

在這一章,我們首先簡單介紹了非關係模型:層次模型、網狀模型、面向對象模型。然後重點介紹了關係數據模型。通俗的講,一個關係就是一個二維表。表中的一行是關係的一個元組,表中的一列為關係中一個屬性的具體值。應當掌握關係模型的特點和關係運算。關係運算包括傳

溫馨提示

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

評論

0/150

提交評論