數(shù)據(jù)模型
1.什么是數(shù)據(jù)模型
數(shù)據(jù)模型是現(xiàn)實世界數(shù)據(jù)特征的抽象,用于描述一組數(shù)據(jù)的概念和定義。數(shù)據(jù)模型是數(shù)據(jù)庫中數(shù)據(jù)的存儲方式,是數(shù)據(jù)庫系統(tǒng)的基礎。在數(shù)據(jù)庫中,數(shù)據(jù)的物理結構又稱數(shù)據(jù)的存儲結構,就是數(shù)據(jù)元素在計算機存儲器中的表示及其配置;數(shù)據(jù)的邏輯結構則是指數(shù)據(jù)元素之間的邏輯關系,它是數(shù)據(jù)在用戶或程序員面前的表現(xiàn)形式,數(shù)據(jù)的存儲結構不一定與邏輯結構一致。
2.數(shù)據(jù)模型的主要包括[1]
數(shù)據(jù)模型的研究包括以下三個方面:
- 1.概念數(shù)據(jù)模型
這是面向數(shù)據(jù)庫用戶的現(xiàn)實世界的數(shù)據(jù)模型,主要用來描述世界的概念化結構,它使數(shù)據(jù)庫的設計人員在設計的初始階段,擺脫計算機系統(tǒng)及數(shù)據(jù)庫管理系統(tǒng)的具體技術問題,集中精力分析數(shù)據(jù)以及數(shù)據(jù)之間的聯(lián)系等,與具體的數(shù)據(jù)庫管理系統(tǒng)無關。概念數(shù)據(jù)模型必須換成邏輯數(shù)據(jù)模型,才能在數(shù)據(jù)庫管理系統(tǒng)中實現(xiàn)。
- 2.邏輯數(shù)據(jù)模型
這是用戶在數(shù)據(jù)庫中看到的數(shù)據(jù)模型,是具體的數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型,主要有網(wǎng)狀數(shù)據(jù)模型、層次數(shù)據(jù)模型和關系數(shù)據(jù)模型三種類型。此模型既要面向用戶,又要面向系統(tǒng),主要用于數(shù)據(jù)庫管理系統(tǒng)的實現(xiàn)。在數(shù)據(jù)庫中用數(shù)據(jù)模型來抽象、表示和處理現(xiàn)實世界中的數(shù)據(jù)和信息,主要是研究數(shù)據(jù)的邏輯結構。
- 3.物理數(shù)據(jù)模型
這是描述數(shù)據(jù)在存儲介質(zhì)上的組織結構的數(shù)據(jù)模型,它不但與具體的數(shù)據(jù)庫管理系統(tǒng)有關,而且還與操作系統(tǒng)和硬件有關。每一種邏輯數(shù)據(jù)模型在實現(xiàn)時都有與其相對應的物理數(shù)據(jù)模型。數(shù)據(jù)庫管理系統(tǒng)為了保證其獨立性與可移植性,將大部分物理數(shù)據(jù)模型的實現(xiàn)工作交由系統(tǒng)自動完成,而設計者只設計索引、聚集等特殊結構。
3.數(shù)據(jù)模型基本概念[2]
- 1.三個世界的劃分
數(shù)據(jù)的加工是一個逐步轉(zhuǎn)化的過程,經(jīng)歷了現(xiàn)實世界、信息世界和計算機世界這3個不同的世界,經(jīng)歷了兩級抽象和轉(zhuǎn)換,如圖所示。
- (1)現(xiàn)實世界
現(xiàn)實世界是指客觀存在的事物及其相互間的聯(lián)系。現(xiàn)實世界中的事物有著眾多的特征和千絲萬縷的聯(lián)系,但人們只選擇感興趣的一部分來描述,如學生,人們通常用學號、姓名、班級、成績等特征來描述和區(qū)分,而對身高、體重、長相不太關心;而如果對象是演員,則可能正好截然相反。事物可以是具體的、可見的實物,也可以是抽象的事物。
- (2)信息世界
信息世界是人們把現(xiàn)實世界的信息和聯(lián)系,通過“符號”記錄下來,然后用規(guī)范化的數(shù)據(jù)庫定義語言來定義描述而構成的一個抽象世界。信息世界實際上是對現(xiàn)實世界的一種抽象描述。在信息世界中,不是簡單地對現(xiàn)實世界進行符號化,而是要通過篩選、歸納、總結、命名等抽象過程產(chǎn)生出概念模型,用以表示對現(xiàn)實世界的抽象與描述。
- (3)計算機世界
計算機世界是將信息世界的內(nèi)容數(shù)據(jù)化后的產(chǎn)物。將信息世界中的概念模型,進一步的轉(zhuǎn)換成數(shù)據(jù)模型,形成便于計算機處理的數(shù)據(jù)表現(xiàn)形式。
- 2.數(shù)據(jù)模型的三要素
數(shù)據(jù)模型所描述的內(nèi)容有3個部分,分別是數(shù)據(jù)結構、數(shù)據(jù)操作和數(shù)據(jù)約束。
- (1)數(shù)據(jù)結構
數(shù)據(jù)結構用于描述系統(tǒng)的靜態(tài)特征,包括數(shù)據(jù)的類型、內(nèi)容、性質(zhì)及數(shù)據(jù)之間的聯(lián)系等。它是數(shù)據(jù)模型的基礎,也是刻畫一個數(shù)據(jù)模型性質(zhì)最重要的方面。在數(shù)據(jù)庫系統(tǒng)中,人們通常按照其數(shù)據(jù)結構的類型來命名數(shù)據(jù)模型。例如,層次模型和關系模型的數(shù)據(jù)結構就分別是層次結構和關系結構。
- (2)數(shù)據(jù)操作
數(shù)據(jù)操作用于描述系統(tǒng)的動態(tài)特征,包括數(shù)據(jù)的插入、修改、刪除和查詢等。數(shù)據(jù)模型必須定義這些操作的確切含義、操作符號、操作規(guī)則及實現(xiàn)操作的語言。
- (3)數(shù)據(jù)約束
數(shù)據(jù)的約束條件實際上是一組完整性規(guī)則的集合。完整性規(guī)則是指給定數(shù)據(jù)模型中的數(shù)據(jù)及其聯(lián)系所具有的制約和存儲規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫及其狀態(tài)的變化,以保證數(shù)據(jù)的正確性、有效性和相容性。例如,限制一個表中學號不能重復,或者年齡的取值不能為負,都屬于完整性規(guī)則。