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