韋伯斯特字典中對模型的定義是“對不能直接觀察的事物進行形象的描述和模擬”,即模型是對客觀世界中復雜事物的抽象描述。在用計算機處理現(xiàn)實世界的信息時,必須抽取局部范圍的主要特征,模擬和抽象出一個能反映局部世界中實體和實體之間聯(lián)系的模型,即數(shù)據(jù)模型。也就是說,數(shù)據(jù)模型是抽象描述現(xiàn)實世界的一種工具和方法,是表示實體及實體之間聯(lián)系的形式。
數(shù)據(jù)模型描述了數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容及其聯(lián)系方式,體現(xiàn)了數(shù)據(jù)庫的邏輯結(jié)構(gòu)。數(shù)據(jù)模型對于數(shù)據(jù)庫系統(tǒng)很重要,不同的數(shù)據(jù)模型就是用不同的數(shù)據(jù)組織形式來表達實體及其聯(lián)系。
1.2.1.1數(shù)據(jù)模型的級別
從形式上看,數(shù)據(jù)模型可分為二個級別:概念模型和實施模型。
概念模型主要表示數(shù)據(jù)的邏輯特性,即只是在概念上表示數(shù)據(jù)庫中將存儲什么信息,而不管這些信息在數(shù)據(jù)庫中怎么實現(xiàn)。因此,它是從用戶的角度對現(xiàn)實世界建立的數(shù)據(jù)模型,和DBMS及計算機都無關(guān)。概念模型也稱信息模型。在概念模型中強調(diào)是能比較真實地模擬現(xiàn)實世界,并且容易理解,易于向?qū)嵤┠P娃D(zhuǎn)換。常見的概念模型有實體-聯(lián)系模型(Entity-Relationship Model簡稱E_R模型)及語義對象模型(Semantic Object Model)。它們多用于數(shù)據(jù)庫設(shè)計階段,并且有工具支持建模過程。
實施模型側(cè)重于數(shù)據(jù)庫中數(shù)據(jù)的表示方法和數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn)方法,是計算機實際支持的數(shù)據(jù)模型。實施模型和DBMS有關(guān),DBMS常以其所支持的數(shù)據(jù)模型分類。實施模型也是用戶從數(shù)據(jù)庫所看到的數(shù)據(jù)模型,因此,實施模型也稱邏輯模型。常見的實施模型有層次模型(Hierarchical Model),網(wǎng)絡模型(Network Model)和關(guān)系模型(Relational Model)。
1.2.1.2 實施數(shù)據(jù)模型的三要素
實施數(shù)據(jù)模型是用來描述數(shù)據(jù)的一組概念和定義。數(shù)據(jù)的描述包括三個方面:
(1) 數(shù)據(jù)的靜態(tài)特征
它由對數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)之間聯(lián)系的描述組成。
(2) 數(shù)據(jù)的動態(tài)特征
它指定義在數(shù)據(jù)上的操作。
(3) 數(shù)據(jù)約束
它是數(shù)據(jù)庫中的數(shù)據(jù)必須滿足的一組規(guī)則。
不同的數(shù)據(jù)模型在這三方面的表現(xiàn)不同。
1.2.1.3實體間的聯(lián)系
實體間的聯(lián)系有兩種,一種是實體內(nèi)部的聯(lián)系,反映在數(shù)據(jù)上是記錄內(nèi)部即字段間的聯(lián)系;另一種是實體集與實體集之間的聯(lián)系,反映在數(shù)據(jù)上就是記錄之間的聯(lián)系。實體集間的聯(lián)系雖然復雜,但抽象化后,可分為三類。
(1) 一對一的關(guān)系
如果實體集合E1,E2中每個實體至多和另一個實體集合中的一個實體有聯(lián)系,則E1和E2之間的聯(lián)系就叫做“一對一”的關(guān)系,簡記為“1-1”。這是最簡單的實體關(guān)系。
(2)一對多的關(guān)系
若實體集合E2中的每一個實體與E1中的任意多個實體(包括零個)有關(guān),而E1中的每一個實體至多與E2中的一個實體有關(guān),則稱該關(guān)系為“從E2到E1的一對多”關(guān)系,簡記為“1-M”。
(2) 多對多的關(guān)系
如果兩個實體集合E1、E2中的每個實體都和另一個實體集合中的任意多個實體(包括零個)有關(guān),則稱這兩個實體集是多對多的關(guān)系,簡記為“M-M”。 “M-M”是比“1-M”更普遍的關(guān)系。
數(shù)據(jù)模型描述了數(shù)據(jù)庫中的數(shù)據(jù)內(nèi)容及其聯(lián)系方式,體現(xiàn)了數(shù)據(jù)庫的邏輯結(jié)構(gòu)。數(shù)據(jù)模型對于數(shù)據(jù)庫系統(tǒng)很重要,不同的數(shù)據(jù)模型就是用不同的數(shù)據(jù)組織形式來表達實體及其聯(lián)系。
1.2.1.1數(shù)據(jù)模型的級別
從形式上看,數(shù)據(jù)模型可分為二個級別:概念模型和實施模型。
概念模型主要表示數(shù)據(jù)的邏輯特性,即只是在概念上表示數(shù)據(jù)庫中將存儲什么信息,而不管這些信息在數(shù)據(jù)庫中怎么實現(xiàn)。因此,它是從用戶的角度對現(xiàn)實世界建立的數(shù)據(jù)模型,和DBMS及計算機都無關(guān)。概念模型也稱信息模型。在概念模型中強調(diào)是能比較真實地模擬現(xiàn)實世界,并且容易理解,易于向?qū)嵤┠P娃D(zhuǎn)換。常見的概念模型有實體-聯(lián)系模型(Entity-Relationship Model簡稱E_R模型)及語義對象模型(Semantic Object Model)。它們多用于數(shù)據(jù)庫設(shè)計階段,并且有工具支持建模過程。
實施模型側(cè)重于數(shù)據(jù)庫中數(shù)據(jù)的表示方法和數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn)方法,是計算機實際支持的數(shù)據(jù)模型。實施模型和DBMS有關(guān),DBMS常以其所支持的數(shù)據(jù)模型分類。實施模型也是用戶從數(shù)據(jù)庫所看到的數(shù)據(jù)模型,因此,實施模型也稱邏輯模型。常見的實施模型有層次模型(Hierarchical Model),網(wǎng)絡模型(Network Model)和關(guān)系模型(Relational Model)。
1.2.1.2 實施數(shù)據(jù)模型的三要素
實施數(shù)據(jù)模型是用來描述數(shù)據(jù)的一組概念和定義。數(shù)據(jù)的描述包括三個方面:
(1) 數(shù)據(jù)的靜態(tài)特征
它由對數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)之間聯(lián)系的描述組成。
(2) 數(shù)據(jù)的動態(tài)特征
它指定義在數(shù)據(jù)上的操作。
(3) 數(shù)據(jù)約束
它是數(shù)據(jù)庫中的數(shù)據(jù)必須滿足的一組規(guī)則。
不同的數(shù)據(jù)模型在這三方面的表現(xiàn)不同。
1.2.1.3實體間的聯(lián)系
實體間的聯(lián)系有兩種,一種是實體內(nèi)部的聯(lián)系,反映在數(shù)據(jù)上是記錄內(nèi)部即字段間的聯(lián)系;另一種是實體集與實體集之間的聯(lián)系,反映在數(shù)據(jù)上就是記錄之間的聯(lián)系。實體集間的聯(lián)系雖然復雜,但抽象化后,可分為三類。
(1) 一對一的關(guān)系
如果實體集合E1,E2中每個實體至多和另一個實體集合中的一個實體有聯(lián)系,則E1和E2之間的聯(lián)系就叫做“一對一”的關(guān)系,簡記為“1-1”。這是最簡單的實體關(guān)系。
(2)一對多的關(guān)系
若實體集合E2中的每一個實體與E1中的任意多個實體(包括零個)有關(guān),而E1中的每一個實體至多與E2中的一個實體有關(guān),則稱該關(guān)系為“從E2到E1的一對多”關(guān)系,簡記為“1-M”。
(2) 多對多的關(guān)系
如果兩個實體集合E1、E2中的每個實體都和另一個實體集合中的任意多個實體(包括零個)有關(guān),則稱這兩個實體集是多對多的關(guān)系,簡記為“M-M”。 “M-M”是比“1-M”更普遍的關(guān)系。