數(shù)據(jù)模型
模型是現(xiàn)實世界特征的模擬和抽象。在數(shù)據(jù)庫技術(shù)中,用數(shù)據(jù)模型的概念描述數(shù)據(jù)庫的結(jié)構(gòu)和語義,是對現(xiàn)實世界的數(shù)據(jù)抽象。數(shù)據(jù)模型是研究數(shù)據(jù)庫技術(shù)的核心和基礎(chǔ)。?數(shù)據(jù)庫技術(shù)中研究的數(shù)據(jù)模型分為兩個層面:一層是面向用戶的,稱為概念模型;另一層面是面向計算機系統(tǒng)的,稱為結(jié)構(gòu)模型。
1.?概念數(shù)據(jù)模型
概念數(shù)據(jù)模型是獨立于計算機系統(tǒng)的數(shù)據(jù)模型,用來描述某個特定組織關(guān)心的信息結(jié)構(gòu),屬于信息世界的建模,所以概念模型應(yīng)該能夠方便、準(zhǔn)確地表示客觀世界中常用的概念。另外概念數(shù)據(jù)模型也是用戶和應(yīng)用系統(tǒng)設(shè)計員互相交流的橋梁,以保證數(shù)據(jù)模型能夠正確地描述客觀世界。
????概念模型的表示方法最常用的是P.P.Chen于1976年提出的"實體-聯(lián)系圖方法(Entity-Relationship Approach),簡稱E-R模型"。E-R實體聯(lián)系圖是直觀表示概念模型的工具,其中包含了實體、聯(lián)系、屬性三個成分,聯(lián)系的方法為一對一(1:1)、一對多(1:N)、多對多(M:N)三種方式,聯(lián)系屬于哪種方式取決于客觀實際本身。
E-R模型圖,既表示實體,也表示實體之間的聯(lián)系,是現(xiàn)實世界的抽象,與計算機系統(tǒng)沒有關(guān)系,是可以被用戶理解的數(shù)據(jù)描述方式。通過E-R模型圖可以使用戶了解系統(tǒng)設(shè)計者對現(xiàn)實世界的抽象是否符合實際情況,從某種程度上說E-R模型圖也是用戶與系統(tǒng)設(shè)計者進行交流的工具,E-R模型圖已成為概念模型設(shè)計的一個重要設(shè)計方法。
????
E-R圖具體范例

??? 實體和實體之間的聯(lián)系用無向線段連接,在線段上標(biāo)注聯(lián)系的類型,實體和聯(lián)系都由各自的屬性。例如,在學(xué)生選課管理系統(tǒng)中涉及學(xué)生和課程兩個實體,同時這兩個實體之間有聯(lián)系的(學(xué)生選學(xué)課程,課程為學(xué)生開設(shè),這種聯(lián)系是多對多的)。
E-R圖在Powerdesigner的表現(xiàn)形式

2.?結(jié)構(gòu)數(shù)據(jù)模型
概念數(shù)據(jù)模型是對現(xiàn)實世界的數(shù)據(jù)描述,這種數(shù)據(jù)模型最終要轉(zhuǎn)換成計算機能夠?qū)崿F(xiàn)的數(shù)據(jù)模型。現(xiàn)實世界的第二層抽象是直接面向數(shù)據(jù)庫的邏輯結(jié)構(gòu),稱為結(jié)構(gòu)數(shù)據(jù)模型,這類數(shù)據(jù)模型涉及到計算機系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)。結(jié)構(gòu)數(shù)據(jù)模型的三個組成部分是:
數(shù)據(jù)結(jié)構(gòu):實體和實體間聯(lián)系的表示和實現(xiàn)。
數(shù)據(jù)操作:數(shù)據(jù)庫的查詢和更新操作的實現(xiàn)。
數(shù)據(jù)完整性約束:數(shù)據(jù)及其聯(lián)系應(yīng)具有的制約和依賴規(guī)則。
關(guān)系模型
常用的結(jié)構(gòu)數(shù)據(jù)模型是關(guān)系模型和面向?qū)ο竽P停P(guān)系模型的理論基礎(chǔ)是數(shù)學(xué)理論,數(shù)據(jù)的操作通過關(guān)系運算實現(xiàn)。在關(guān)系模型中用二維表表示實體及實體之間的聯(lián)系,關(guān)系模型的實例稱為關(guān)系。從數(shù)學(xué)的觀點上看,關(guān)系是集合,其元素是元組(記錄)。遵循一定的規(guī)則后,可以將E-R模型圖轉(zhuǎn)換成關(guān)系模型。
將E-R模型圖轉(zhuǎn)換成關(guān)系模型的規(guī)則:E-R模型圖中的主要成分是實體及實體之間的聯(lián)系,對于實體的轉(zhuǎn)換方式是:
1)??將一個實體轉(zhuǎn)換成一個關(guān)系模型。實體的屬性為關(guān)系模型的屬性,實體的標(biāo)識符為關(guān)系模型的關(guān)鍵字,如上圖所示的E-R模式中有兩個實體:學(xué)生、課程,可以分別轉(zhuǎn)換學(xué)生模型和課程模型:
學(xué)生模型(學(xué)號,姓名,性別,年齡),學(xué)號是學(xué)生模型的關(guān)鍵字
課程模型(課程號,課程名,學(xué)時數(shù)),課程號是課程模型的關(guān)鍵字
2)??聯(lián)系轉(zhuǎn)換為關(guān)系模型。聯(lián)系轉(zhuǎn)換成關(guān)系模型時,要根據(jù)聯(lián)系方式的不同采用不同的轉(zhuǎn)換方式:
若聯(lián)系的方式是一對一的(1:1),可以在兩個實體關(guān)系模型中的任意一個關(guān)系模型中加入另一個關(guān)系模型的關(guān)鍵字和聯(lián)系類型的屬性。
若聯(lián)系方式是一對多的(1:N),則在N端(為多的一端)實體的關(guān)系模型中加入1端實體關(guān)系模型的關(guān)鍵字和聯(lián)系類型的屬性
若聯(lián)系方式是多對多的(M:N),則將聯(lián)系也轉(zhuǎn)換成關(guān)系模型,其屬性是互為聯(lián)系的兩個實體的關(guān)鍵字和聯(lián)系的屬性

關(guān)系模型是用關(guān)鍵字作向?qū)聿僮鲾?shù)據(jù),數(shù)據(jù)的操縱是通過關(guān)系的運算來完成的,關(guān)系的數(shù)據(jù)模型是二維表,簡單、易懂、編寫應(yīng)用程序時不涉及數(shù)據(jù)的存儲結(jié)構(gòu)、訪問技術(shù)等細節(jié)。
