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

下載本文檔

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

文檔簡(jiǎn)介

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

2數(shù)據(jù)模型的組成要素3概念模型4組織層數(shù)據(jù)模型5小結(jié)62.1數(shù)據(jù)的三個(gè)范疇1)客觀世界,指人們頭腦之外的客觀世界。在現(xiàn)實(shí)世界中有大量的客觀事物存在,這些事物可以是具體的,也可以是抽象的。2)概念世界,又稱為信息世界,是現(xiàn)實(shí)世界在人們頭腦中的抽象概念或反映。信息世界是現(xiàn)實(shí)世界通向計(jì)算機(jī)世界的橋梁。3)數(shù)據(jù)世界,又稱為計(jì)算機(jī)世界。為了讓計(jì)算機(jī)處理信息,人們還需要將信息進(jìn)一步抽象為計(jì)算機(jī)能夠識(shí)別的數(shù)據(jù)。數(shù)據(jù)世界是信息世界中的信息的數(shù)據(jù)化。2.1數(shù)據(jù)的三個(gè)范疇圖2-1數(shù)據(jù)抽象過(guò)程2.2數(shù)據(jù)模型概述模型是對(duì)現(xiàn)實(shí)世界中復(fù)雜對(duì)象的特征的模擬和抽象。數(shù)據(jù)模型是對(duì)現(xiàn)實(shí)世界的模擬。數(shù)據(jù)模型一般應(yīng)滿足三個(gè)要求要能比較真實(shí)地模擬現(xiàn)實(shí)世界;要能夠容易被人們理解;要能夠很方便地在計(jì)算機(jī)上實(shí)現(xiàn)。2.2數(shù)據(jù)模型概述根據(jù)應(yīng)用的不同層次,可以將數(shù)據(jù)模型分為兩類概念層數(shù)據(jù)模型也稱為概念模型或信息模型,它是從數(shù)據(jù)的應(yīng)用語(yǔ)義角度來(lái)抽取模型,并按照用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息進(jìn)行建模。組織層數(shù)據(jù)模型也稱為組織模型或數(shù)據(jù)模型。它從數(shù)據(jù)的組織方式來(lái)描述數(shù)據(jù)。邏輯模型網(wǎng)狀模型、層次模型、關(guān)系模型等。物理模型2.2數(shù)據(jù)模型概述圖2-2現(xiàn)實(shí)世界抽象過(guò)程2.3數(shù)據(jù)模型的組成要素?cái)?shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是所研究對(duì)象的數(shù)據(jù)類型的集合。數(shù)據(jù)結(jié)構(gòu)是對(duì)數(shù)據(jù)的組織方式及其類型(即靜態(tài)特性)的描述,是描述一個(gè)數(shù)據(jù)模型性質(zhì)的重要的方面。數(shù)據(jù)操作數(shù)據(jù)操作是指對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象(型)的實(shí)例(值)允許執(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ù)模型本身蘊(yùn)含著該模型所必須滿足的基本的、通用的完整性約束條件,保證數(shù)據(jù)庫(kù)中的數(shù)據(jù)符合該數(shù)據(jù)模型的要求。數(shù)據(jù)庫(kù)系統(tǒng)必須提供完整性規(guī)則的定義機(jī)制,以滿足某個(gè)應(yīng)用所涉及到的數(shù)據(jù)的特定的語(yǔ)義和約束要求。2.4概念模型信息世界涉及的概念主要有:實(shí)體客觀存在并可相互區(qū)別的事物稱為實(shí)體。實(shí)體型具有相同特征的實(shí)體稱為實(shí)體型。實(shí)體集同屬于一個(gè)實(shí)體型的實(shí)體的集合稱為實(shí)體集。屬性屬性是描述實(shí)體的特性或性質(zhì)的數(shù)據(jù)。一個(gè)實(shí)體有若干個(gè)屬性。實(shí)體屬性的多少是由用戶對(duì)信息的需求決定的。2.4概念模型域域是一組具有相同數(shù)據(jù)類型的值的集合。碼能夠唯一標(biāo)識(shí)一個(gè)實(shí)體的屬性或?qū)傩约Q為碼。如果碼是由幾個(gè)屬性構(gòu)成的,則其中不能有多余的屬性。即必須是幾個(gè)屬性全部給出才能唯一標(biāo)識(shí)一個(gè)實(shí)體。碼是區(qū)別實(shí)體集中不同實(shí)體的關(guān)鍵屬性,也稱為關(guān)鍵字或鍵。聯(lián)系現(xiàn)實(shí)世界中,任何事物都不是孤立存在的,事物內(nèi)部以及事物之間是有聯(lián)系的。這些聯(lián)系在信息世界中反映為實(shí)體內(nèi)部(即實(shí)體的各個(gè)屬性)的聯(lián)系和實(shí)體之間的聯(lián)系。

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論