第2章_數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)_第1頁
第2章_數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)_第2頁
第2章_數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)_第3頁
第2章_數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)_第4頁
第2章_數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2021-11-211第第2章章 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)軟件工程系軟件工程系 劉金嶺劉金嶺2021-11-212 本章主要內(nèi)容本章主要內(nèi)容 (1) 數(shù)據(jù)庫設(shè)計中的數(shù)據(jù)庫設(shè)計中的數(shù)據(jù)描述數(shù)據(jù)描述 。 (2) 數(shù)據(jù)模型的描述。數(shù)據(jù)模型的描述。 (3) 數(shù)據(jù)庫的體系結(jié)構(gòu)數(shù)據(jù)庫的體系結(jié)構(gòu) 。 2021-11-213 本章的重要概念本章的重要概念 概念、邏輯和物理設(shè)計中的數(shù)據(jù)描述概念、邏輯和物理設(shè)計中的數(shù)據(jù)描述,數(shù)據(jù)聯(lián)系的描述,數(shù)據(jù)聯(lián)系的描述,數(shù)據(jù)模型的數(shù)據(jù)模型的定義,實體間二元聯(lián)系,定義,實體間二元聯(lián)系,ER模型,模型,數(shù)據(jù)庫的體系結(jié)構(gòu),數(shù)據(jù)庫的體系結(jié)構(gòu),三級結(jié)構(gòu),兩級三級結(jié)構(gòu),兩級映象,兩級數(shù)

2、據(jù)獨立性。映象,兩級數(shù)據(jù)獨立性。2021-11-2142.1 數(shù)據(jù)描述數(shù)據(jù)描述 z概念設(shè)計中的數(shù)據(jù)描述概念設(shè)計中的數(shù)據(jù)描述z邏輯設(shè)計中的數(shù)據(jù)描述邏輯設(shè)計中的數(shù)據(jù)描述z物理存儲中的數(shù)據(jù)描述物理存儲中的數(shù)據(jù)描述z數(shù)據(jù)聯(lián)系的描述數(shù)據(jù)聯(lián)系的描述 2021-11-215概念設(shè)計中的數(shù)據(jù)描述概念設(shè)計中的數(shù)據(jù)描述 數(shù)據(jù)庫的概念設(shè)計是根據(jù)用戶的需求設(shè)計數(shù)據(jù)庫的概念結(jié)構(gòu)。數(shù)據(jù)庫的概念設(shè)計是根據(jù)用戶的需求設(shè)計數(shù)據(jù)庫的概念結(jié)構(gòu)。實體(實體(Entity):): 客觀存在、可以相互區(qū)別的事物稱為實體??陀^存在、可以相互區(qū)別的事物稱為實體。實體可以實體可以是具體的對象,例如一名男學(xué)生,一輛汽車等。也可以是抽象的對象,例

3、是具體的對象,例如一名男學(xué)生,一輛汽車等。也可以是抽象的對象,例如一次借書,一場足球比賽等。實體集(如一次借書,一場足球比賽等。實體集(Entity Set) 性質(zhì)相同的同類實性質(zhì)相同的同類實體的集合,稱為實體集。例如所有的男學(xué)生,全國足球錦標(biāo)賽的所有比賽體的集合,稱為實體集。例如所有的男學(xué)生,全國足球錦標(biāo)賽的所有比賽等。有時,在不引起混淆的情況下也稱實體集為實體。等。有時,在不引起混淆的情況下也稱實體集為實體。屬性(屬性(Attribute):): 實體有很多特性,每一個特性稱為一個屬性。實體有很多特性,每一個特性稱為一個屬性。每每一個屬性有一個值域,其類型可以是整數(shù)型、實數(shù)型、字符串型等。

4、例如一個屬性有一個值域,其類型可以是整數(shù)型、實數(shù)型、字符串型等。例如實體學(xué)生有屬性學(xué)號、姓名、年齡、性別等。實體學(xué)生有屬性學(xué)號、姓名、年齡、性別等。實體標(biāo)識符(實體標(biāo)識符(Identifier):): 能惟一標(biāo)識實體的屬性或?qū)傩约?,稱為實能惟一標(biāo)識實體的屬性或?qū)傩约Q為實體標(biāo)識符。體標(biāo)識符。有時也稱為關(guān)鍵碼(有時也稱為關(guān)鍵碼(Key),或簡稱為鍵。例如學(xué)生的學(xué)號可),或簡稱為鍵。例如學(xué)生的學(xué)號可以作為學(xué)生實體的標(biāo)識符。以作為學(xué)生實體的標(biāo)識符。2021-11-216邏輯設(shè)計中的數(shù)據(jù)描述邏輯設(shè)計中的數(shù)據(jù)描述 數(shù)據(jù)庫的邏輯設(shè)計是根據(jù)概念設(shè)計得到的,邏輯設(shè)計中的術(shù)語如下:數(shù)據(jù)庫的邏輯設(shè)計是根據(jù)概念設(shè)

5、計得到的,邏輯設(shè)計中的術(shù)語如下:字段(字段(Field):): 標(biāo)記實體屬性的命名單位稱為字段或數(shù)據(jù)項。標(biāo)記實體屬性的命名單位稱為字段或數(shù)據(jù)項。它是可它是可以命名的最小信息單位,所以又稱為數(shù)據(jù)元素或數(shù)據(jù)項。字段的命名往往以命名的最小信息單位,所以又稱為數(shù)據(jù)元素或數(shù)據(jù)項。字段的命名往往和屬性名相同。例如學(xué)生有學(xué)號、姓名、年齡、性別等字段。和屬性名相同。例如學(xué)生有學(xué)號、姓名、年齡、性別等字段。記錄(記錄(Record):): 字段的有序集合稱為記錄。字段的有序集合稱為記錄。一般用一個記錄描述一一般用一個記錄描述一個實體,所以記錄又可以定義為能完整地描述一個實體的字段集。例如一個實體,所以記錄又可以

6、定義為能完整地描述一個實體的字段集。例如一個學(xué)生記錄,由有序的字段集組成:學(xué)號,姓名,年齡,性別。個學(xué)生記錄,由有序的字段集組成:學(xué)號,姓名,年齡,性別。 文件(文件(File):): 同一類記錄的集合稱為文件。同一類記錄的集合稱為文件。文件是用來描述實體集的。文件是用來描述實體集的。例如所有的學(xué)生記錄組成了一個學(xué)生文件。例如所有的學(xué)生記錄組成了一個學(xué)生文件。 關(guān)鍵碼(關(guān)鍵碼(Key) 能惟一標(biāo)識能惟一標(biāo)識文件中每個記錄的字段或字段集,稱為記錄的關(guān)鍵碼(簡稱為鍵)。文件中每個記錄的字段或字段集,稱為記錄的關(guān)鍵碼(簡稱為鍵)。 2021-11-217概念設(shè)計和邏輯設(shè)計中兩套術(shù)語的對應(yīng)關(guān)系概念設(shè)計

7、和邏輯設(shè)計中兩套術(shù)語的對應(yīng)關(guān)系 概念設(shè)計概念設(shè)計邏輯設(shè)計邏輯設(shè)計實體實體屬性屬性實體集實體集實體標(biāo)識符實體標(biāo)識符記錄記錄字段(或數(shù)據(jù)項)字段(或數(shù)據(jù)項)文件文件關(guān)鍵碼關(guān)鍵碼 在數(shù)據(jù)庫技術(shù)中,每個概念都有類型(在數(shù)據(jù)庫技術(shù)中,每個概念都有類型(Type)和值()和值(Value)之)之區(qū)分。例如區(qū)分。例如“學(xué)生學(xué)生”是一個實體類型,而具體的人是一個實體類型,而具體的人“張三張三”、“李四李四”是實體值。記錄也有記錄類型和記錄值之分。是實體值。記錄也有記錄類型和記錄值之分。 在不會引起誤解時,不去仔細(xì)區(qū)分類型和值,籠統(tǒng)地稱在不會引起誤解時,不去仔細(xì)區(qū)分類型和值,籠統(tǒng)地稱“記錄記錄”。 2021-1

8、1-218物理存儲中的數(shù)據(jù)描述物理存儲中的數(shù)據(jù)描述 v數(shù)據(jù)描述有兩種形式:數(shù)據(jù)描述有兩種形式:物理描述和邏輯描述。物理描述和邏輯描述。物理數(shù)據(jù)描述指數(shù)據(jù)在物理數(shù)據(jù)描述指數(shù)據(jù)在存儲設(shè)備上的存儲方式的描述,物理數(shù)據(jù)是實際存放在存儲設(shè)備上的數(shù)據(jù)。存儲設(shè)備上的存儲方式的描述,物理數(shù)據(jù)是實際存放在存儲設(shè)備上的數(shù)據(jù)。 v在數(shù)據(jù)庫系統(tǒng)中,邏輯數(shù)據(jù)與物理數(shù)據(jù)之間可以是差別很大的。在數(shù)據(jù)庫系統(tǒng)中,邏輯數(shù)據(jù)與物理數(shù)據(jù)之間可以是差別很大的。 v數(shù)據(jù)庫系統(tǒng)的一個目標(biāo)是使用戶能簡單、方便、容易地存取數(shù)據(jù),不數(shù)據(jù)庫系統(tǒng)的一個目標(biāo)是使用戶能簡單、方便、容易地存取數(shù)據(jù),不必關(guān)心數(shù)據(jù)庫的存儲結(jié)構(gòu)和具體實現(xiàn)方式。必關(guān)心數(shù)據(jù)庫的存

9、儲結(jié)構(gòu)和具體實現(xiàn)方式。 2021-11-219數(shù)據(jù)聯(lián)系的描述數(shù)據(jù)聯(lián)系的描述 (1)在現(xiàn)實世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息在現(xiàn)實世界中,事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在信息世界中反映為實體集內(nèi)部的聯(lián)系和實體集之間的聯(lián)系。世界中反映為實體集內(nèi)部的聯(lián)系和實體集之間的聯(lián)系。實體內(nèi)部的聯(lián)系通實體內(nèi)部的聯(lián)系通常是指組成實體的各屬性之間的聯(lián)系;常是指組成實體的各屬性之間的聯(lián)系;實體之間的聯(lián)系通常是指不同實體實體之間的聯(lián)系通常是指不同實體集之間的聯(lián)系。集之間的聯(lián)系。 v兩個實體集之間的聯(lián)系兩個實體集之間的聯(lián)系 一對一聯(lián)系(一對一聯(lián)系(1:1):):如果對于實體集如果對于實體集A

10、中中的每一個實體,實體集的每一個實體,實體集B中有中有N個實體個實體(N0)與之聯(lián)系,反之,對于實體集)與之聯(lián)系,反之,對于實體集B中的每一個實體,實體集中的每一個實體,實體集A中至多只有一中至多只有一個實體與之聯(lián)系,則稱實體集個實體與之聯(lián)系,則稱實體集A與實體集與實體集B有一對多聯(lián)系,記為有一對多聯(lián)系,記為1:N。 實體集實體集A聯(lián)系名聯(lián)系名實體集實體集B112021-11-2110數(shù)據(jù)聯(lián)系的描述數(shù)據(jù)聯(lián)系的描述 (2)一對多聯(lián)系(一對多聯(lián)系(1:N):): 如果對于實體集如果對于實體集A中的每一個實體,實體集中的每一個實體,實體集B中中有有N個實體(個實體(N0)與之聯(lián)系,反之,對于實體集)

11、與之聯(lián)系,反之,對于實體集B中的每一個實體,實體中的每一個實體,實體集集A中至多只有一個實體與之聯(lián)系,則稱實體集中至多只有一個實體與之聯(lián)系,則稱實體集A與實體集與實體集B有一對多聯(lián)系,有一對多聯(lián)系,記為記為1:N。 1N實體集實體集A聯(lián)系名聯(lián)系名實體集實體集B2021-11-2111數(shù)據(jù)聯(lián)系的描述數(shù)據(jù)聯(lián)系的描述 (3)例例一對一聯(lián)系一對一聯(lián)系一對多聯(lián)系一對多聯(lián)系2021-11-2112數(shù)據(jù)聯(lián)系的描述數(shù)據(jù)聯(lián)系的描述 (4)多對多聯(lián)系(多對多聯(lián)系(M:N):): 如果對于實體集如果對于實體集A中的每一個實體,實體集中的每一個實體,實體集B中有中有N個實體(個實體(N0)與之聯(lián)系,反之,對于實體集)

12、與之聯(lián)系,反之,對于實體集B中的每一個實體,中的每一個實體,實體集實體集A中也有中也有M個實體(個實體(M0)與之聯(lián)系,則稱實體集)與之聯(lián)系,則稱實體集A與實體集與實體集B具有具有多對多聯(lián)系,記為多對多聯(lián)系,記為M:N。 實體集實體集A聯(lián)系名聯(lián)系名實體集實體集BMN 一對一聯(lián)系是一對多聯(lián)系的特例,而一對多聯(lián)系又一對一聯(lián)系是一對多聯(lián)系的特例,而一對多聯(lián)系又是多對多聯(lián)系的特例。是多對多聯(lián)系的特例。 2021-11-2113數(shù)據(jù)聯(lián)系的描述數(shù)據(jù)聯(lián)系的描述 (5)例例多對多聯(lián)系2021-11-2114數(shù)據(jù)聯(lián)系的描述數(shù)據(jù)聯(lián)系的描述 (6)v 實體間的聯(lián)系實體間的聯(lián)系 若實體若實體E1,E2,En之間存在聯(lián)

13、系,對于實體之間存在聯(lián)系,對于實體Ej與(與(j=1,2,i-1,i+1,n)中給定實體,最多只和)中給定實體,最多只和Ei中的一個實體相聯(lián)系,則中的一個實體相聯(lián)系,則說說Ei與與E1,E2,Ej-1,Ej+1,En聯(lián)系是一對多的。聯(lián)系是一對多的。 對于課程、教師與參考書對于課程、教師與參考書3個實體,如果一門課程可以有若干個教師講個實體,如果一門課程可以有若干個教師講授,使用若干本參考書,而每一個教師只講授一門課程,每一本參考授,使用若干本參考書,而每一個教師只講授一門課程,每一本參考書只供一門課程使用,則課程與教師、參考書之間的聯(lián)系是一對多的。書只供一門課程使用,則課程與教師、參考書之間的

14、聯(lián)系是一對多的。 1課程課程講授講授教師教師參考書參考書MN2021-11-2115數(shù)據(jù)聯(lián)系的描述數(shù)據(jù)聯(lián)系的描述 (7)有有3個實體:供應(yīng)商、項目、零件,一個供應(yīng)商可以供給多個項目多個實體:供應(yīng)商、項目、零件,一個供應(yīng)商可以供給多個項目多種零件,而每個項目可以使用多個供應(yīng)商供應(yīng)的零件,每種零件可由不種零件,而每個項目可以使用多個供應(yīng)商供應(yīng)的零件,每種零件可由不同供應(yīng)商供給,由此看出供應(yīng)商、項目、零件三者之間是多對多的聯(lián)系。同供應(yīng)商供給,由此看出供應(yīng)商、項目、零件三者之間是多對多的聯(lián)系。 M供應(yīng)商供應(yīng)商供應(yīng)供應(yīng)項目項目零件零件NP 3個實體之間多對多的聯(lián)系和個實體之間多對多的聯(lián)系和3個實體兩兩之

15、間的(共個實體兩兩之間的(共3個)個)多對多聯(lián)系的語義是不同的。多對多聯(lián)系的語義是不同的。 2021-11-2116數(shù)據(jù)聯(lián)系的描述數(shù)據(jù)聯(lián)系的描述 (8)v單個實體集內(nèi)的聯(lián)系單個實體集內(nèi)的聯(lián)系同一個同一個實體集內(nèi)實體集內(nèi)的各實體之間也可以存在一對一、一對多、多對多的的各實體之間也可以存在一對一、一對多、多對多的聯(lián)系。例如,職工實體集內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系,即某一職工(干聯(lián)系。例如,職工實體集內(nèi)部具有領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的聯(lián)系,即某一職工(干部)部)“領(lǐng)導(dǎo)領(lǐng)導(dǎo)”若干名職工,而一個職工僅被另外一個職工直接領(lǐng)導(dǎo),因此若干名職工,而一個職工僅被另外一個職工直接領(lǐng)導(dǎo),因此這是一對多的聯(lián)系。這是一對多的聯(lián)系。

16、單個實體集之間單個實體集之間 一對多聯(lián)系示例一對多聯(lián)系示例N1職工職工領(lǐng)導(dǎo)領(lǐng)導(dǎo)2021-11-21172.2 數(shù)據(jù)模型數(shù)據(jù)模型 z數(shù)據(jù)模型的定義數(shù)據(jù)模型的定義z實體聯(lián)系模型實體聯(lián)系模型z層次模型層次模型 z網(wǎng)狀模型網(wǎng)狀模型 z關(guān)系模型關(guān)系模型z面向?qū)ο竽P兔嫦驅(qū)ο竽P湍鼙硎緦嶓w類型及實體間聯(lián)系的模型稱為能表示實體類型及實體間聯(lián)系的模型稱為“數(shù)據(jù)模型數(shù)據(jù)模型”。2021-11-2118數(shù)據(jù)模型的定義數(shù)據(jù)模型的定義 數(shù)據(jù)模型數(shù)據(jù)模型的種類很多,的種類很多, 目前被廣泛使用的可分為目前被廣泛使用的可分為兩種類型。一種是獨立于兩種類型。一種是獨立于計算機系統(tǒng)的數(shù)據(jù)模型,計算機系統(tǒng)的數(shù)據(jù)模型,完全不涉及

17、信息在計算機完全不涉及信息在計算機中的表示,只是用來描述中的表示,只是用來描述某個特定組織所關(guān)心的信某個特定組織所關(guān)心的信息結(jié)構(gòu),這類模型稱為息結(jié)構(gòu),這類模型稱為“概念數(shù)據(jù)模型概念數(shù)據(jù)模型”;另一;另一種數(shù)據(jù)模型是直接面向數(shù)種數(shù)據(jù)模型是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),它是對據(jù)庫的邏輯結(jié)構(gòu),它是對現(xiàn)實世界的第二層抽象?,F(xiàn)實世界的第二層抽象。這類模型直接與這類模型直接與DBMS有有關(guān),稱為關(guān),稱為“邏輯數(shù)據(jù)模邏輯數(shù)據(jù)模型型”,簡稱,簡稱“邏輯模型邏輯模型”。 現(xiàn)實世界現(xiàn)實世界認(rèn)認(rèn)識識抽抽象象概念模型概念模型邏輯模型邏輯模型信息世界信息世界機器世界機器世界 現(xiàn)實世界中客觀對象的抽象過程現(xiàn)實世界中客觀對象的

18、抽象過程2021-11-2119實體聯(lián)系模型實體聯(lián)系模型 (1) ER(實體實體聯(lián)系方法聯(lián)系方法)圖提供了表示實體型、屬性和聯(lián)系的方法:)圖提供了表示實體型、屬性和聯(lián)系的方法: 實體型:實體型:用矩形表示,矩形框內(nèi)寫明實體名。用矩形表示,矩形框內(nèi)寫明實體名。 屬性:屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體型連接起來。用橢圓形表示,并用無向邊將其與相應(yīng)的實體型連接起來。 例如,學(xué)生實體具有學(xué)號、姓名、性別、出生年份、系、入學(xué)時間例如,學(xué)生實體具有學(xué)號、姓名、性別、出生年份、系、入學(xué)時間等屬性,用等屬性,用ER圖表示如圖所示。圖表示如圖所示。 學(xué)生學(xué)生學(xué)號學(xué)號姓名姓名性別性別系系出生年份出生

19、年份入學(xué)時間入學(xué)時間2021-11-2120實體聯(lián)系模型實體聯(lián)系模型 (2)聯(lián)系:聯(lián)系:用菱形表示,菱形框內(nèi)寫明用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體型聯(lián)系名,并用無向邊分別與有關(guān)實體型連接起來,同時在無向邊旁標(biāo)上聯(lián)系的連接起來,同時在無向邊旁標(biāo)上聯(lián)系的類型(類型(1:1,1:N或或M:N)。)。需要注意的是,需要注意的是,如果一個聯(lián)系具有如果一個聯(lián)系具有屬性,則這些屬性也要用無向邊與該聯(lián)屬性,則這些屬性也要用無向邊與該聯(lián)系連接起來,如右圖。系連接起來,如右圖。M供應(yīng)商供應(yīng)商供應(yīng)供應(yīng)項目項目零件零件NP供應(yīng)量供應(yīng)量 聯(lián)系的屬性表示聯(lián)系的屬性表示2021-11-2121實體聯(lián)系

20、模型實體聯(lián)系模型 (3)現(xiàn)以學(xué)校的教學(xué)情況為例來建立現(xiàn)以學(xué)校的教學(xué)情況為例來建立ER圖。圖。教學(xué)情況可由學(xué)生、課程、教師、學(xué)習(xí)、任課等組成。教學(xué)情況可由學(xué)生、課程、教師、學(xué)習(xí)、任課等組成。 學(xué)生對課學(xué)生對課程是多對多聯(lián)系:一個學(xué)生可以學(xué)多門課程,而一門課程又有多個學(xué)生學(xué)程是多對多聯(lián)系:一個學(xué)生可以學(xué)多門課程,而一門課程又有多個學(xué)生學(xué)習(xí);習(xí); 教師對課程是一對多聯(lián)系:一個教師可以講授多門課程,但一門教師對課程是一對多聯(lián)系:一個教師可以講授多門課程,但一門課程至多只能由一個教師任教(當(dāng)一門課程分別在不同的班開課時,可看課程至多只能由一個教師任教(當(dāng)一門課程分別在不同的班開課時,可看做幾門課程,它們

21、的課程名可以相同,但課程號不能相同,用以區(qū)別,這做幾門課程,它們的課程名可以相同,但課程號不能相同,用以區(qū)別,這樣就可以滿足一對多的假設(shè))。樣就可以滿足一對多的假設(shè))。 學(xué)號學(xué)號姓名姓名性別性別年齡年齡學(xué)生學(xué)生課程課程教師教師學(xué)習(xí)學(xué)習(xí)任課任課學(xué)號學(xué)號課程號課程號成績成績課程號課程號課程名課程名課時數(shù)課時數(shù)課程號課程號姓名姓名姓名姓名性別性別年齡年齡MNN1一般在劃一般在劃ER圖圖時這兩個屬性要時這兩個屬性要去掉!去掉!一般在劃一般在劃ER圖時這兩個屬圖時這兩個屬性要去掉!性要去掉!2021-11-2122層次模型層次模型 (1)v 層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)層次數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) n在數(shù)據(jù)庫中定義

22、滿足下面兩個條件的基本層次聯(lián)系的集合為層在數(shù)據(jù)庫中定義滿足下面兩個條件的基本層次聯(lián)系的集合為層次模型。有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點;次模型。有且只有一個結(jié)點沒有雙親結(jié)點,這個結(jié)點稱為根結(jié)點;n根以外的其他結(jié)點有且只有一個雙親結(jié)點。根以外的其他結(jié)點有且只有一個雙親結(jié)點。 每個記錄類型可包含若干個字每個記錄類型可包含若干個字段。這里,記錄類型描述的是實體,段。這里,記錄類型描述的是實體,字段描述實體的屬性。各個記錄類字段描述實體的屬性。各個記錄類型及其字段都必須命名。各個記錄型及其字段都必須命名。各個記錄類型、同一記錄類型中各個字段不類型、同一記錄類型中各個字段不能同名。每個記

23、錄類型可以定義一能同名。每個記錄類型可以定義一個排序字段,也稱為個排序字段,也稱為碼字段碼字段,如果,如果定義該排序字段的值是唯一的,則定義該排序字段的值是唯一的,則它能唯一地標(biāo)識一個記錄值。它能唯一地標(biāo)識一個記錄值。 R1R2R3R4R5根節(jié)點根節(jié)點葉節(jié)點葉節(jié)點葉節(jié)點葉節(jié)點葉節(jié)點葉節(jié)點兄弟節(jié)點兄弟節(jié)點兄弟節(jié)點兄弟節(jié)點樹形結(jié)構(gòu)圖樹形結(jié)構(gòu)圖2021-11-2123層次模型層次模型 (2)v 層次模型的優(yōu)點主要有:層次模型的優(yōu)點主要有: 層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡單清晰。層次模型的數(shù)據(jù)結(jié)構(gòu)比較簡單清晰。 層次數(shù)據(jù)庫的查詢效率高。因為層次模型中記錄之間的聯(lián)系用有層次數(shù)據(jù)庫的查詢效率高。因為層次模型中記

24、錄之間的聯(lián)系用有向邊表示,這種聯(lián)系在向邊表示,這種聯(lián)系在DBMSDBMS中常常用指針來實現(xiàn)。因此這種聯(lián)系也就是記中常常用指針來實現(xiàn)。因此這種聯(lián)系也就是記錄之間的存取路徑。當(dāng)要存取某個結(jié)點的記錄值,錄之間的存取路徑。當(dāng)要存取某個結(jié)點的記錄值,DBMSDBMS就沿著這一條路徑就沿著這一條路徑很快找到該記錄值,所以,層次數(shù)據(jù)庫的查詢性能優(yōu)于關(guān)系數(shù)據(jù)庫,不低很快找到該記錄值,所以,層次數(shù)據(jù)庫的查詢性能優(yōu)于關(guān)系數(shù)據(jù)庫,不低于網(wǎng)狀數(shù)據(jù)庫。于網(wǎng)狀數(shù)據(jù)庫。 層次數(shù)據(jù)模型提供了良好的完整性支持。層次數(shù)據(jù)模型提供了良好的完整性支持。 2021-11-2124層次模型層次模型 (3)v 層次模型的缺點主要有層次模型

25、的缺點主要有 現(xiàn)實世界中很多聯(lián)系是非層次型的,如結(jié)點之間具有多對多聯(lián)系?,F(xiàn)實世界中很多聯(lián)系是非層次型的,如結(jié)點之間具有多對多聯(lián)系。 一個結(jié)點具有多個雙親等,層次模型表示這類聯(lián)系的方法很笨拙,一個結(jié)點具有多個雙親等,層次模型表示這類聯(lián)系的方法很笨拙,只能通過引入冗余數(shù)據(jù)(易產(chǎn)生不一致性)或創(chuàng)建非自然的數(shù)據(jù)結(jié)構(gòu)只能通過引入冗余數(shù)據(jù)(易產(chǎn)生不一致性)或創(chuàng)建非自然的數(shù)據(jù)結(jié)構(gòu)(引入虛擬結(jié)點)來解決。對插入和刪除操作的限制比較多,因此應(yīng)用(引入虛擬結(jié)點)來解決。對插入和刪除操作的限制比較多,因此應(yīng)用程序的編寫比較復(fù)雜。程序的編寫比較復(fù)雜。 查詢子女結(jié)點必須通過雙親結(jié)點。查詢子女結(jié)點必須通過雙親結(jié)點。 由于

26、結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化。由于結(jié)構(gòu)嚴(yán)密,層次命令趨于程序化。 2021-11-2125網(wǎng)狀模型網(wǎng)狀模型 (1)v網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)網(wǎng)狀數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)在數(shù)據(jù)庫中,把滿足以下兩個條件的基本層次聯(lián)系集合稱為網(wǎng)狀模型:在數(shù)據(jù)庫中,把滿足以下兩個條件的基本層次聯(lián)系集合稱為網(wǎng)狀模型:允許一個以上的結(jié)點無雙親;一個結(jié)點可以有多于一個的雙親。允許一個以上的結(jié)點無雙親;一個結(jié)點可以有多于一個的雙親。v網(wǎng)狀數(shù)據(jù)模型的優(yōu)點網(wǎng)狀數(shù)據(jù)模型的優(yōu)點: 能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親。結(jié)能夠更為直接地描述現(xiàn)實世界,如一個結(jié)點可以有多個雙親。結(jié)點之間可以有多種聯(lián)系。點之間可以有多種聯(lián)系。 具有

27、良好的性能,存取效率較高。具有良好的性能,存取效率較高。 2021-11-2126網(wǎng)狀模型網(wǎng)狀模型 (2)v 網(wǎng)狀數(shù)據(jù)模型的缺點主要有:網(wǎng)狀數(shù)據(jù)模型的缺點主要有: 結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越結(jié)構(gòu)比較復(fù)雜,而且隨著應(yīng)用環(huán)境的擴大,數(shù)據(jù)庫的結(jié)構(gòu)就變得越來越復(fù)雜,不利于最終用戶掌握。來越復(fù)雜,不利于最終用戶掌握。 網(wǎng)狀模型的網(wǎng)狀模型的DDL、DML復(fù)雜,并且要嵌入某一種高級語言(如復(fù)雜,并且要嵌入某一種高級語言(如COBOL、C)中。因此用戶不易掌握和使用。)中。因此用戶不易掌握和使用。 由于記錄之間的聯(lián)系是通過存取路徑實現(xiàn)的,應(yīng)用程序在訪問數(shù)據(jù)由于記錄之間的聯(lián)系是通

28、過存取路徑實現(xiàn)的,應(yīng)用程序在訪問數(shù)據(jù)時必須選擇適當(dāng)?shù)拇嫒÷窂剑虼?,用戶必須了解系統(tǒng)結(jié)構(gòu)的細(xì)節(jié)。這樣時必須選擇適當(dāng)?shù)拇嫒÷窂?,因此,用戶必須了解系統(tǒng)結(jié)構(gòu)的細(xì)節(jié)。這樣就加重了編寫應(yīng)用程序的負(fù)擔(dān)。就加重了編寫應(yīng)用程序的負(fù)擔(dān)。 2021-11-2127關(guān)系模型關(guān)系模型 (1)v 關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系數(shù)據(jù)模型的數(shù)據(jù)結(jié)構(gòu) 從用戶觀點看,關(guān)系模型由一組關(guān)系組成。每個關(guān)系的數(shù)據(jù)結(jié)構(gòu)是從用戶觀點看,關(guān)系模型由一組關(guān)系組成。每個關(guān)系的數(shù)據(jù)結(jié)構(gòu)是一張規(guī)范化的二維表。一張規(guī)范化的二維表。學(xué)號學(xué)號姓名姓名年齡年齡性別性別系名系名年級年級200912004王小明王小明19女女計算機系計算機系20092009120

29、06黃大鵬黃大鵬20男男數(shù)學(xué)系數(shù)學(xué)系2009200912008張文斌張文斌18女女經(jīng)管系經(jīng)管系20092021-11-2128關(guān)系模型關(guān)系模型 (2)關(guān)系(關(guān)系(Relation):): 一個關(guān)系對應(yīng)通常說的一張表,如表一個關(guān)系對應(yīng)通常說的一張表,如表2.2中的這張中的這張學(xué)生登記表。元組(學(xué)生登記表。元組(Tuple) 表中的一行即為一個元組。表中的一行即為一個元組。屬性(屬性(Attribute):): 表中的一列即為一個屬性,給每一個屬性起一個表中的一列即為一個屬性,給每一個屬性起一個名稱即屬性名。如這張表有名稱即屬性名。如這張表有6列,對應(yīng)列,對應(yīng)6個屬性:學(xué)號,姓名,年齡,性別,個屬

30、性:學(xué)號,姓名,年齡,性別,系名和年級。系名和年級。 碼(碼(Key):): 也稱為碼鍵。表中的某個屬性組,它可以惟一確定一個也稱為碼鍵。表中的某個屬性組,它可以惟一確定一個元組,如表元組,如表2.2中的學(xué)號,可以惟一確定一個學(xué)生,也就成為本關(guān)系的碼。中的學(xué)號,可以惟一確定一個學(xué)生,也就成為本關(guān)系的碼。域(域(Domain):): 屬性的取值范圍,如人的年齡一般在屬性的取值范圍,如人的年齡一般在1150歲之間,歲之間,大學(xué)生年齡屬性的域是(大學(xué)生年齡屬性的域是(1438),性別的域是(男,女),系名的域是),性別的域是(男,女),系名的域是一個學(xué)校所有系名的集合。分量一個學(xué)校所有系名的集合。分

31、量 元組中的一個屬性值。元組中的一個屬性值。關(guān)系模式關(guān)系模式 :對關(guān)系的描述,一般表示為對關(guān)系的描述,一般表示為 關(guān)系名(屬性關(guān)系名(屬性l,屬性,屬性2,屬性,屬性n) 2021-11-2129關(guān)系模型關(guān)系模型 (3)關(guān)系術(shù)語關(guān)系術(shù)語一般表格術(shù)語一般表格術(shù)語關(guān)系名關(guān)系名關(guān)系模式關(guān)系模式關(guān)系關(guān)系元組元組屬性屬性屬性名屬性名屬性值屬性值分量分量非規(guī)范關(guān)系非規(guī)范關(guān)系表名表名表頭(表格的描述)表頭(表格的描述)(一張)二維表(一張)二維表記錄或行記錄或行列列列名列名列值列值一條記錄中的一個列值一條記錄中的一個列值表中有表(大表中嵌有小表)表中有表(大表中嵌有小表)關(guān)系和現(xiàn)實生活中的表格所使用的術(shù)語做

32、一個粗略的對比關(guān)系和現(xiàn)實生活中的表格所使用的術(shù)語做一個粗略的對比 如下:如下:2021-11-2130關(guān)系模型關(guān)系模型 (4)v關(guān)系數(shù)據(jù)模型具有下列優(yōu)點:關(guān)系數(shù)據(jù)模型具有下列優(yōu)點: 關(guān)系模型與非關(guān)系模型不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上關(guān)系模型與非關(guān)系模型不同,它是建立在嚴(yán)格的數(shù)學(xué)概念的基礎(chǔ)上的。的。 關(guān)系模型的概念單一。無論實體還是實體之間的聯(lián)系都用關(guān)系來表關(guān)系模型的概念單一。無論實體還是實體之間的聯(lián)系都用關(guān)系來表示。對數(shù)據(jù)的檢索和更新結(jié)果也是關(guān)系(即表)。所以其數(shù)據(jù)結(jié)構(gòu)簡單、示。對數(shù)據(jù)的檢索和更新結(jié)果也是關(guān)系(即表)。所以其數(shù)據(jù)結(jié)構(gòu)簡單、清晰,用戶易懂易用。清晰,用戶易懂易用。 關(guān)系模

33、型的存取路徑對用戶透明,從而具有更高的數(shù)據(jù)獨立性、更關(guān)系模型的存取路徑對用戶透明,從而具有更高的數(shù)據(jù)獨立性、更好的安全保密性,也簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作。好的安全保密性,也簡化了程序員的工作和數(shù)據(jù)庫開發(fā)建立的工作。v關(guān)系數(shù)據(jù)模型最主要的缺點是:關(guān)系數(shù)據(jù)模型最主要的缺點是:由于存取路徑對用戶透明,查詢效率由于存取路徑對用戶透明,查詢效率往往不如非關(guān)系數(shù)據(jù)模型。往往不如非關(guān)系數(shù)據(jù)模型。 2021-11-2131面向?qū)ο竽P兔嫦驅(qū)ο竽P?(1)v面向?qū)ο蟮幕靖拍蠲嫦驅(qū)ο蟮幕靖拍?對象(對象(Object):): 對象是現(xiàn)實世界中實體的模型化,與記錄概念相對象是現(xiàn)實世界中實體的模型

34、化,與記錄概念相仿,但遠(yuǎn)比記錄復(fù)雜。每個對象有一個惟一的標(biāo)識符,把狀態(tài)(仿,但遠(yuǎn)比記錄復(fù)雜。每個對象有一個惟一的標(biāo)識符,把狀態(tài)(State)和行為(和行為(Behavior)封裝()封裝(Encapsulate)在一起。其中,對象的狀態(tài))在一起。其中,對象的狀態(tài)是該對象屬性值的集合,對象的行為是在對象狀態(tài)上操作的方法集。是該對象屬性值的集合,對象的行為是在對象狀態(tài)上操作的方法集。類(類(Class):): 將屬性集和方法集相同的所有對象組合在一起,構(gòu)將屬性集和方法集相同的所有對象組合在一起,構(gòu)成了一個類。類的屬性值域可以是基本數(shù)據(jù)類型(整型、實型、字符串成了一個類。類的屬性值域可以是基本數(shù)據(jù)類

35、型(整型、實型、字符串型),也可以是記錄類型和集合類型。也就是類可以有嵌套結(jié)構(gòu)。系統(tǒng)型),也可以是記錄類型和集合類型。也就是類可以有嵌套結(jié)構(gòu)。系統(tǒng)中所有的類組成了一個有根的有向無環(huán)圖,叫類層次。中所有的類組成了一個有根的有向無環(huán)圖,叫類層次。 2021-11-2132面向?qū)ο竽P兔嫦驅(qū)ο竽P?(2)v面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的優(yōu)點:面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的優(yōu)點: 能有效地表達(dá)客觀世界和有效地查詢信息:面向?qū)ο蠓椒ňC合了能有效地表達(dá)客觀世界和有效地查詢信息:面向?qū)ο蠓椒ňC合了在關(guān)系數(shù)據(jù)庫中發(fā)展的全部工程原理、系統(tǒng)分析、軟件工程和專家系統(tǒng)領(lǐng)在關(guān)系數(shù)據(jù)庫中發(fā)展的全部工程原理、系統(tǒng)分析、軟件工程和專家系統(tǒng)領(lǐng)域的

36、內(nèi)容。域的內(nèi)容。 可維護性好:在耦合性和內(nèi)聚性方面,面向?qū)ο髷?shù)據(jù)模型的性能尤可維護性好:在耦合性和內(nèi)聚性方面,面向?qū)ο髷?shù)據(jù)模型的性能尤為突出。為突出。 能很好地解決能很好地解決“阻抗不匹配阻抗不匹配”(impedance mismatch)問題:應(yīng))問題:應(yīng)用程序語言與數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)類型支持的不一致問題,這一問題通用程序語言與數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)類型支持的不一致問題,這一問題通常稱之為阻抗不匹配問題。常稱之為阻抗不匹配問題。 2021-11-2133面向?qū)ο竽P兔嫦驅(qū)ο竽P?(3)v面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的缺點面向?qū)ο髷?shù)據(jù)庫系統(tǒng)的缺點 : 技術(shù)還不成熟:面向?qū)ο竽P瓦€存在著標(biāo)準(zhǔn)化問題,是否修

37、改技術(shù)還不成熟:面向?qū)ο竽P瓦€存在著標(biāo)準(zhǔn)化問題,是否修改SQL以適應(yīng)面向?qū)ο蟮某绦?,還是用新的對象查詢語言來代替它,目前還以適應(yīng)面向?qū)ο蟮某绦?,還是用新的對象查詢語言來代替它,目前還沒有解決。沒有解決。 面向?qū)ο笙到y(tǒng)開發(fā)的有關(guān)原理才剛開始,只是具有雛形,還需要面向?qū)ο笙到y(tǒng)開發(fā)的有關(guān)原理才剛開始,只是具有雛形,還需要一段時間的研究。但在可靠性、成本等方面還是令人可以接受的。一段時間的研究。但在可靠性、成本等方面還是令人可以接受的。 理論還需完善:到現(xiàn)在為止沒有關(guān)于面向?qū)ο蠓治龅囊惶浊逦睦碚撨€需完善:到現(xiàn)在為止沒有關(guān)于面向?qū)ο蠓治龅囊惶浊逦母拍钅P?,怎樣設(shè)計獨立于物理存儲的信息還不明確。概念模

38、型,怎樣設(shè)計獨立于物理存儲的信息還不明確。 2021-11-21342.3 數(shù)據(jù)庫的體系結(jié)構(gòu)數(shù)據(jù)庫的體系結(jié)構(gòu) 主要內(nèi)容主要內(nèi)容z 三級模式結(jié)構(gòu)三級模式結(jié)構(gòu) z 三級結(jié)構(gòu)和兩級映像三級結(jié)構(gòu)和兩級映像z 兩級數(shù)據(jù)獨立性兩級數(shù)據(jù)獨立性從數(shù)據(jù)庫管理系統(tǒng)的抽象層次看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu)從數(shù)據(jù)庫管理系統(tǒng)的抽象層次看,數(shù)據(jù)庫系統(tǒng)通常采用三級模式結(jié)構(gòu)2021-11-2135三級模式結(jié)構(gòu)三級模式結(jié)構(gòu) (1)數(shù)據(jù)庫的體系結(jié)構(gòu)分成三級:外部級(數(shù)據(jù)庫的體系結(jié)構(gòu)分成三級:外部級(External)、概念級)、概念級(Conceptual)和內(nèi)部級()和內(nèi)部級(Internal)。這個結(jié)構(gòu)稱為)。這個結(jié)構(gòu)稱

39、為“數(shù)據(jù)庫的體系結(jié)數(shù)據(jù)庫的體系結(jié)構(gòu)構(gòu)”,有時亦稱為,有時亦稱為“三級模式結(jié)構(gòu)三級模式結(jié)構(gòu)”,或,或“數(shù)據(jù)抽象的三個級別數(shù)據(jù)抽象的三個級別”。 從某個角度看到的數(shù)據(jù)特性,稱為從某個角度看到的數(shù)據(jù)特性,稱為“數(shù)據(jù)視圖數(shù)據(jù)視圖”(Data View)。)。外部級外部級最接近用戶,是單個用戶能看到的數(shù)據(jù)特性。最接近用戶,是單個用戶能看到的數(shù)據(jù)特性。概念級概念級涉及到所有用戶的數(shù)據(jù)定義,也就是全局性的數(shù)據(jù)視圖。涉及到所有用戶的數(shù)據(jù)定義,也就是全局性的數(shù)據(jù)視圖。內(nèi)部級內(nèi)部級最接近于物理存儲設(shè)備,涉及到物理數(shù)據(jù)存儲的結(jié)構(gòu)。最接近于物理存儲設(shè)備,涉及到物理數(shù)據(jù)存儲的結(jié)構(gòu)。數(shù)據(jù)庫的三個模式結(jié)構(gòu)是對數(shù)據(jù)的三個抽象

40、級別。它把數(shù)據(jù)的具體組數(shù)據(jù)庫的三個模式結(jié)構(gòu)是對數(shù)據(jù)的三個抽象級別。它把數(shù)據(jù)的具體組織留給織留給DBMS去做,用戶只要抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機去做,用戶只要抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機中的表示和存儲。中的表示和存儲。 2021-11-2136三級模式結(jié)構(gòu)三級模式結(jié)構(gòu) (2)數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)如下圖:數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)如下圖: 應(yīng)用應(yīng)用A應(yīng)用應(yīng)用B應(yīng)用應(yīng)用C應(yīng)用應(yīng)用D應(yīng)用應(yīng)用E外模式外模式1外模式外模式2外模式外模式3模式模式內(nèi)模式內(nèi)模式數(shù)據(jù)庫數(shù)據(jù)庫外模外模式式/ /模模式映式映像像內(nèi)模內(nèi)模式式/ /模模式映式映像像外部級外部級最接近用戶,最接近用戶,是單個用戶能看到的是單個用戶能看到的數(shù)據(jù)特性。單個用戶數(shù)據(jù)特性。單個用戶使用的數(shù)據(jù)視圖的描使用的數(shù)據(jù)視圖的描述稱為述稱為“外模式外模式”。概念級概念級涉及到所有用戶的數(shù)據(jù)涉及到所有用戶的數(shù)據(jù)定義,也就是全局性的數(shù)據(jù)視定義,也就是全局性的數(shù)據(jù)視圖。全局?jǐn)?shù)據(jù)視圖的描述稱為圖。全局?jǐn)?shù)據(jù)視圖的描述稱為“概念模式概念模式”,也稱為,也稱為“模模式式”。內(nèi)部級內(nèi)部級最接近于物理存儲設(shè)最接近于物理存儲設(shè)備,涉及到物理數(shù)據(jù)存儲的備,涉及到物理數(shù)據(jù)存儲的結(jié)構(gòu)。物理存儲數(shù)據(jù)視圖的結(jié)構(gòu)。物理存儲數(shù)據(jù)視圖的描述稱為描述稱為

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論