常用的數據模型
一、定義
- 數據模型是對現實世界數據特征的抽象;通俗的講數據模型就是現實世界的模擬;
- 數據模型是嚴格定義的一組概念的集合
- 是用來抽象、表示和處理現實世界中的數據和信息的工具
- 是對現實世界的模擬
- 是數據庫系統的核心和基礎
二、類型
- 概念數據模型
- 邏輯數據模型
- 物理數據模型
三、作用
精確的描述了系統的靜態特性、動態特性和完整性約束條件(Integrity Constraints)。
四、數據模型要求
- 真實的模擬現實世界
- 容易為人所理解
- 便於在計算機上實現
五、組成元素
- 數據結構:描述系統的靜態特性;
- 數據操作:描述系統的動態特性;
- 完整性約束
六、模型類型
- 網狀模型:成網狀
- 特點
- 允許有一個以上的節點無雙親,至少有一個節點可以有多於一個的雙親。【一個節點有多個雙親,結點之間可以有多中聯系】
- 特點
- 層次模型:成樹狀
- 特點
- 有且只有一個結點沒有雙親結點(這個結點叫根結點);
- 除根結點外的其他結點有且只有一個雙親結點.
- 特點
- 關系模型:成二維表狀,平常的數據表就是關系模型
- 介紹
- 關系(Relation):一個關系對應着一個二維表,二維表就是關系名。
- 元組(Tuple):在二維表中的一行,稱為一個元組。
- 屬性(Attribute):在二維表中的列,稱為屬性。屬性的個數稱為關系的元或度。列的值稱為屬性值;
- (值)域(Domain):屬性值的取值范圍為值域。
- 分量:每一行對應的列的屬性值,即元組中的一個屬性值。
- 關系模式:在二維表中的行定義,即對關系的描述稱為關系模式。一般表示為(屬性1,屬性2,......,屬性n),如老師的關系模型可以表示為教師(教師號,姓名,性別,年齡,職稱,所在系)。
- 鍵(碼):如果在一個關系中存在唯一標識一個實體的一個屬性或屬性集稱為實體的鍵,即使得在該關系的任何一個關系狀態中的兩個元組,在該屬性上的值的組合都不同。
- 介紹
七、用途
- 概念模型用於信息世界的建模;
- 是現實世界到機器世界的一個中間層次;
- 是數據庫設計的有力工具;
- 數據庫設計人員和用戶之間進行交流的語言。
八、一般的表示方法:E-R圖
九、基本概念
- 實體
- 客觀存在並課相互區別的事物成為實體。可以是具體的人、事、物或抽象的概念。
- 屬性(Attribute):
- 實體所具有的某一特性成為屬性,一個實體可以由若干個屬性來刻畫。
- 碼(key):
- 唯一標識實體的屬性集為碼。
- 實體型:
- 用實體名及其屬性名集合來抽象和刻畫同類實體稱為實體型。
- 聯系(relationship):
- 現實世界中事物內部以及事物之間的聯系在信息世界中反映為實體(型)內部的聯系和實體(型)之間的聯系。
- 實體內部的聯系:是指組成實體的各屬性之間的聯系。
- 實體之間的聯系:通常指不同實體集之間的聯系。
- 實體之間的聯系有1:1;1:多(1:m);多:多(m:n)等多種類型
十、三級模型結構
數據庫系統的三級模式結構是指模式、外模式和內模式。
- 模式
- 模式也稱為邏輯模式或概念模式,是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖。一個數據庫只有一個模式,模式位於三級結構的中間層。
- 外模式
- 外模式也稱為用戶模式,它是數據庫用戶(包括應用程序員和最終用戶)能夠看見和使用的局部數據的邏輯結構和特征的描述,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。外模式是模式的子集,一個數據庫可以有多個外模式。
- 內模式
- 內模式也稱為存儲模式,一個數據庫只有一個內模式,它是數據物理結構和存儲方式的描述,是數據在數據庫內部的表示方式。
十一、二級映射
數據庫管理系統在三級模式之間提供了兩層映射,分別為外模式/模式映射、模式/內模式映射。
- 外模式/模式映射
- 對於同一個模式可以有任意多個外模式。對於每一個外模式,數據庫系統都有一個外模式/模式映射。當模式被改變時,數據庫管理員對各個外模式/模式映射做相應的改變,可以使外模式保持不變。這樣,依據數據外模式編寫的應用程序就不用修改,保證了數據與程序的邏輯獨立性。
- 模式/內模式
- 數據庫中只有一個模式和一個內模式,所以模式/內模式的映射是唯一的,它定義了數據庫的全局邏輯結構與存儲結構之間的對應關系。當數據庫的存儲結構被改變時,數據庫管理員對模式/內模式映射做相應的改變,可以使模式保持不變,應用程序相應地也不做變動。這樣,保證了數據與程序的物理獨立性。