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

下載本文檔

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

文檔簡介

1、3/7/20221第二章第二章 數(shù)據(jù)模型數(shù)據(jù)模型學習目的與要求學習目的與要求 深刻理解數(shù)據(jù)模型的內涵、數(shù)據(jù)庫的三層模式結構與數(shù)據(jù)獨立性深刻理解數(shù)據(jù)模型的內涵、數(shù)據(jù)庫的三層模式結構與數(shù)據(jù)獨立性的關系,理解數(shù)據(jù)從現(xiàn)實世界到計算機數(shù)據(jù)庫中要經過三個范疇(現(xiàn)的關系,理解數(shù)據(jù)從現(xiàn)實世界到計算機數(shù)據(jù)庫中要經過三個范疇(現(xiàn)實世界、信息世界和機器世界),了解什么是實體屬性,弄清楚實體實世界、信息世界和機器世界),了解什么是實體屬性,弄清楚實體和屬性的和屬性的“型型”與與“值值”的概念,弄懂實體間可能存在的不同聯(lián)系方的概念,弄懂實體間可能存在的不同聯(lián)系方式,掌握用式,掌握用E-R圖表示實體間聯(lián)系的方式。圖表示實

2、體間聯(lián)系的方式。2.1數(shù)據(jù)描述數(shù)據(jù)描述2.2概念數(shù)據(jù)模型與概念數(shù)據(jù)模型與E-R方法方法2.3傳統(tǒng)的三大數(shù)據(jù)模型傳統(tǒng)的三大數(shù)據(jù)模型2.4數(shù)據(jù)獨立與三層結構數(shù)據(jù)獨立與三層結構2.5數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)2.1.1 數(shù)據(jù)的三種范疇數(shù)據(jù)的三種范疇3/7/20222 數(shù)據(jù)不是直接從現(xiàn)實世界到計算機數(shù)據(jù)庫中,它需要人們的認數(shù)據(jù)不是直接從現(xiàn)實世界到計算機數(shù)據(jù)庫中,它需要人們的認識、理解、整理、規(guī)范和加工,然后才能存放到數(shù)據(jù)庫中。也就是識、理解、整理、規(guī)范和加工,然后才能存放到數(shù)據(jù)庫中。也就是說數(shù)據(jù)從現(xiàn)實生活進入到數(shù)據(jù)庫實際上經歷了若干個階段。一般劃說數(shù)據(jù)從現(xiàn)實生活進入到數(shù)據(jù)庫實際上經歷了若干個階段。一

3、般劃分三個階段,分三個階段,即現(xiàn)實世界、信息世界和機器世界,稱為數(shù)據(jù)的三種即現(xiàn)實世界、信息世界和機器世界,稱為數(shù)據(jù)的三種范疇。范疇。1.現(xiàn)實世界現(xiàn)實世界 現(xiàn)實世界也叫客觀世界。存在于人們頭腦之外的客觀事物及其現(xiàn)實世界也叫客觀世界。存在于人們頭腦之外的客觀事物及其相互聯(lián)系就處在這個世界之中。相互聯(lián)系就處在這個世界之中。 2信息世界(也叫觀念世界)信息世界(也叫觀念世界) 信息世界又稱觀念世界,是現(xiàn)實世界在人們頭腦中的反映;在進信息世界又稱觀念世界,是現(xiàn)實世界在人們頭腦中的反映;在進行現(xiàn)實世界管理時,客觀事物必然在人們的頭腦中產生反映,把這行現(xiàn)實世界管理時,客觀事物必然在人們的頭腦中產生反映,把這

4、種反映稱為信息。比如在日常的庫存管理中,首先涉及的是倉庫、種反映稱為信息。比如在日常的庫存管理中,首先涉及的是倉庫、貨物的存放以及貨物的進出庫等,這種管理稱為現(xiàn)實世界管理。貨物的存放以及貨物的進出庫等,這種管理稱為現(xiàn)實世界管理。 3/7/20223在信息世界中所涉及到的基本概念在信息世界中所涉及到的基本概念:(1)實體()實體(Entity)實體是客觀存在的事物在人們頭腦中的反映,或者說,客觀存在并實體是客觀存在的事物在人們頭腦中的反映,或者說,客觀存在并可相互區(qū)別的客觀事物或抽象事件稱為實體。可相互區(qū)別的客觀事物或抽象事件稱為實體。實體可以指人,實體可以指人,如一如一名教師、一名護士等;名教

5、師、一名護士等;也可以指物,也可以指物,如一把椅子、倉庫、一個杯子如一把椅子、倉庫、一個杯子等。等。實體不僅可以指實際的事物,還可以指抽象的事物,實體不僅可以指實際的事物,還可以指抽象的事物,如一次訪如一次訪問、一次郊游、訂貨、演出、足球賽等;問、一次郊游、訂貨、演出、足球賽等;甚至還可以指事物與事物甚至還可以指事物與事物之間的聯(lián)系,之間的聯(lián)系,如如“學生選課記錄學生選課記錄”和和“教師任課記錄教師任課記錄”等。等。(2)屬性()屬性(Attribute)在觀念世界中,屬性是一個很重要的概念。所謂屬性是指實體所在觀念世界中,屬性是一個很重要的概念。所謂屬性是指實體所具有的某一方面的特性。一個實

6、體可由若干個屬性來刻畫。例如,具有的某一方面的特性。一個實體可由若干個屬性來刻畫。例如,教師的屬性有姓名、年齡、性別、職稱等。教師的屬性有姓名、年齡、性別、職稱等。屬性所取的具體值稱作屬性所取的具體值稱作屬性值。屬性值。例如,某一教師的姓名為李輝,例如,某一教師的姓名為李輝,這是教師屬性這是教師屬性“姓名姓名”的取值;該教師的年齡為的取值;該教師的年齡為45,這是教師屬,這是教師屬性性“年齡年齡”的取值,等等。的取值,等等。3/7/20224(3)域()域(Domain) 一個屬性可能取的所有屬性值的范圍稱為該屬性的域。一個屬性可能取的所有屬性值的范圍稱為該屬性的域。例如,教師屬性例如,教師屬

7、性“性別性別”的域為男、女;教師屬性的域為男、女;教師屬性“職職稱稱”的域為助教、講師、副教授、教授等。的域為助教、講師、副教授、教授等。 由此可見,每個屬性都是個變量,屬性值就是變量所由此可見,每個屬性都是個變量,屬性值就是變量所取的值,而域則是變量的變化范圍。因此,屬性是表征取的值,而域則是變量的變化范圍。因此,屬性是表征實體的最基本的信息。實體的最基本的信息。(4)碼()碼(Key) 惟一標識實體的屬性集稱為碼。例如學號是學生實體惟一標識實體的屬性集稱為碼。例如學號是學生實體的碼的碼;姓名姓名+出生年月等等出生年月等等在信息世界中所涉及到的基本概念在信息世界中所涉及到的基本概念:3/7/

8、20225(5)實體型()實體型(Entity Type) 具有相同屬性的實體必然具有共同的特性和性質。用具有相同屬性的實體必然具有共同的特性和性質。用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。型。例如,例如,教師(姓名,年齡,性別,職稱)就是一個實教師(姓名,年齡,性別,職稱)就是一個實體型。體型。(6)實體集()實體集(Entity Set)同一類型實體的集合。例如,某一學校中的教師具有相同同一類型實體的集合。例如,某一學校中的教師具有相同的屬性,他們就構成了實體集的屬性,他們就構成了實體集“教師教師”。在信息世界中,一般就用上

9、述這些概念來描述各種客觀事在信息世界中,一般就用上述這些概念來描述各種客觀事物及其相互的區(qū)別與聯(lián)系。物及其相互的區(qū)別與聯(lián)系。在信息世界中所涉及到的基本概念在信息世界中所涉及到的基本概念:3/7/202263機器世界(也叫數(shù)據(jù)世界)機器世界(也叫數(shù)據(jù)世界) 當信息管理進入計算機后,就把它稱為機器世界范疇當信息管理進入計算機后,就把它稱為機器世界范疇或存儲世界范疇。機器世界也稱數(shù)據(jù)世界?;虼鎯κ澜绶懂?。機器世界也稱數(shù)據(jù)世界。 由于計算機只能處理數(shù)據(jù)化的信息,所以對信息世界由于計算機只能處理數(shù)據(jù)化的信息,所以對信息世界中的信息必須進行數(shù)據(jù)化。信息經過加工、編碼后即進入中的信息必須進行數(shù)據(jù)化。信息經過

10、加工、編碼后即進入數(shù)據(jù)世界,利用計算機來處理它們。因此,數(shù)據(jù)世界中的數(shù)據(jù)世界,利用計算機來處理它們。因此,數(shù)據(jù)世界中的對象是數(shù)據(jù)?,F(xiàn)實世界中的客觀事物及其聯(lián)系在數(shù)據(jù)世界對象是數(shù)據(jù)。現(xiàn)實世界中的客觀事物及其聯(lián)系在數(shù)據(jù)世界中是用數(shù)據(jù)模型來描述的。中是用數(shù)據(jù)模型來描述的。數(shù)據(jù)化后的信息稱為數(shù)據(jù),所以說數(shù)據(jù)是信息的符號表數(shù)據(jù)化后的信息稱為數(shù)據(jù),所以說數(shù)據(jù)是信息的符號表示。示。3/7/20227與觀念世界中的基本概念對應,在數(shù)據(jù)世界中也涉及到一些相關的與觀念世界中的基本概念對應,在數(shù)據(jù)世界中也涉及到一些相關的基本概念基本概念:(1)數(shù)據(jù)項(字段)(field)。對應于觀念世界中的屬性。例如,實體型“教師

11、”中的各個屬性中,姓名、性別、年齡、職稱等就是數(shù)據(jù)項。(2)記錄(record)。每個實體所對應的數(shù)據(jù)。例如,對應某一教師的各項屬性值為:李輝、45、男、副教授等就是一個記錄。(3)記錄型(record type)。對應于觀念世界中的實體型。(4)文件(file)。對應于觀念世界中的實體集。(5)關鍵字(key)。能夠惟一標識一個記錄的字段集。數(shù)據(jù)世界中的一些基本概念數(shù)據(jù)世界中的一些基本概念:3/7/20228 在數(shù)據(jù)世界中,就是通過上述這些概念來描述客觀事在數(shù)據(jù)世界中,就是通過上述這些概念來描述客觀事物及其聯(lián)系的。物及其聯(lián)系的。 上述信息是為了更好地處理信息,計算機所處理的信上述信息是為了更

12、好地處理信息,計算機所處理的信息形式是數(shù)據(jù)。因此,為了用計算機來處理信息,息形式是數(shù)據(jù)。因此,為了用計算機來處理信息,首先必首先必須將現(xiàn)實世界中的客觀事物轉換為觀念世界,然后將這些須將現(xiàn)實世界中的客觀事物轉換為觀念世界,然后將這些信息數(shù)據(jù)化。信息數(shù)據(jù)化。現(xiàn)實世界現(xiàn)實世界 信息世界信息世界(觀念世界觀念世界)機器世界機器世界(數(shù)據(jù)世界數(shù)據(jù)世界)教師(姓名,性別,年齡,職稱)教師(姓名,性別,年齡,職稱)1.實體實體 2.屬性屬性 3.域域 4.碼碼 5.實體型實體型 6.實體集實體集1.記錄記錄 2.字段字段 3.字段類型字段類型 4.關鍵字關鍵字 5.記錄型記錄型 6.文件文件客觀存在的事物客

13、觀存在的事物如:你們面前的老師如:你們面前的老師姓名姓名性別性別年齡年齡職稱職稱王六平王六平男男38講師講師3/7/202292.1.2 實體間的聯(lián)系實體間的聯(lián)系n 在現(xiàn)實世界中,事物內部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息世界中反映為實體(型)內部內部的聯(lián)系和實體(型)之間之間的聯(lián)系。n實體內部的聯(lián)系通常是指組成實體的各屬性屬性之間的聯(lián)系。n實體之間的聯(lián)系通常是指不同實體集實體集之間的聯(lián)系。3/7/202210一對一聯(lián)系(一對一聯(lián)系(1:1) 如果對于實體集如果對于實體集A中的每一個實體,實體集中的每一個實體,實體集B中至多有一中至多有一個(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集個

14、(也可以沒有)實體與之聯(lián)系,反之亦然,則稱實體集A與與實體集實體集B具有一對一聯(lián)系,記為具有一對一聯(lián)系,記為1:1 .例如,例如,實體集學院與實體集院長之間的聯(lián)系就是實體集學院與實體集院長之間的聯(lián)系就是1:1的聯(lián)系。因的聯(lián)系。因為一個院長只領導一個學院,而且一個學院也只有一個院長。為一個院長只領導一個學院,而且一個學院也只有一個院長。再如學校里,實體集班級與實體集班長之間的也具有再如學校里,實體集班級與實體集班長之間的也具有1:1聯(lián)系,聯(lián)系,一個班級只有一個班長,而一個班長只在一個班中任職。一個班級只有一個班長,而一個班長只在一個班中任職。圖圖2-1 1 : 1聯(lián)系聯(lián)系 實體型實體型A實體型實

15、體型B聯(lián)系名聯(lián)系名113/7/202211 實體集實體集B實體集實體集A聯(lián)系名聯(lián)系名1n圖圖2-2 1 : n聯(lián)系聯(lián)系一對多聯(lián)系(一對多聯(lián)系(1:n) 如果對于實體集如果對于實體集A中的每一個實體,實體集中的每一個實體,實體集B中有中有n個個(n0)實體與之聯(lián)系,反之,對于實體集)實體與之聯(lián)系,反之,對于實體集B中的每一個實中的每一個實體,實體集體,實體集A中至多有一個實體與之聯(lián)系,則稱實體集中至多有一個實體與之聯(lián)系,則稱實體集A與與實體集實體集B具有一對多聯(lián)系,記為具有一對多聯(lián)系,記為1:n, 例如,例如,實體集班級與實體集學生就是一對多聯(lián)系。因為一個實體集班級與實體集學生就是一對多聯(lián)系。因

16、為一個班級中有若干名學生,而每個學生只在一個班級中學習。班級中有若干名學生,而每個學生只在一個班級中學習。 3/7/202212實體集實體集B實體集實體集A聯(lián)系名聯(lián)系名nm圖圖2-3 m : n聯(lián)系聯(lián)系多對多聯(lián)系(多對多聯(lián)系( m:n)n如果對于實體集如果對于實體集A中的每一個實體,實體集中的每一個實體,實體集B中有中有n個個(n0)實體與之聯(lián)系。反之,對于實體集)實體與之聯(lián)系。反之,對于實體集B中的每一個中的每一個實體,實體集實體,實體集A中也有中也有m(m0)之聯(lián)系,則稱實體集)之聯(lián)系,則稱實體集A與實體集與實體集B具有多對多聯(lián)系,記為具有多對多聯(lián)系,記為m:nn例如,實體集課程與實體集學

17、生之間的聯(lián)系是多對多聯(lián)系例如,實體集課程與實體集學生之間的聯(lián)系是多對多聯(lián)系(m:n)。因為一個課程同時有若干名學生選修,而一)。因為一個課程同時有若干名學生選修,而一個學生可以同時選修多門課程。個學生可以同時選修多門課程。3/7/2022131課程課程講授講授參考書參考書教員教員mnm零件零件項目項目供應商供應商供應供應np圖圖2-4 三個實體型之間的聯(lián)系三個實體型之間的聯(lián)系 (a)(b) 多實體集之間的聯(lián)系多實體集之間的聯(lián)系n實體型之間的這種一對一、一對多、多對多聯(lián)系不僅存在于兩個實實體型之間的這種一對一、一對多、多對多聯(lián)系不僅存在于兩個實體型之間,也存在于兩個以上的實體型之間。體型之間,也

18、存在于兩個以上的實體型之間。n例如,例如,對于課程、教師與參考書三個實體型,如果一門課程可以有對于課程、教師與參考書三個實體型,如果一門課程可以有若干個教師講授,使用若干本參考書,而每一個教師只講授一門課若干個教師講授,使用若干本參考書,而每一個教師只講授一門課程,每一本參考書只供一門課程使用,則課程與教師、參考書之間程,每一本參考書只供一門課程使用,則課程與教師、參考書之間的聯(lián)系是一對多的。的聯(lián)系是一對多的。n又如,又如,三個實體型:供應商、項目、零件,一個供應商可以供給多三個實體型:供應商、項目、零件,一個供應商可以供給多個項目多種零件,而每個項目可以使用多個供應商供應的零件,每個項目多種

19、零件,而每個項目可以使用多個供應商供應的零件,每種零件可由不同供應商供給,由此可見,供應商、項目、零件三個種零件可由不同供應商供給,由此可見,供應商、項目、零件三個實體之間是多對多的聯(lián)系。實體之間是多對多的聯(lián)系。3/7/202214n職工職工領導領導1一個實體集內實體之間的一對多聯(lián)系一個實體集內實體之間的一對多聯(lián)系 同一個實體集內的聯(lián)系同一個實體集內的聯(lián)系同一個實體集內的各實體之間也存在一對一、一對多、多對同一個實體集內的各實體之間也存在一對一、一對多、多對多的聯(lián)系。例如職工實體集內部具有領導與被領導的聯(lián)系,多的聯(lián)系。例如職工實體集內部具有領導與被領導的聯(lián)系,即某一職工(干部)即某一職工(干部

20、)“領導領導”若干名職工,而一個職工僅被若干名職工,而一個職工僅被另外一個職工直接領導,因此這是同一實體集一對多的聯(lián)系另外一個職工直接領導,因此這是同一實體集一對多的聯(lián)系.3/7/202215 2.2 概念數(shù)據(jù)模型與概念數(shù)據(jù)模型與E-R方法方法(Entity Relation)n2.2.1 數(shù)據(jù)模型概述 為了用計算機處理現(xiàn)實世界中的具體事物,人們必須事先對具體事物加以抽象,提取主要特征,歸納形成一個簡單清晰的輪廓,轉換成計算機能夠處理的數(shù)據(jù),這就是“數(shù)據(jù)建模”。通俗地講數(shù)據(jù)模型就是現(xiàn)通俗地講數(shù)據(jù)模型就是現(xiàn)實世界的模型。實世界的模型。表示實體類型及實體之間聯(lián)系的模型表示實體類型及實體之間聯(lián)系的模

21、型稱為稱為“數(shù)據(jù)模型數(shù)據(jù)模型”(Data Model)。)。 n數(shù)據(jù)模型應滿足三方面要求:q一是能比較真實地模擬現(xiàn)實世界;q二是容易為人所理解;q三是便于在計算機上實現(xiàn)。 3/7/202216數(shù)據(jù)模型的分類 在數(shù)據(jù)庫系統(tǒng)中針對不同的使用對象和應用目的,采用不同的數(shù)據(jù)模型。根據(jù)模型的應用的不同目的,可以將這些模型劃分為兩類,它們分屬于不同的層次。n概念數(shù)據(jù)模型,也稱信息模型:概念數(shù)據(jù)模型,也稱信息模型:它是按用戶的觀點(觀念世界)來對數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫設計。數(shù)據(jù)庫設計。n基本數(shù)據(jù)模型基本數(shù)據(jù)模型:主要包括網狀模型、層次模型、關系模型等,它是按計算機系統(tǒng)的觀點(機器世界)數(shù)據(jù)建模,主要

22、用于DBMS的實現(xiàn)。的實現(xiàn)。3/7/202217現(xiàn)實世界現(xiàn)實世界認識抽象認識抽象信息世界信息世界 概念模型概念模型機器世界機器世界DBMS支持的支持的基本數(shù)據(jù)模型基本數(shù)據(jù)模型 現(xiàn)實世界中客觀對象的抽象過程現(xiàn)實世界中客觀對象的抽象過程兩類數(shù)據(jù)模型之間的關系 首先把現(xiàn)實世界中的客觀對象抽象為某種信息結構,這首先把現(xiàn)實世界中的客觀對象抽象為某種信息結構,這種信息結構并不依賴于具體的計算機系統(tǒng),不是某一個種信息結構并不依賴于具體的計算機系統(tǒng),不是某一個DBMS 支持的數(shù)據(jù)模型,而是概念級的模型;然后再把概念支持的數(shù)據(jù)模型,而是概念級的模型;然后再把概念模型轉換為計算機上某一模型轉換為計算機上某一DBM

23、S支持的數(shù)據(jù)模型。支持的數(shù)據(jù)模型。教師(姓名,性別,年齡,職稱)教師(姓名,性別,年齡,職稱)1.實體實體 2.屬性屬性 3.域域 4.碼碼 5.實體型實體型 6.實體集實體集1.記錄記錄 2.字段字段 3.字段類型字段類型 4.關鍵字關鍵字 5.記錄型記錄型 6.文件文件客觀存在的事物客觀存在的事物如:你們面前的老師如:你們面前的老師姓名姓名性別性別年齡年齡職稱職稱王六平王六平男男38講師講師3/7/202218數(shù)據(jù)模型的三要素數(shù)據(jù)模型的三要素1數(shù)據(jù)結構數(shù)據(jù)結構 數(shù)據(jù)結構是所研究的對象類型的集合。這些對象是數(shù)據(jù)庫的組成部分,它數(shù)據(jù)結構是所研究的對象類型的集合。這些對象是數(shù)據(jù)庫的組成部分,它們

24、包括兩類,們包括兩類,一類一類是與數(shù)據(jù)類型、內容、性質有關的對象,例如網狀模型中是與數(shù)據(jù)類型、內容、性質有關的對象,例如網狀模型中的數(shù)據(jù)項、記錄,關系模型中的域、屬性、關系等;的數(shù)據(jù)項、記錄,關系模型中的域、屬性、關系等;一類一類是與數(shù)據(jù)之間聯(lián)系是與數(shù)據(jù)之間聯(lián)系有關的對象,例如網狀模型中的系型(有關的對象,例如網狀模型中的系型(Set Type)。)。 數(shù)據(jù)結構用于描述系統(tǒng)的靜態(tài)特性。數(shù)據(jù)結構用于描述系統(tǒng)的靜態(tài)特性。2數(shù)據(jù)操作數(shù)據(jù)操作 數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作數(shù)據(jù)操作是指對數(shù)據(jù)庫中各種對象(型)的實例(值)允許執(zhí)行的操作的集合,包括操作及有關的操作規(guī)則。數(shù)

25、據(jù)庫主要有檢索和修改(包括插入、的集合,包括操作及有關的操作規(guī)則。數(shù)據(jù)庫主要有檢索和修改(包括插入、刪除、更新)兩大類操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符刪除、更新)兩大類操作。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則(如優(yōu)先級)以及實現(xiàn)操作的語言。號、操作規(guī)則(如優(yōu)先級)以及實現(xiàn)操作的語言。 數(shù)據(jù)操作用于描述系統(tǒng)的動態(tài)特征。數(shù)據(jù)操作用于描述系統(tǒng)的動態(tài)特征。3數(shù)據(jù)完整性約束數(shù)據(jù)完整性約束 數(shù)據(jù)完整性約束是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型數(shù)據(jù)完整性約束是一組完整性規(guī)則的集合。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則,用以限制符合數(shù)據(jù)

26、模型的數(shù)據(jù)庫中數(shù)據(jù)及其聯(lián)系所具有的制約和儲存規(guī)則,用以限制符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,用以確保數(shù)據(jù)的正確、有效和相容。狀態(tài)以及狀態(tài)的變化,用以確保數(shù)據(jù)的正確、有效和相容。3/7/202219數(shù)據(jù)模型之概念數(shù)據(jù)模型概念數(shù)據(jù)模型n 概念數(shù)據(jù)模型,有時也簡稱概念模型。概念數(shù)據(jù)模型是按用戶的觀點對現(xiàn)實世界數(shù)據(jù)建模,是一種獨立于任何計算機系統(tǒng)的模型,完全不涉及信息在計算機系統(tǒng)中的表示,也不依賴于具體的數(shù)據(jù)庫管理系統(tǒng)。只是用來描述某個特定組織所關心的信息結構。它是對現(xiàn)實世界的第一層抽象,是用戶和數(shù)據(jù)庫設計人員之間交流的工具。n概念數(shù)據(jù)模型是理解數(shù)據(jù)庫的基礎,也是設計數(shù)據(jù)庫的基礎。1.概念數(shù)據(jù)模

27、型的基本概念 概念數(shù)據(jù)模型所涉及的主要基本概念有:實體(Entity)、屬性(Attribute)、域(Domain)、碼(Key)、實體型(Entity Type)和實體集(Entity Set)。3/7/2022202概念數(shù)據(jù)模型中的基本關系n實體間一對一、一對多和多對多三類基本聯(lián)系是概念數(shù)據(jù)模實體間一對一、一對多和多對多三類基本聯(lián)系是概念數(shù)據(jù)模型的基礎,也就是說,在概念數(shù)據(jù)模型中主要解決的問題仍型的基礎,也就是說,在概念數(shù)據(jù)模型中主要解決的問題仍然是實體之間的聯(lián)系。然是實體之間的聯(lián)系。n實體之間的聯(lián)系類型并不取決于實體本身,而是取決于現(xiàn)實實體之間的聯(lián)系類型并不取決于實體本身,而是取決于現(xiàn)

28、實世界的管理方法,或者說取決于語義,即同樣兩個實體,如世界的管理方法,或者說取決于語義,即同樣兩個實體,如果有不同的語義,則可以得到不同的聯(lián)系類型。比如有倉庫果有不同的語義,則可以得到不同的聯(lián)系類型。比如有倉庫和器件兩個實體,現(xiàn)在來討論它們之間的聯(lián)系:和器件兩個實體,現(xiàn)在來討論它們之間的聯(lián)系:(1)若規(guī)定一個倉庫只能存放一種器件,并且一種器件只能)若規(guī)定一個倉庫只能存放一種器件,并且一種器件只能存放在一個倉庫,這時倉庫和器件之間的聯(lián)系是一對一的;存放在一個倉庫,這時倉庫和器件之間的聯(lián)系是一對一的;(2)若規(guī)定一個倉庫可以存放多種器件,但是一種器件只能)若規(guī)定一個倉庫可以存放多種器件,但是一種器

29、件只能存放在一個倉庫,這時倉庫和器件之間的聯(lián)系是一對多的;存放在一個倉庫,這時倉庫和器件之間的聯(lián)系是一對多的;(3)若規(guī)定一個倉庫可以存放多種器件,同時一種器件可以)若規(guī)定一個倉庫可以存放多種器件,同時一種器件可以存放在多個倉庫,這時倉庫和器件之間的聯(lián)系是多對多的。存放在多個倉庫,這時倉庫和器件之間的聯(lián)系是多對多的。 3/7/202221學生學生學號學號姓名姓名性別性別年齡年齡系系 實體及屬性實體及屬性產品產品產品號產品號型號型號產品名產品名主要性能主要性能 概念數(shù)據(jù)模型的概念數(shù)據(jù)模型的E-R表示方法表示方法E-R圖提供了表示實體型、屬性和聯(lián)系的方法:圖提供了表示實體型、屬性和聯(lián)系的方法:實體

30、型:實體型:用矩形表示,矩形框內寫明實體名。用矩形表示,矩形框內寫明實體名。屬性:屬性:用橢圓表示,橢圓形框內寫明屬性名,并用無向邊用橢圓表示,橢圓形框內寫明屬性名,并用無向邊將其與相應的實體連接起來。將其與相應的實體連接起來。例如,例如,學生實體具有學號、姓名、性別、年齡、系等屬性,學生實體具有學號、姓名、性別、年齡、系等屬性,產品實體具有產品號、產品名、型號、主要性能等屬性。產品實體具有產品號、產品名、型號、主要性能等屬性。 3/7/202222聯(lián)系:聯(lián)系:用菱形表示,菱形框內寫聯(lián)系名,并用無向邊分用菱形表示,菱形框內寫聯(lián)系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標注聯(lián)系的類型

31、別與有關實體連接起來,同時在無向邊旁標注聯(lián)系的類型(1:1,1:n或或m:n)。)。聯(lián)系也可以有自己的屬性,聯(lián)系也可以有自己的屬性,需要注意的是,需要注意的是,如果一個如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來。一般一對多的聯(lián)系都要轉換成實體才能在關系型數(shù)據(jù)來。一般一對多的聯(lián)系都要轉換成實體才能在關系型數(shù)據(jù)中表示出來。中表示出來。產品產品使用使用材料材料數(shù)量數(shù)量mn聯(lián)系及屬性聯(lián)系及屬性課程課程學生學生選修選修成績成績mn3/7/202223概念數(shù)據(jù)模型實例概念數(shù)據(jù)模型實例n庫存是指在倉庫中存放器件,具體工作是由倉庫的職工來管理

32、的。這庫存是指在倉庫中存放器件,具體工作是由倉庫的職工來管理的。這樣,根據(jù)庫存業(yè)務找到了三個實體:倉庫、器件和職工:樣,根據(jù)庫存業(yè)務找到了三個實體:倉庫、器件和職工:(1)在一個倉庫中可以存放多種器件,一種器件也可以存放在多個倉)在一個倉庫中可以存放多種器件,一種器件也可以存放在多個倉庫中。用庫存量表示某種器件在某個倉庫中的數(shù)量。庫中。用庫存量表示某種器件在某個倉庫中的數(shù)量。(2)一個倉庫有多個職工,而一個職工只能在一個倉庫工作;)一個倉庫有多個職工,而一個職工只能在一個倉庫工作;(3)每一種器件由可能由多名的職工負責,一名職工可負責多種器件。)每一種器件由可能由多名的職工負責,一名職工可負責

33、多種器件。n注:器件中的每個實體為一注:器件中的每個實體為一種種器件,而區(qū)一器件,而區(qū)一個個器件,區(qū)別于:每個具器件,區(qū)別于:每個具體的器件只能由一名固定的職員負責。體的器件只能由一名固定的職員負責。庫存業(yè)務局部庫存業(yè)務局部E-R圖圖倉庫倉庫器件器件職工職工庫存庫存工作工作m mn np p1 1n n倉庫倉庫器件器件職工職工庫存庫存工作工作負責負責m mn nm m1 1n np p3/7/202224n為了不斷補充庫存器件的不足,倉庫的職工需要及時向供應商訂購器為了不斷補充庫存器件的不足,倉庫的職工需要及時向供應商訂購器件,具體訂購體現(xiàn)在訂購單上。又出現(xiàn)了新實體:供應商:件,具體訂購體現(xiàn)在

34、訂購單上。又出現(xiàn)了新實體:供應商:n一名職工可以經手訂購多種器件,一個器件也可由多名職工訂購,但一名職工可以經手訂購多種器件,一個器件也可由多名職工訂購,但一次訂購只能又一名職工經手。一次訂購只能又一名職工經手。n一名職工可以向多個供應商訂購單,一個供應商可以接受多名職工的一名職工可以向多個供應商訂購單,一個供應商可以接受多名職工的訂購,但一次訂夠只能發(fā)給一個供應商。訂購,但一次訂夠只能發(fā)給一個供應商。n一個供應商可以供應多種器件,每種器件也可以由多個供應商供應一個供應商可以供應多種器件,每種器件也可以由多個供應商供應注意與教材中的注意與教材中的E-R圖及語義上區(qū)別。圖及語義上區(qū)別。m器件器件

35、職工職工供應商供應商供應供應np訂購業(yè)務的局部訂購業(yè)務的局部E-R圖圖器件器件供應商供應商訂購單訂購單職工職工接收接收訂單訂單訂訂 單單發(fā)出發(fā)出訂單訂單1nnn113/7/202225庫存和訂貨模型整體E-R圖 倉庫倉庫職工職工供應商供應商訂購單訂購單器件器件庫存庫存供應供應接受訂單接受訂單訂購訂購負責負責發(fā)出訂單發(fā)出訂單工作工作1mnp1nnnn1nmnu3/7/202226庫存訂貨業(yè)務的關系模型庫存訂貨業(yè)務的關系模型n將所有的實體及多對多聯(lián)系用關系模型表示實體或聯(lián)系實體或聯(lián)系屬性屬性倉庫倉庫職工職工器件器件供應商供應商訂購單訂購單庫存庫存負責負責訂購訂購供應供應倉庫號、地址、城市、面積、電

36、話號碼倉庫號、地址、城市、面積、電話號碼職工號、姓名、職稱職工號、姓名、職稱器件號、器件名、規(guī)格、單價器件號、器件名、規(guī)格、單價供應商號、供應商名、地址、電話號碼、帳號供應商號、供應商名、地址、電話號碼、帳號訂單號、訂單號、供應商號、職工員、供應商號、職工員、訂購日期、付款日期訂購日期、付款日期倉庫號、器件號、數(shù)量倉庫號、器件號、數(shù)量職工號、器件號職工號、器件號訂購單號、器件號、數(shù)量訂購單號、器件號、數(shù)量供應商號、器件號、數(shù)量供應商號、器件號、數(shù)量3/7/202227優(yōu)化后的庫存訂貨模型整體E-R圖n添加虛擬實體型,將多個多對多的聯(lián)系合并,變成多個一對多的聯(lián)系。倉庫倉庫職工職工供應商供應商訂購

37、單訂購單庫存項庫存項庫存庫存供應供應接受訂單接受訂單訂購訂購負責負責發(fā)出訂單發(fā)出訂單工作工作11n11n11n1nmnu器件器件存放存放1n3/7/202228優(yōu)化后的庫存訂貨的關系模型n將多個聯(lián)系表合并后更優(yōu)將多個聯(lián)系表合并后更優(yōu)實體或聯(lián)系實體或聯(lián)系屬性屬性倉庫倉庫職工職工器件器件供應商供應商訂購單訂購單庫存項庫存項倉庫號、地址、城市、面積、電話號碼倉庫號、地址、城市、面積、電話號碼職工號、姓名、職稱職工號、姓名、職稱器件號、器件名、規(guī)格、單價器件號、器件名、規(guī)格、單價供應商號、供應商名、地址、電話號碼、帳號供應商號、供應商名、地址、電話號碼、帳號訂單號、供應商號、職工員、訂購日期、付款日期

38、訂單號、供應商號、職工員、訂購日期、付款日期倉庫號、器件號、職工號、供應商號、訂購單號、倉庫號、器件號、職工號、供應商號、訂購單號、數(shù)量數(shù)量3/7/202229基本數(shù)據(jù)模型之傳統(tǒng)的三大數(shù)據(jù)模型傳統(tǒng)的三大數(shù)據(jù)模型 目前常用的數(shù)據(jù)模型有三種:層次模型、網狀模型和目前常用的數(shù)據(jù)模型有三種:層次模型、網狀模型和關系模型關系模型。其中層次模型和網狀模型統(tǒng)稱為其中層次模型和網狀模型統(tǒng)稱為非關系模型。非關系模型。 用樹型結構來表示實體之間聯(lián)系的模型稱為用樹型結構來表示實體之間聯(lián)系的模型稱為層次模型。層次模型。 構成層次模型的樹是由構成層次模型的樹是由結點結點和和連線連線組成的,結點表示組成的,結點表示實體集

39、(文件實體集(文件或記錄型),或記錄型),連線表示連線表示相連兩個實體之間的聯(lián)系,相連兩個實體之間的聯(lián)系,這種聯(lián)系只能是一這種聯(lián)系只能是一對多的。通常把表示對多的。通常把表示“一一”的實體放在上方,稱為的實體放在上方,稱為父結點;父結點;而把表示而把表示“多多”的實體放在下方,稱為的實體放在下方,稱為子結點子結點。根據(jù)樹結構的特點,建立數(shù)據(jù)。根據(jù)樹結構的特點,建立數(shù)據(jù)的層次模型需要滿足下列兩個條件:的層次模型需要滿足下列兩個條件:(1)有且僅有一個結點沒有父結點,這個結點即為樹根結點。)有且僅有一個結點沒有父結點,這個結點即為樹根結點。(2)其他數(shù)據(jù)記錄有且僅有一個父結點。)其他數(shù)據(jù)記錄有且僅

40、有一個父結點。例如,一個學院下屬有若干個系、處和研究所:每個系下屬有若干個例如,一個學院下屬有若干個系、處和研究所:每個系下屬有若干個教研室和辦公室;每個處下層有若干個科室,每個研究所下屬有若干教研室和辦公室;每個處下層有若干個科室,每個研究所下屬有若干個教研室和辦公室;等等。這樣一個學校的行政機構就明顯地有層次個教研室和辦公室;等等。這樣一個學校的行政機構就明顯地有層次關系。關系。層次模型層次模型3/7/202230層次模型的一個基本的特點是層次模型的一個基本的特點是,任何一個給定的記錄值只有按其路徑查看時,任何一個給定的記錄值只有按其路徑查看時,才能現(xiàn)出它的全部意義,無一個子女記錄值能夠脫

41、離雙親記錄值而獨立存在。才能現(xiàn)出它的全部意義,無一個子女記錄值能夠脫離雙親記錄值而獨立存在。層次模型最明顯的特點是層次模型最明顯的特點是層次清楚、構造簡單以及易于實現(xiàn),它可以很方便層次清楚、構造簡單以及易于實現(xiàn),它可以很方便地表示出一對一和一對多這兩種實體之間的聯(lián)系。地表示出一對一和一對多這兩種實體之間的聯(lián)系。 層次模型的主要優(yōu)點有:層次模型的主要優(yōu)點有:(1)層次數(shù)據(jù)模型本身比較簡單。層次數(shù)據(jù)模型本身比較簡單。(2)對于實體間聯(lián)系是固定的,且預先定義好的應用系統(tǒng),采用層次模型來實對于實體間聯(lián)系是固定的,且預先定義好的應用系統(tǒng),采用層次模型來實現(xiàn),其性能優(yōu)于關系模型,不低于網狀模型?,F(xiàn),其性能

42、優(yōu)于關系模型,不低于網狀模型。 (3)層次數(shù)據(jù)模型提供了良好的完整性支持。層次數(shù)據(jù)模型提供了良好的完整性支持。層次模型的主要缺點有:層次模型的主要缺點有:(1)現(xiàn)實世界中很多聯(lián)系是非層次性的,如多對多聯(lián)系、一個結點具有多個雙現(xiàn)實世界中很多聯(lián)系是非層次性的,如多對多聯(lián)系、一個結點具有多個雙親等,層次模型表示這類聯(lián)系的方法很笨掘,只能通過引入冗余數(shù)據(jù)(易產親等,層次模型表示這類聯(lián)系的方法很笨掘,只能通過引入冗余數(shù)據(jù)(易產生不一致性)或創(chuàng)建非自然組織(引入虛結點)來解決。生不一致性)或創(chuàng)建非自然組織(引入虛結點)來解決。(2)對插入和刪除操作的限制比較多。對插入和刪除操作的限制比較多。(3)查詢子結

43、點必須通過雙親結點。查詢子結點必須通過雙親結點。(4)由于結構嚴密,層次命令趨于程序化。由于結構嚴密,層次命令趨于程序化。用層次模型設計出來的數(shù)據(jù)庫稱為層次數(shù)據(jù)庫用層次模型設計出來的數(shù)據(jù)庫稱為層次數(shù)據(jù)庫層次模型主要用于表示一對一、一對多的關系。層次模型主要用于表示一對一、一對多的關系。3/7/202231網狀模型網狀模型網狀模型和層次模型在本質上是一樣的,網狀模型和層次模型在本質上是一樣的,從邏輯上看從邏輯上看它們都是用連線它們都是用連線表示實體之間的聯(lián)系,用結點表示實體集;表示實體之間的聯(lián)系,用結點表示實體集;從物理上看,從物理上看,層次模型和網絡層次模型和網絡模型都是用指針來實現(xiàn)兩個文件之

44、間的聯(lián)系,其差別僅在于網狀模型中的模型都是用指針來實現(xiàn)兩個文件之間的聯(lián)系,其差別僅在于網狀模型中的連線或指針更加復雜,更加縱橫交錯,從而使數(shù)據(jù)結構更復雜。連線或指針更加復雜,更加縱橫交錯,從而使數(shù)據(jù)結構更復雜。在數(shù)據(jù)庫中,把滿足以下兩個條件的基本層次聯(lián)系集合稱為在數(shù)據(jù)庫中,把滿足以下兩個條件的基本層次聯(lián)系集合稱為網狀模型:網狀模型:(1)允許一個以上的結點無雙親;)允許一個以上的結點無雙親;(2)一個結點可以有多于一個的雙親。)一個結點可以有多于一個的雙親。網狀模型是一種比層次模型更具普遍性的結構,它去掉了層次模型的兩網狀模型是一種比層次模型更具普遍性的結構,它去掉了層次模型的兩個限制,允許多

45、個結點沒有雙親結點,允許結點有多個雙親結點,此外它還個限制,允許多個結點沒有雙親結點,允許結點有多個雙親結點,此外它還允許兩個結點之間有多種聯(lián)系(稱之為復合聯(lián)系)。允許兩個結點之間有多種聯(lián)系(稱之為復合聯(lián)系)。 由于網狀模型所描述的數(shù)據(jù)之間的關系要比層次模型復雜得多,在層次由于網狀模型所描述的數(shù)據(jù)之間的關系要比層次模型復雜得多,在層次模型中子結點與雙親結點的聯(lián)系是唯一的,而在網狀模型中這種聯(lián)系可以不模型中子結點與雙親結點的聯(lián)系是唯一的,而在網狀模型中這種聯(lián)系可以不唯一。因此,為了描述網狀模型的記錄之間的聯(lián)系,引進了唯一。因此,為了描述網狀模型的記錄之間的聯(lián)系,引進了“系系(set )”概念。概

46、念。所謂所謂“系系”可以理解為命名了的聯(lián)系,它由一個父記錄型和一個或多可以理解為命名了的聯(lián)系,它由一個父記錄型和一個或多個子記錄型構成。個子記錄型構成。每一種聯(lián)系都用每一種聯(lián)系都用“系系”來表示,并將其標以不同的名稱,來表示,并將其標以不同的名稱,以便相互區(qū)別以便相互區(qū)別P31 3/7/202232n用網狀模型設計出來的數(shù)據(jù)庫稱為網狀數(shù)據(jù)庫。網狀數(shù)據(jù)庫。它不僅具有層次模型數(shù)據(jù)庫的一些特點而且也能方便地描述較為復雜的數(shù)據(jù)關系。n網狀模型是層次模型的一般形式,層次模型則是網狀模型的特殊情況。n網狀模型可以直接表示實體之間多對多的聯(lián)系。網狀模型可以直接表示實體之間多對多的聯(lián)系。網狀數(shù)據(jù)模型的優(yōu)點主要有:網狀數(shù)

溫馨提示

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

評論

0/150

提交評論