數據模型
http://www.cnblogs.com/xdp-gacl/p/3617243.html
模型是現實世界特征的模擬和抽象。在數據庫技術中,用數據模型的概念描述數據庫的結構和語義,是對現實世界的數據抽象。數據模型是研究數據庫技術的核心和基礎。 數據庫技術中研究的數據模型分為兩個層面:一層是面向用戶的,稱為概念模型;另一層面是面向計算機系統的,稱為結構模型。
1. 概念數據模型
概念數據模型是獨立於計算機系統的數據模型,用來描述某個特定組織關心的信息結構,屬於信息世界的建模,所以概念模型應該能夠方便、準確地表示客觀世界中常用的概念。另外概念數據模型也是用戶和應用系統設計員互相交流的橋梁,以保證數據模型能夠正確地描述客觀世界。
概念模型的表示方法最常用的是P.P.Chen於1976年提出的"實體-聯系圖方法(Entity-Relationship Approach),簡稱E-R模型"。E-R實體聯系圖是直觀表示概念模型的工具,其中包含了實體、聯系、屬性三個成分,聯系的方法為一對一(1:1)、一對多(1:N)、多對多(M:N)三種方式,聯系屬於哪種方式取決於客觀實際本身。
E-R模型圖,既表示實體,也表示實體之間的聯系,是現實世界的抽象,與計算機系統沒有關系,是可以被用戶理解的數據描述方式。通過E-R模型圖可以使用戶了解系統設計者對現實世界的抽象是否符合實際情況,從某種程度上說E-R模型圖也是用戶與系統設計者進行交流的工具,E-R模型圖已成為概念模型設計的一個重要設計方法。
E-R圖具體範例
實體和實體之間的聯系用無向線段連接,在線段上標註聯系的類型,實體和聯系都由各自的屬性。例如,在學生選課管理系統中涉及學生和課程兩個實體,同時這兩個實體之間有聯系的(學生選學課程,課程為學生開設,這種聯系是多對多的)。
E-R圖在Powerdesigner的表現形式
2. 結構數據模型
概念數據模型是對現實世界的數據描述,這種數據模型最終要轉換成計算機能夠實現的數據模型。現實世界的第二層抽象是直接面向數據庫的邏輯結構,稱為結構數據模型,這類數據模型涉及到計算機系統和數據庫管理系統。結構數據模型的三個組成部分是:
數據結構:實體和實體間聯系的表示和實現。
數據操作:數據庫的查詢和更新操作的實現。
數據完整性約束:數據及其聯系應具有的制約和依賴規則。
關系模型
常用的結構數據模型是關系模型和面向對象模型,關系模型的理論基礎是數學理論,數據的操作通過關系運算實現。在關系模型中用二維表表示實體及實體之間的聯系,關系模型的實例稱為關系。從數學的觀點上看,關系是集合,其元素是元組(記錄)。遵循一定的規則後,可以將E-R模型圖轉換成關系模型。
將E-R模型圖轉換成關系模型的規則:E-R模型圖中的主要成分是實體及實體之間的聯系,對於實體的轉換方式是:
1) 將一個實體轉換成一個關系模型。實體的屬性為關系模型的屬性,實體的標識符為關系模型的關鍵字,如上圖所示的E-R模式中有兩個實體:學生、課程,可以分別轉換學生模型和課程模型:
學生模型(學號,姓名,性別,年齡),學號是學生模型的關鍵字
課程模型(課程號,課程名,學時數),課程號是課程模型的關鍵字
2) 聯系轉換為關系模型。聯系轉換成關系模型時,要根據聯系方式的不同采用不同的轉換方式:
- 若聯系的方式是一對一的(1:1),可以在兩個實體關系模型中的任意一個關系模型中加入另一個關系模型的關鍵字和聯系類型的屬性。
- 若聯系方式是一對多的(1:N),則在N端(為多的一端)實體的關系模型中加入1端實體關系模型的關鍵字和聯系類型的屬性
- 若聯系方式是多對多的(M:N),則將聯系也轉換成關系模型,其屬性是互為聯系的兩個實體的關鍵字和聯系的屬性
關系模型是用關鍵字作向導來操作數據,數據的操縱是通過關系的運算來完成的,關系的數據模型是二維表,簡單、易懂、編寫應用程序時不涉及數據的存儲結構、訪問技術等細節。
數據模型