第2章 數據模型與概念模型_第1頁
第2章 數據模型與概念模型_第2頁
第2章 數據模型與概念模型_第3頁
第2章 數據模型與概念模型_第4頁
第2章 數據模型與概念模型_第5頁
已閱讀5頁,還剩24頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

數據庫系統原理及應用機械工業出版社

2023/2/5第2章數據模型與概念模型2.1信息的三種世界及其描述2.2概念模型及其表示2.2.1概念模型的基本概念

2.2.2概念模型的表示方法2.3常見的數據模型2.3.1數據模型概述2.3.2層次數據模型2.3.3網狀數據模型2.3.4關系數據模型2.3.6對象關系數據模型理解掌握學會導入:

要想為一個數據庫建立數據模型(表),首先深入到現實世界中進行系統需求分析,然后用概念模型真實地、全面地描述現實世界中的管理對象及聯系,最后通過一定方法將概念模型轉換為數據模型。現實世界信息世界計算機世界收集信息概念模型數據模型2.1信息的三種世界及其描述數據庫中所存儲的數據來源于現實世界的信息流,

信息流通過一事實上方法將其轉換成計算機所能接受的數據形式。整個過程便是從現實世界向計算機世界的轉換。

1.信息的現實世界

將現實世界存在的各種事物、事物之間的相互聯系及事物的發生變化過程使用概念模型加以描述,通過實體、特征、實體集及聯系進行劃分和認識現實世界。(1)實體(Entity)

現實世界中存在的可以相互區分的事物或概念。如一個學生、一個工人、一臺機器等。

(2)實體的特征(EntityCharacteristic)

每個實體都有自己的特征,利用實體的特征可以區別不同的實體。如學生實體中的學號,姓名,年齡等都屬于特征,其實就是字段名。

(3)實體集及實體集間的聯系(Relation)

具有相同特征或能用同樣特征描述的實體的集合。通俗講,如學生表、成績表、職工表、工資表等實體集,以及實體集之間的聯系。2.信息世界

在信息世界中:實體的特征在頭腦中形成的知識稱為屬性;實體通過其屬性(字段名)表示稱為實例;同類實例的集合稱為對象,對象即實體集中的實體用屬性表示得出的信息集合;實體集之間的聯系用對象聯系表示。信息世界通過概念模型、過程模型和狀態模型反映現實世界,它要求對現實世界中的事物、事物間的聯系和事物的變化情況準確、如實、全面地表示。概念模型通過E-R圖中的對象、屬性和聯系對現實世界的事物及關系給出靜態描述。3.信息的計算機世界經過信息世界概念模型的描述,將其數字化處理形成計算機能夠處理的數據,便進入計算機世界。計算機世界所用術語:1)數據項(Item):對象屬性的數據表示。名稱、類型、寬度和值域。

2)記錄(Record):實例的數據表示。記錄有型和值之分:記錄的型是結構,由數據項的型構成;記錄的值表示對象中的一個實例,它的分量是數據項值。

3)文件(File):對象的數據表示,同類記錄的集合。如學生表中每條記錄都要按其姓名、性別、年齡、所在系的結構組織數據項值。

4)數據模型(DataModel):現實世界中的事物和相互聯系數據化的結果就是數據模型。4.現實世界、信息世界和計算機世界的關系信息的三種世界術語的對應關系表現實世界信息世界

計算機世界

實體

實例

記錄

特征

屬性

數據項

實體集

對象或實體型

數據或文件

實體間的聯系對象間的聯系

數據間的聯系

概念模型數據模型

現實世界、信息世界和計算機世界的關系信息的三個世界的聯系和轉換過程

現實世界系統分析

信息世界數據庫設計計算機世界

事物及聯系信息化概念模型數據化數據模型現實世界的事物及聯系,通過系統分析成為信息世界的概念模型,然后將概念模型經過數據化處理轉換為數據模型。2.2概念模型及其表示2.2.1概念模型的基本概念

1.概念模型涉及的基本概念

(1)對象(Object)和實例(Instance)

現實世界中具有相同性質、服從相同規則的一類事物(概念)的抽象稱為對象。對象中的每一個具體的事物(實體)為該對象的實例。

(2)屬性(Attribute)

屬性為實體的某一方面特征的抽象表示。

(3)主碼(PrimaryKey)和次碼(SecondaryKey)

碼能夠惟一標識一個實體;不能惟一標識實體的屬性叫次碼。

(4)域(Domain)

屬性的取值范圍稱為屬性的域。

概念模型是對信息世界的管理對象、屬性及聯系等信息的描述形式。概念模型不依賴計算機及DBMS,它是現實世界的真實全面反映。2.實體聯系的類型(1)兩個實體集之間的聯系

1)一對一聯系(1:1):設有兩個實體集A和B,對于A中的每一個實體,B中至多有一個實體與之聯系;反之亦然。

2)一對多聯系(1:n):設有兩個實體集A和B,對于A的每一個實體,B中有一個或多個實體與之聯系;而對于B的每一個實體,A中至多有一個實體與之聯系。

3)多對多聯系(m:n):設有兩個實體集A和B,對于A的每一個實體,B中有一個或多個實體與之聯系;反之亦然。兩個實體集之間的聯系工廠

負責廠長11學校

工作教師1n職工

參加體育團體mn兩個實體集聯系的例子(2)多實體集之間的聯系1)多實體集之間的一對多聯系。

設實體集E1,…En,對于實體集Ej(j=1,…n)中的一個給定實體,最多只和其他實體集Ei(ij)中的一個實體相聯系,則稱Ej與E1…,En之間的聯系是一對多的。

2)多實體集之間的多對多聯系。

在兩個以上的多個實體集之間,當一個實體集與其他實體集之間均存在多對多聯系,而其他實體集之間沒有聯系時,這種聯系稱為多實體集間的多對多聯系。課程講授教師參考書1nm供應商供應項目零件mpn2.2.2概念模型的表示方法1)用長方形表示實體集,長方形內寫明實體集名。2)用橢圓形表示實體集的屬性,并用線段將其與相應的實體集連接起來。3)用菱形表示實體集間的聯系,菱形內寫上聯系名,用線段分別與有關實體集連接起來,在線段旁標出聯系的類型。如果聯系具有屬性,則該屬性仍用橢圓框表示,仍需要用線段將屬性與其聯系連接起來。學生學號姓名性別年齡所在系2.3

常見的數據模型2.3.1數據模型概述

1.數據模型的三要素

1)數據結構:所研究的對象類型的集合。包括與數據類型、內容、性質有關的對象;與數據之間聯系有關的對象。

2)數據操作:對數據庫中各種數據對象允許執行的操作集合。包括操作對象和有關的操作規則兩部分。

3)數據約束條件:一組數據完整性規則的集合。

2.常見的數據模型

層次模型、網狀模型和關系模型。

在非關系模型中,實體集用記錄表示,實體的屬性對應記錄的數據項(或字段)。實體集之間的聯系轉換成兩兩記錄之間的聯系。非關系模型中數據結構的單位是基本層次聯系。RiRjLij2.3.2層次數據模型1.層次模型的數據結構

(1)層次模型的定義

1)有且僅有一個結點沒有雙親結點,這個結點稱為根結點。

2)除根結點之外的其他結點有且只有一個雙親結點。

(2)層次模型的數據表示方法

實體集使用記錄表示;記錄型包含若干個字段;記錄值表示實體;記錄之間的聯系使用基本層次聯系表示。

(3)層次模型的特點

層次模型像一棵倒立的樹,只有一個根結點,有若干個葉結點,結點的雙親是惟一的。

院系編號院系名稱辦公地點教研室編號教研室學號姓名年齡專業方向職工號姓名教學院系數據模型院系教研室學生教師D10計算機系9號樓C01硬件教研室C02軟件教研室00001王平2000002李麗20電器92001王海自動化92002張錚數據庫92003許明人工智能92004陳真教學院系數據庫的一個實例2.層次模型的完整性約束條件在進行插入記錄值操作時,如果沒有指明相應的雙親記錄值(首記錄值),則不能插入子女記錄值(屬記錄值)。(2)進行刪除記錄操作時,如果刪除雙親記錄值(首記錄值),則相應的子女結點值(屬記錄值)也同時被刪除。(3)進行修改記錄操作時,應修改所有相應記錄,以保證數據的一致性。

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

(1)網狀模型結構的基本特征

1)有一個以上的結點沒有雙親。2)結點可以有多于一個的雙親。

(2)網狀模型的數據表示方法

1)使用記錄和記錄值表示實體集和實體;每個結點表示一個記錄,每個記錄包含若干個字段。

2)聯系(系)用結點間的有向線段表示。每個有向線段表示一個記錄間的一對多的聯系。

R1R2R1R2R3R4R1R3R2

L1L2L1L2L1L2L32.網狀模型的完整性約束條件支持記錄碼的概念。碼即惟一標識記錄的數據項的集合。2)保證一個聯系中雙親記錄和子女記錄之間是一對多的聯系。3)可以支持雙親記錄和子女記錄之間某些約束條件。2.3.4關系數據模型1.關系模型的數據結構

(1)關系模型中的主要術語1)關系。一個關系對應通常所說的一張二維表。2)元組。表中的一行稱為一個元組。3)屬性。表中的一列稱為一個屬性。4)主碼。表中的某個屬性或屬性組,值可以惟一地確定一個元組,且屬性組中不含多余的屬性。5)域。屬性的取值范圍稱為域。6)分量。元組中的一個屬性值稱為分量。7)關系模式。關系的型稱為關系模式,是對關系的描述。(2)關系模型中的數據全部用關系表示關系模式一般的表示是:關系名(屬性1,屬性2,…,屬性n).學生學籍表

學號姓名性別年齡所在系00001王平男20計算機系00002李麗女20計算機系00010張曉剛男19數學系……………2.關系操作和完整性約束條件3.關系模型與非關系模型比較

1)關系數據模型建立在嚴格的數學基礎之上。

2)關系數據模型的概念單一,容易理解。

3)關系數據模型的存取路徑對用戶隱蔽。

4)關系模型中的數據聯系是靠數據冗余實現的。

關系操作主要包括數據查詢和插入、刪除、修改數據。關系中的數據操作是集合操作。關系操作語言都是高度非過程的語言關系的完整性約束條件包括三類:實體完整性、參照完整性和用戶定義的完整性。2.3.6對象關系數據模型1.對象關系數據模型的概念對象關系數據模型使用二維表表示數據,它包括關系表和對象表兩種。關系表屬于關系模型,關系的屬性對應于表的列,關系的元組對應于表的行,關系模型裝不支持方法。對象表屬于面向對象數據模型,支持面向對象的基本功能,對象的類抽象對應二維表,類的實例(對象)對應于表中的行,類的屬性對應于表的列,通過對象可調用方法。2.對象表的數據類型和表結構特點(1)對象表的屬性支持復合數據類型關系表強調屬性數據只能是不可分割的簡單數據項,復合數據是不允許出現的。對象表的數據可以是基本項,也可以是組合數據項學生信息的對象表結構學號姓名年齡班級家庭聯系人姓名與學生關系電話單位(2)對象表的屬性支持可變長數組類型關系表的屬性不支持數組類型,更不支持可變長的數組類型。對于一些數據個數不確定的信息,關系表只能獨立新建表的方法解決。對象表增加了數組類型,用戶可以使用可變長的數組類型保存記錄中數據個數不一樣的屬性數據。學生-選課的對象表學號姓名年齡班級課程名成績040011王剛2004(2)數據庫72C語言87軟件工程76040012李力2104(2)數據庫67040013田紅2004(3)數據庫86軟件工程75(3)對象表的屬性支持嵌入表數據類型

對象表中的屬性,不僅可以是復合數

溫馨提示

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

評論

0/150

提交評論