高等教育第2章 數(shù)據(jù)模型_第1頁
高等教育第2章 數(shù)據(jù)模型_第2頁
高等教育第2章 數(shù)據(jù)模型_第3頁
高等教育第2章 數(shù)據(jù)模型_第4頁
高等教育第2章 數(shù)據(jù)模型_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章數(shù)據(jù)模型1主要內(nèi)容:信息的三個世界, 概念模型(E-R模型)數(shù)據(jù)模型的組成、發(fā)展(層次模型、網(wǎng)狀模型、關系模型)數(shù)據(jù)模型的三要素

重點:概念模型、E-R模型、關系模型難點:概念模型、數(shù)據(jù)模型22.1信息的三個世界2.2概念模型2.3邏輯模型(數(shù)據(jù)模型) 2.4本章小結(jié)第2章數(shù)據(jù)模型3數(shù)據(jù)從現(xiàn)實生活進入到數(shù)據(jù)庫實際經(jīng)歷了若干個階段

數(shù)據(jù)的三種范疇現(xiàn)實信息機器在數(shù)據(jù)庫中如何表示現(xiàn)實世界中的數(shù)據(jù)和信息呢?2.1信息的三個世界42.1.1現(xiàn)實世界

現(xiàn)實世界是存在于人腦之外的客觀世界。 現(xiàn)實世界由萬事萬物組成。事物可用“對象”和“性質(zhì)”來描述,事物又有“共同事物”和“特殊事物”的區(qū)分??陀^事物之間存在著相互聯(lián)系。 要求解現(xiàn)實問題,就要從找出反映實際問題的對象入手,研究它們的性質(zhì)及其內(nèi)在規(guī)律,從而找到求解方法。反映事物間聯(lián)系的是內(nèi)在規(guī)律。5

信息世界就是現(xiàn)實世界在人腦中的反映,又稱概念(觀念)世界。

客觀事物在信息世界中被抽象為實體, 客觀事物之間的相互聯(lián)系在信息世界中被抽象為概念模型。

現(xiàn)實世界是物質(zhì)的,相對而言, 信息世界是抽象的——是對現(xiàn)實世界的抽象。2.1.2信息世界6在信息世界中,常用的主要概念如下:

1.實體(Entity)

2.屬性(Attributes)

3.實體型(EntityType)4.實體集(EntitySet)5.聯(lián)系(Relationship)2.1.2信息世界7實體

1.實體(Entity)——客觀存在并可相互區(qū)別的事物稱為實體。說明:這里的事務可以是客觀事物,也可以是抽象事件??陀^存在的抽象的概念或事件,如:訂貨、演出、足球賽……等也是實體可以觸及的客觀對象,即具體的人、事、物,如:學生、部門、課程、倉庫、器件、職工……等是實體8屬性身高年齡性別體重……比賽時間、地點、參賽隊……2.屬性(Attributes)——實體所具有的某一特性。說明:屬性有“型”和“值”之分。如性別就是一個屬性的型,而男、女就是性別屬性的值。93.實體型(EntityType)——若干個屬性型組成的集合。 說明:實體型用實體名及其屬性名集合來描述同類實體。如:學生(學號,姓名,性別,出生年月,系,入學時間)。實體型104.實體集——具有相同特征(也叫同型實體)的一類實體的集合。

如:全體學生就是一個實體集。學生實體集課程實體集教師實體集教室實體集實體集115.聯(lián)系(Relationship)——現(xiàn)實世界中,事務內(nèi)部以及事務之間的聯(lián)系在信息世界中的抽象。

分為2種聯(lián)系:實體內(nèi)部的聯(lián)系:通常是指組成實體的各屬性之間的聯(lián)系(反映現(xiàn)實世界中事物內(nèi)部的聯(lián)系)實體之間的聯(lián)系:通常是指不同實體集之間的聯(lián)系(反映現(xiàn)實世界中事物之間的聯(lián)系)聯(lián)系12信息世界的其他概念6.鍵(Key)能唯一標識一個實體的屬性或者屬性集稱為實體的鍵。例如學號是學生實體的鍵。7.域(Domain) 屬性的取值范圍稱為該屬性的域。例如學號的域為8位整數(shù),姓名的域為字符串集合,性別的域為(男,女)。13數(shù)據(jù)世界是在信息世界的基礎上,對客觀事物及其聯(lián)系的進一步抽象。信息世界中的實體在數(shù)據(jù)世界中被抽象為數(shù)據(jù)。現(xiàn)實世界中的事物及聯(lián)系在數(shù)據(jù)世界中用數(shù)據(jù)模型來描述。2.1.3數(shù)據(jù)世界(機器世界)14數(shù)據(jù)世界中常用的主要概念如下:1.記錄(Record)

對應于信息世界中的“實體”。如一個學生(990001,張立,20,男,計算機)為一個記錄。2.字段(Field)

對應于信息世界中的”屬性”

,也稱為數(shù)據(jù)項。字段的命名往往和屬性名相同。如學生有學號、姓名、年齡、性別、系等字段。3.文件(File)

對應于信息世界中的“實體集”。如所有學生的記錄組成了一個學生文件。2.1.3數(shù)據(jù)世界(機器世界)15現(xiàn)實世界信息世界數(shù)據(jù)世界事物總體實體集文件事物個體實體記錄特征屬性字段/數(shù)據(jù)項事物之間的聯(lián)系概念模型數(shù)據(jù)模型圖2-2三個世界的各術(shù)語的對應關系

2.1.4三個世界之間的關系16客觀世界是信息之源,是設計DB的出發(fā)點概念模型和數(shù)據(jù)模型是對客觀事物的兩級抽象描述:概念模型是按用戶的觀點來建模,對應于信息世界數(shù)據(jù)模型是按計算機系統(tǒng)的觀點來建模,對應于數(shù)據(jù)世界數(shù)據(jù)庫的核心問題是數(shù)據(jù)模型2.1.4三個世界之間的關系17

將客觀事物抽象為能用計算機存儲和處理的數(shù)

據(jù)需經(jīng)歷三個階段:數(shù)據(jù)模型概念模型現(xiàn)實世界信息世界數(shù)據(jù)世界2.1.4三個世界之間的關系182.2概念模型概念模型(conceptualdatamodel)——是面向用戶的模型,它是用戶所容易理解的現(xiàn)實世界特征的數(shù)據(jù)抽象。

概念模型用于信息世界的建模19概念模型具有兩方面的特征:是現(xiàn)實客觀世界特征的第一層次的抽象。是數(shù)據(jù)庫設計人員與用戶之間進行交流的語言。概念模型需要滿足兩方面的要求:具有較強的語義表達能力,能夠方便、直接地表達應用中的各種語義知識;應該簡單、直觀、清晰,易于為沒有多少專業(yè)知識的用戶所理解。2.2概念模型20實體:客觀存在,并可以相互區(qū)分的事物就是實體。屬性:一個實體通常具有若干個特征,其中的每一個特征就稱為實體的一個屬性。 說明:屬性不能脫離實體,屬性是相對實體而言的,它表征了實體的一個特征。

聯(lián)系:實體集之間的對應關系稱為聯(lián)系,它反映現(xiàn)實世界事物之間的相互關聯(lián)。1.實體、屬性及聯(lián)系212.實體間的聯(lián)系

實體集內(nèi)部的聯(lián)系實體集之間的聯(lián)系一對一聯(lián)系(1:1)一對多聯(lián)系(1:n)多對多聯(lián)系(m:n)22一對一聯(lián)系

定義:對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:123一對多聯(lián)系

對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1:n24多對多聯(lián)系

對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系,記為m:n25考考你學生與學號班級與學生教師與學生說出它們的聯(lián)系類型263.實體聯(lián)系(E-R)方法

概念模型中最常用和最著名的模型是實體-聯(lián)系模型(E—R模型)E—R模型的圖示形式就稱為E—R圖。E—R圖提供了用圖形表示實體、屬性和聯(lián)系的方法。E—R圖的要點如下:實體——用矩形表示實體型,矩形內(nèi)標明實體名;屬性——用橢圓形表示屬性,并用無向邊將其與相應的實體聯(lián)結(jié)起來;聯(lián)系——用菱形表示聯(lián)系,菱形內(nèi)寫出聯(lián)系名,同無向邊分別與有關實體聯(lián)結(jié)起來,同時在無向邊旁邊標上聯(lián)系的類型(1∶1,1∶n,m∶n)。27(1)實體聯(lián)系模型(E-R模型)

E-R模型的三要素:實體、屬性、實體間的聯(lián)系。表示屬性表示實體間聯(lián)系表示實體28(a)兩個實體之間的聯(lián)系學生選修成績課程系主任領導系學生屬于系11n1mn供應商供應數(shù)量零件項目mnn(b)多個實體之間的聯(lián)系(c)實體集內(nèi)部的聯(lián)系職工

領導1n學生選修學號(a)實體(b)屬性(c)聯(lián)系292.3邏輯數(shù)據(jù)模型(數(shù)據(jù)模型)通常,我們把邏輯數(shù)據(jù)模型簡稱為數(shù)據(jù)模型。關系數(shù)據(jù)庫之父E·F·Codd認為:一個基本數(shù)據(jù)模型是一組向用戶提供的規(guī)則,這些規(guī)則規(guī)定數(shù)據(jù)結(jié)構(gòu)如何組織以及允許進行何種操作。302.3數(shù)據(jù)模型目前最常用的數(shù)據(jù)模型有層次模型(HierarchicalModel)網(wǎng)狀模型(NetworkModel)關系模型(RelationalModel)說明:這3種數(shù)據(jù)模型的根本區(qū)別在于數(shù)據(jù)結(jié)構(gòu)不同,即數(shù)據(jù)之間聯(lián)系的表示方法不同。通常按數(shù)據(jù)結(jié)構(gòu)的類型來命名數(shù)據(jù)模型。如:層次結(jié)構(gòu)的數(shù)據(jù)模型是層次模型,網(wǎng)狀結(jié)構(gòu)的數(shù)據(jù)模型是網(wǎng)狀模型,關系結(jié)構(gòu)的數(shù)據(jù)模型是關系模型。311.數(shù)據(jù)模型的三要素

1)數(shù)據(jù)結(jié)構(gòu)2)數(shù)據(jù)操作3)完整性約束321)數(shù)據(jù)結(jié)構(gòu)什么是數(shù)據(jù)結(jié)構(gòu)

描述數(shù)據(jù)庫的組成對象,以及對象之間的聯(lián)系描述的內(nèi)容與數(shù)據(jù)類型、內(nèi)容、性質(zhì)有關的對象與數(shù)據(jù)之間聯(lián)系有關的對象數(shù)據(jù)結(jié)構(gòu)是對系統(tǒng)靜態(tài)特性的描述332)數(shù)據(jù)操作什么是數(shù)據(jù)操作 對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作及有關的操作規(guī)則數(shù)據(jù)庫中最主要的數(shù)據(jù)操作有2類:數(shù)據(jù)查詢數(shù)據(jù)更新(包括插入、刪除、修改)數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)以及實現(xiàn)操作的語言。數(shù)據(jù)操作是對系統(tǒng)動態(tài)特性的描述343)數(shù)據(jù)的完整性約束什么是數(shù)據(jù)的完整性約束條件一組完整性規(guī)則的集合。完整性規(guī)則:含義:給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則作用:用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確、有效、相容。353)數(shù)據(jù)的完整性約束數(shù)據(jù)模型應包含的2個方面的完整性約束規(guī)定本數(shù)據(jù)模型必須遵守的基本的通用的完整性約束條件。舉例:例如在關系模型中,任何關系必須滿足實體完整性和參照完整性2個條件。提供用戶定義完整性約束條件的機制,以反映具體應用所涉及的數(shù)據(jù)必須遵守的特定的語義約束條件。舉例:例如在“學生管理信息系統(tǒng)”中,學生課程的分數(shù)不能為負數(shù)。362.層次模型層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型采用層次模型的數(shù)據(jù)庫的典型代表是IBM公司的IMS(InformationManagementSystem)數(shù)據(jù)庫管理系統(tǒng)層次模型用一棵“有向樹”的數(shù)據(jù)結(jié)構(gòu)來表示各類實體以及實體間的聯(lián)系。37層次模型有向樹的示意圖層次模型中的幾個術(shù)語根結(jié)點,雙親結(jié)點,兄弟結(jié)點,葉結(jié)點根結(jié)點——沒有雙親的結(jié)點葉結(jié)點——沒有子女的結(jié)點38層次模型的含義: 滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型1)有且僅有一個結(jié)點沒有雙親,該結(jié)點就是根結(jié)點;2)根以外的其他結(jié)點有且僅有一個雙親結(jié)點。說明:這就使得層次數(shù)據(jù)庫系統(tǒng)只能直接處理一對多的實體關系;層次模型的含義和特征39層次模型的特征1)結(jié)點的雙親是唯一的2)只能直接處理一對多的實體聯(lián)系3)在樹中,每個結(jié)點表示一個記錄類型(對應“實體”),每個記錄類型可以包含若干個字段4)任何一個給定的記錄值只有按其路徑查看時,才能顯出它的全部意義5)沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在。40層次模型的表示方法教員學生層次數(shù)據(jù)庫模型1)實體型:用記錄型描述每個結(jié)點表示一個記錄型(實體),圖中共有

4個結(jié)點2)屬性:用字段描述每個記錄型可包含若干個字段3)聯(lián)系:用結(jié)點之間的連線表示記錄型(實體)之間的一對多(1:n)的父子聯(lián)系41層次模型的“記錄值”教員學生層次數(shù)據(jù)庫的一個值學生對應上述層次數(shù)據(jù)模型,該值是D02(計算機系)記錄值及其所有后代記錄值組成的一棵樹。42層次模型的數(shù)據(jù)操縱與數(shù)據(jù)完整性約束層次模型的數(shù)據(jù)操縱主要有查詢、插入、刪除和修改進行插入、刪除和修改操作時要滿足層次模型的完整性約束條件。進行插入操作時,如果沒有相應的雙親結(jié)點值就不能插入子女結(jié)點值;進行刪除操作時,如果刪除雙親結(jié)點值,則相應的子女結(jié)點值也被同時刪除;修改操作時,應修改所有相應的記錄,以保證數(shù)據(jù)的一致性。43層次模型的優(yōu)缺點優(yōu)點比較簡單,容易使用。結(jié)構(gòu)清晰,結(jié)點間聯(lián)系簡單。它提供了良好的數(shù)據(jù)完整性支持。缺點不能直接表示兩個以上的實體型間的復雜的聯(lián)系和實體型間的多對多聯(lián)系,只能通過引入冗余數(shù)據(jù)或創(chuàng)建虛擬結(jié)點的方法來解決,易產(chǎn)生不一致性。對數(shù)據(jù)的插入和刪除的操作限制太多。查詢子女結(jié)點必須通過雙親結(jié)點。44層次型不能直接表示

多對多(m:n)的聯(lián)系把有兩個父結(jié)點的非層次結(jié)構(gòu)轉(zhuǎn)換成兩個層次型453.網(wǎng)狀模型網(wǎng)狀模型取消了層次模型的不能表示非樹型結(jié)構(gòu)的限制有向樹變成了有向圖,用有向圖描述了網(wǎng)狀模型。網(wǎng)狀模型的含義和特征滿足下面兩個條件的基本層次聯(lián)系的集合允許有一個以上的結(jié)點沒有雙親至少有一個結(jié)點可以有多于一個雙親。46網(wǎng)狀模型的例子(a)(b)(c)3.網(wǎng)狀模型47多對多聯(lián)系在網(wǎng)狀模型中的表示用網(wǎng)狀模型間接表示多對多聯(lián)系將多對多聯(lián)系直接分解成一對多聯(lián)系例(某“多對多聯(lián)系”):一個學生可以選修若干門課程,某一課程可以被多個學生選修,學生與課程之間是多對多聯(lián)系引進一個學生選課的聯(lián)結(jié)記錄,由3個數(shù)據(jù)項組成學號課程號成績3.網(wǎng)狀模型48學生/選課/課程的網(wǎng)狀數(shù)據(jù)模型3.網(wǎng)狀模型49網(wǎng)狀模型的數(shù)據(jù)操縱與完整性約束網(wǎng)狀模型的數(shù)據(jù)操縱:主要包括查詢、插入、刪除和修改數(shù)據(jù)進行插入、刪除和修改操作時要滿足網(wǎng)狀模型的完整性約束條件。插入數(shù)據(jù)時,允許插入尚未確定雙親結(jié)點值的子女結(jié)點值刪除數(shù)據(jù)時,允許只刪除雙親結(jié)點值修改數(shù)據(jù)時,可直接表示非樹形結(jié)構(gòu),而無需像層次模型那樣增加冗余結(jié)點50優(yōu)點能更為直接地描述客觀世界,可表示實體間的多種復雜聯(lián)系。具有良好的性能和存儲效率。缺點結(jié)構(gòu)復雜,其DDL語言極其復雜。數(shù)據(jù)獨立性差,由于實體間的聯(lián)系本質(zhì)上是通過存取路徑表示的,因此應用程序在訪問數(shù)據(jù)時要指定存取路徑。網(wǎng)狀模型的優(yōu)缺點514.關系模型關系模型是發(fā)展較晚的一種模型,1970年美國IBM公司的研究員E.F.Codd首次提出了數(shù)據(jù)庫系統(tǒng)的關系模型。20世紀80年代以來,計算機廠商新推出的DBMS幾乎都支持關系模型,非關系系統(tǒng)的產(chǎn)品也都加上了關系接口。數(shù)據(jù)庫領域當前的研究工作也都是以關系方法為基礎。關系數(shù)據(jù)庫已成為目前應用最廣泛的數(shù)據(jù)庫系統(tǒng),如現(xiàn)在廣泛使用的小型數(shù)據(jù)庫系統(tǒng)Foxpro、Acess,大型數(shù)據(jù)庫系統(tǒng)Oracle、Informix、Sybase、SQLServer等都是關系數(shù)據(jù)庫系統(tǒng)52在用戶觀點下,關系模型中的數(shù)據(jù)結(jié)構(gòu)是一張二維表。這種表稱為“關系”。

4.關系模型534.關系模型54關系模型的基本概念1)關系(Relation):一個關系對應一張二維表2)元組(Tuple):表格中的一行3)屬性(Attribute):表格中的一列,相當于記錄中的一個字段4)關鍵字(Key):可唯一標識元組的屬性或?qū)傩约?,也稱為關系鍵或主碼5)域(Domain):屬性的取值范圍6)分量:元組中的一個屬性值7)關系模式:對關系的描述,一般表示為關系名(屬性1,屬性2,…,屬性n)比如:學生(學號,姓名,年齡,性別,系,年級)55關系模型的數(shù)據(jù)操縱主要包括查詢、插入、刪除和修改數(shù)據(jù)這些操作必須滿足關系的完整性約束條件,即實體完整性、參照完整性和用戶定義的完整性。 說明:

1)在非關系模型中,操作對象是單個記錄,在關系模型中,操作對象和操作結(jié)果都是關系,即若干元組的集合;

2)存取路徑對用戶隱蔽:用戶只要指出“干什么”,而不必詳細說明“怎么干”,從而大大地提高了數(shù)據(jù)的獨立性,提高了用戶的生產(chǎn)率。關系模型的數(shù)據(jù)操縱與完整性約束56優(yōu)點(詳見第3章)建立在嚴格數(shù)學概念基礎上,有嚴格的設計理論。概念單一、結(jié)構(gòu)簡單直觀、易理解、語言表達簡練。描述一致,實體和聯(lián)系都用關系描述,查詢操作結(jié)果也是一個關系。利用公共屬性連接,實體間的聯(lián)系容易實現(xiàn)。由于存取路徑對用戶透明,從而使得數(shù)據(jù)獨立性更高,安全保密性更好。缺點由于存取路徑對用戶透明,查詢效率往往不如非關系模型為了提高性能,必須對用戶的查詢表示進行優(yōu)化,增加了開發(fā)DBMS的負擔。關系模型的優(yōu)缺點575.面向?qū)ο竽P停裕╇m然關系模型比層次模型、網(wǎng)狀模型簡單靈活,但還不能表達現(xiàn)實世界的很多復雜的數(shù)據(jù)結(jié)構(gòu)。如CAD中的圖形,多媒體應用中的聲音、圖像等。面向?qū)ο竽P褪敲嫦驅(qū)ο蟪绦蛟O計方法與數(shù)據(jù)庫技術(shù)相結(jié)合的產(chǎn)物。其基本目標是:以更接近人類思維的方式描述客觀世界的事物及其聯(lián)系。面向?qū)ο蟪绦蛟O計方法是目前程序設計中主要的方法之一,它簡單、直觀、自然,十分接近人類分析和處理問題的自然思維方式,同時又能有效地用來組織和管理不同類型的數(shù)據(jù)。58一系列面向?qū)ο蟮暮诵母拍顦?gòu)成了面向?qū)ο髷?shù)據(jù)模型的基礎,其中主要包括:對象和對象標識屬性和方法封裝和消息類和繼承59優(yōu)點不僅能存儲數(shù)據(jù),而且存儲了定義在數(shù)據(jù)上的操作

溫馨提示

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

評論

0/150

提交評論