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

下載本文檔

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

文檔簡介

數(shù)據(jù)庫原理與應(yīng)用第2章數(shù)據(jù)模型第2章數(shù)據(jù)模型數(shù)據(jù)的三個范疇1數(shù)據(jù)模型概述

2數(shù)據(jù)模型的組成要素3概念模型4組織層數(shù)據(jù)模型5小結(jié)62.1數(shù)據(jù)的三個范疇1)客觀世界,指人們頭腦之外的客觀世界。在現(xiàn)實世界中有大量的客觀事物存在,這些事物可以是具體的,也可以是抽象的。2)概念世界,又稱為信息世界,是現(xiàn)實世界在人們頭腦中的抽象概念或反映。信息世界是現(xiàn)實世界通向計算機世界的橋梁。3)數(shù)據(jù)世界,又稱為計算機世界。為了讓計算機處理信息,人們還需要將信息進一步抽象為計算機能夠識別的數(shù)據(jù)。數(shù)據(jù)世界是信息世界中的信息的數(shù)據(jù)化。2.1數(shù)據(jù)的三個范疇圖2-1數(shù)據(jù)抽象過程2.2數(shù)據(jù)模型概述模型是對現(xiàn)實世界中復(fù)雜對象的特征的模擬和抽象。數(shù)據(jù)模型是對現(xiàn)實世界的模擬。數(shù)據(jù)模型一般應(yīng)滿足三個要求要能比較真實地模擬現(xiàn)實世界;要能夠容易被人們理解;要能夠很方便地在計算機上實現(xiàn)。2.2數(shù)據(jù)模型概述根據(jù)應(yīng)用的不同層次,可以將數(shù)據(jù)模型分為兩類概念層數(shù)據(jù)模型也稱為概念模型或信息模型,它是從數(shù)據(jù)的應(yīng)用語義角度來抽取模型,并按照用戶的觀點來對數(shù)據(jù)和信息進行建模。組織層數(shù)據(jù)模型也稱為組織模型或數(shù)據(jù)模型。它從數(shù)據(jù)的組織方式來描述數(shù)據(jù)。邏輯模型網(wǎng)狀模型、層次模型、關(guān)系模型等。物理模型2.2數(shù)據(jù)模型概述圖2-2現(xiàn)實世界抽象過程2.3數(shù)據(jù)模型的組成要素數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是所研究對象的數(shù)據(jù)類型的集合。數(shù)據(jù)結(jié)構(gòu)是對數(shù)據(jù)的組織方式及其類型(即靜態(tài)特性)的描述,是描述一個數(shù)據(jù)模型性質(zhì)的重要的方面。數(shù)據(jù)操作數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。數(shù)據(jù)結(jié)構(gòu)不同,數(shù)據(jù)操作及其操作規(guī)則就有所不同。完整性約束條件數(shù)據(jù)的完整性約束是一組完整性規(guī)則的集合,

是給定的數(shù)據(jù)模型中的數(shù)據(jù)及其聯(lián)系所滿足的制約和依存規(guī)則。2.3數(shù)據(jù)模型的組成要素任何數(shù)據(jù)模型本身蘊含著該模型所必須滿足的基本的、通用的完整性約束條件,保證數(shù)據(jù)庫中的數(shù)據(jù)符合該數(shù)據(jù)模型的要求。數(shù)據(jù)庫系統(tǒng)必須提供完整性規(guī)則的定義機制,以滿足某個應(yīng)用所涉及到的數(shù)據(jù)的特定的語義和約束要求。2.4概念模型信息世界涉及的概念主要有:實體客觀存在并可相互區(qū)別的事物稱為實體。實體型具有相同特征的實體稱為實體型。實體集同屬于一個實體型的實體的集合稱為實體集。屬性屬性是描述實體的特性或性質(zhì)的數(shù)據(jù)。一個實體有若干個屬性。實體屬性的多少是由用戶對信息的需求決定的。2.4概念模型域域是一組具有相同數(shù)據(jù)類型的值的集合。碼能夠唯一標(biāo)識一個實體的屬性或?qū)傩约Q為碼。如果碼是由幾個屬性構(gòu)成的,則其中不能有多余的屬性。即必須是幾個屬性全部給出才能唯一標(biāo)識一個實體。碼是區(qū)別實體集中不同實體的關(guān)鍵屬性,也稱為關(guān)鍵字或鍵。聯(lián)系現(xiàn)實世界中,任何事物都不是孤立存在的,事物內(nèi)部以及事物之間是有聯(lián)系的。這些聯(lián)系在信息世界中反映為實體內(nèi)部(即實體的各個屬性)的聯(lián)系和實體之間的聯(lián)系。

2.4概念模型聯(lián)系的類型1:1聯(lián)系1:n聯(lián)系m:n聯(lián)系2.4概念模型如果對于實體集A中的每一個實體,實體集B中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與實體集B具有一對一聯(lián)系,記為1:1。圖2-3實體1::1聯(lián)系2.4概念模型如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集B有一對多聯(lián)系,記為1:n。圖2-4實體1:n聯(lián)系2.4概念模型如果對于實體集A中的每一個實體,實體集B中有n個實體(n≥0)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集A中也有m個實體(m≥0)與之聯(lián)系,則稱實體集A與實體B具有多對多聯(lián)系,記為m:n。圖2-5實體m:n聯(lián)系2.4概念模型圖2-6三類聯(lián)系示意圖2.4概念模型E-R模型是P.P.Chen在1976年提出來的,在E-R圖中三個要素為:實體:用矩形表示,矩形框內(nèi)寫明實體的名稱。屬性:用橢圓形表示,橢圓形內(nèi)寫明屬性的名稱,并用無向邊將屬性與相應(yīng)的實體連接起來。聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(即1:1、1:n或m:n)。2.4概念模型圖2-7學(xué)生實體2.4概念模型圖2-8課程和學(xué)生聯(lián)系示意圖2.4概念模型概念模型建立步驟根據(jù)需求,確定涉及的實體有哪些;確定實體的屬性;確定實體之間的聯(lián)系及聯(lián)系的屬性;根據(jù)分析,畫出E-R圖。2.4概念模型統(tǒng)一建模語言(UnifiedModelingLanguage,UML)是一種通用的設(shè)計語言,通過這種語言可以對任何具有靜態(tài)結(jié)構(gòu)和動態(tài)行為的系統(tǒng)進行建模。作為建模語言,它的定義包括UML語義和UML表示法兩部分。UML語義指UML元素符號代表的含義,UML的所有元素在語法和語義上提供了簡單、一致、通用的定義和說明,使開發(fā)者能在語義上取得一致。UML表示法對UML每個元素符號的表示方法進行了規(guī)范。在軟件開發(fā)活動中,UML主要用于兩個方面的建模:第一是,用UML語言對業(yè)務(wù)系統(tǒng)建模,便于分析師展現(xiàn)和理解業(yè)務(wù);第二是,用UML對軟件系統(tǒng)建模,便于設(shè)計師修改和構(gòu)造軟件系統(tǒng)。目前主要的UML工具有Rational公司的Rose、TogetherSoft公司的Together和Microsoft公司的Visio等。2.5組織層數(shù)據(jù)模型組織層數(shù)據(jù)模型從數(shù)據(jù)的組織方式的角度來描述信息,它是數(shù)據(jù)庫系統(tǒng)設(shè)計中用于提供信息表示和操作手段的形式架構(gòu),是數(shù)據(jù)庫系統(tǒng)實現(xiàn)的基礎(chǔ)。目前,在數(shù)據(jù)庫技術(shù)的發(fā)展過程中用到的組織層數(shù)據(jù)模型主要有:層次模型、網(wǎng)狀模型、關(guān)系模型和面向?qū)ο竽P汀F渲袑哟文P秃途W(wǎng)狀模型統(tǒng)稱為格式化模型。2.5組織層數(shù)據(jù)模型——層次模型層次模型層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。層次數(shù)據(jù)庫系統(tǒng)的典型代表是IBM公司的IMS(InformationManagementSystem)數(shù)據(jù)庫管理系統(tǒng)。2.5組織層數(shù)據(jù)模型——層次模型數(shù)據(jù)結(jié)構(gòu)層次模型用樹形結(jié)構(gòu)來表示各類實體以及實體間的聯(lián)系。圖2-9教學(xué)行政層次模型2.5組織層數(shù)據(jù)模型——層次模型操縱及完整性約束層次模型進行插入、刪除和更新操作時要滿足層次模型的完整性約束條件。例如,無相應(yīng)的雙親結(jié)點值就不能插入子女結(jié)點值。如果刪除雙親結(jié)點值,則相應(yīng)的子女結(jié)點值也被同時刪除。更新操作時,應(yīng)更新所有相應(yīng)記錄,以保證數(shù)據(jù)的一致性。2.5組織層數(shù)據(jù)模型——層次模型層次模型的優(yōu)點層次數(shù)據(jù)模型簡單清晰。

易于表示諸如“家族關(guān)系”、“行政結(jié)構(gòu)”等現(xiàn)實世界層次結(jié)構(gòu)的事物及聯(lián)系。對于實體間聯(lián)系是固定的,且預(yù)先定義好的應(yīng)用系統(tǒng),采用層次模型,其查詢效率優(yōu)于關(guān)系模型,不低于網(wǎng)狀模型。層次模型的缺點只能表達1:n聯(lián)系,若要表達多對多的關(guān)系,需要引入冗余數(shù)據(jù),從而易產(chǎn)生數(shù)據(jù)的不一致性,或者通過引入虛擬結(jié)點來創(chuàng)建非自然的數(shù)據(jù)組織來解決。對數(shù)據(jù)的插入、刪除和更新操作的限制較多。查詢子女結(jié)點必須通過雙親結(jié)點,缺乏快速定位機制。2.5組織層數(shù)據(jù)模型——網(wǎng)狀模型在現(xiàn)實世界中事物之間的聯(lián)系更多的是非層次關(guān)系,對于這種多對多的聯(lián)系,采用網(wǎng)狀模型更適合。采用網(wǎng)狀模型的數(shù)據(jù)稱為網(wǎng)狀數(shù)據(jù)庫系統(tǒng),其典型代表DBTG系統(tǒng),亦稱CODASYL系統(tǒng)。

DBTG系統(tǒng)雖然不是實際的數(shù)據(jù)庫系統(tǒng)軟件,但是它提出的基本概念、方法和技術(shù)具有普遍意義,對網(wǎng)狀數(shù)據(jù)庫系統(tǒng)的研究和發(fā)展起了重大影響。2.5組織層數(shù)據(jù)模型——網(wǎng)狀模型數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀模型利用圖形結(jié)構(gòu)來表示各類實體及實體間的關(guān)系。圖2-10網(wǎng)狀模型示意圖2.5組織層數(shù)據(jù)模型——網(wǎng)狀模型操縱及完整性約束網(wǎng)狀數(shù)據(jù)模型的操縱主要包括查詢、插入、刪除和更新數(shù)據(jù)。插入操作允許插入尚未確定雙親值的子女結(jié)點值;刪除操作允許刪除雙親結(jié)點值,更新操作只需要更新指定記錄。2.5組織層數(shù)據(jù)模型——網(wǎng)狀模型網(wǎng)狀模型的優(yōu)點網(wǎng)狀數(shù)據(jù)模型能夠更為直接地描述現(xiàn)實世界,具有良好的性能,存取效率高。網(wǎng)狀模型的缺點結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握。應(yīng)用程序在訪問數(shù)據(jù)時必須選擇適當(dāng)?shù)拇嫒÷窂?,因此,用戶必須了解系統(tǒng)結(jié)構(gòu)的細節(jié),加重了編寫應(yīng)用程序的負擔(dān)。2.5組織層數(shù)據(jù)模型——關(guān)系模型數(shù)據(jù)結(jié)構(gòu)關(guān)系模型由一組關(guān)系組成。每個關(guān)系的數(shù)據(jù)結(jié)構(gòu)是一張規(guī)范化的二維表。

2.5組織層數(shù)據(jù)模型——關(guān)系模型關(guān)系:一個關(guān)系對應(yīng)通常說的一張表。元組:表中的一行即為一個元組。屬性:表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名。即姓名、年齡等都是屬性名。主碼:也稱碼鍵。表中的某個屬性組,它可以唯一確定一個元組。域:屬性的取值范圍。分量:元組中的一個屬性值。關(guān)系模式:指對一個關(guān)系的結(jié)構(gòu)描述,即關(guān)系模式中要指出元組集合的結(jié)構(gòu)。一般表示為:關(guān)系名(屬性1,屬性2,…,屬性n)。2.5組織層數(shù)據(jù)模型——關(guān)系模型關(guān)系數(shù)據(jù)模型的操縱與完整性約束關(guān)系操作主要包括數(shù)據(jù)查詢和數(shù)據(jù)的插入、刪除和修改。關(guān)系模型中的數(shù)據(jù)操作是集合操作,操作對象和操作結(jié)果都是關(guān)系。另外,關(guān)系模型把存儲路徑向用戶隱蔽起來,用戶只要指出“干什么”或“找什么”。關(guān)系的完整性約束條件包括三大類:實體完整性、參照完整性和用戶定義完整性。2.5組織層數(shù)據(jù)模型——關(guān)系模型關(guān)系數(shù)據(jù)模型的優(yōu)點關(guān)系模型的基本理論分別為“關(guān)系運算理論”和“關(guān)系模式設(shè)計理論”,它們均建立在嚴(yán)格數(shù)學(xué)理論的基礎(chǔ)之上,從而使得基于關(guān)系模型數(shù)據(jù)庫技術(shù)的發(fā)展與深化具有廣闊的天地與堅實的支撐。關(guān)系模型的概念清晰單一,實體,實體間的聯(lián)系以及數(shù)據(jù)查詢的最終結(jié)果都用關(guān)系表示,數(shù)據(jù)結(jié)構(gòu)簡潔明晰,用戶易懂易學(xué)。關(guān)系模型的存取路徑對用戶透明,從而具有更高的數(shù)據(jù)獨立性,更好的安全保密性。2.5組織層數(shù)據(jù)模型——關(guān)系模型關(guān)系數(shù)據(jù)模型的缺點由于存取路徑對用戶透明,查詢效率往往很低。為了提高性能,DBMS必須對用戶的查詢請求進行優(yōu)化,因此增加了開發(fā)的難度。2.5組織層數(shù)據(jù)模型——關(guān)系模型2.5組織層數(shù)據(jù)模型——面向?qū)ο竽P完P(guān)系數(shù)據(jù)庫呈現(xiàn)的局限性:支持的數(shù)據(jù)類型有限,可擴充性差,對一些復(fù)雜的數(shù)據(jù)類型和嵌套數(shù)據(jù)無法進行存儲、描述、操縱和檢索。應(yīng)用不夠靈活,只能提供幾種固定的數(shù)據(jù)類型,很難增加新的數(shù)據(jù)庫類型以滿足高級數(shù)據(jù)庫技術(shù)的需要。約束、觸發(fā)、事件、并發(fā)機制等相對簡單,難以保證復(fù)雜應(yīng)用建模和數(shù)據(jù)的一致性。對象之間的關(guān)系簡單,不能實現(xiàn)實體間的聚合、繼承等復(fù)雜的聯(lián)系。2.5組織層數(shù)據(jù)模型——面向?qū)ο竽P突靖拍顚ο笏鞋F(xiàn)實世界中的實體都稱為對象。方法方法又稱為操作,用以描述對象的行為特性。它可以改變對象的狀態(tài),對對象進行各種數(shù)據(jù)庫操作。。消息消息是用來請求對象執(zhí)行某一處理或回答某些信息的要求,消息傳遞是對象之間聯(lián)系的唯一方式。類將類似的對象歸并為類。在一個類中的每個對象稱為實例。同一個類的對象具有共同的屬性和方法。2.5組織層數(shù)據(jù)模型——面向?qū)ο竽P兔嫦驅(qū)ο蠓椒ǖ奶匦猿橄笮?,將對象抽象成對象類,實現(xiàn)抽象的數(shù)據(jù)類型,允許用戶定義數(shù)據(jù)類型。封裝性,將方法和數(shù)據(jù)放于某一對象中,以使數(shù)據(jù)的操作只可通過對象本身來進行,使對象的實現(xiàn)和使用分開。多態(tài)性,指同一消息可以被不同的對象接收

溫馨提示

  • 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

提交評論