為了有效地組織、管理數(shù)據(jù),提高數(shù)據(jù)庫的邏輯獨立性和物理獨立性,人們?yōu)閿?shù)據(jù)庫設(shè)計了一個嚴(yán)謹(jǐn)?shù)捏w系結(jié)構(gòu),數(shù)據(jù)庫領(lǐng)域公認(rèn)的標(biāo)準(zhǔn)結(jié)構(gòu)是三級模式結(jié)構(gòu),它包括外模式、模式和內(nèi)模式。
—美國家標(biāo)準(zhǔn)協(xié)會(American N ational Standard Instit ut e,ANSI)的數(shù)據(jù)庫管理系統(tǒng)研.究小組于1 9 78年提出了標(biāo)準(zhǔn)化的建議,將數(shù)據(jù)庫結(jié)構(gòu)分為3級:面向用戶或應(yīng)用程序員的用戶級、面向建立和維護(hù)數(shù)據(jù)庫人員的概念級、面向系統(tǒng)程序員的物理級。用戶級對應(yīng)外模式,概念級對應(yīng)模式,物理級對應(yīng)內(nèi)模式,使不同級別的用戶對數(shù)據(jù)庫形成不同的視圖。所謂視圖,就是指觀察、認(rèn)識和理解數(shù)據(jù)的范圍、角度和方法,是數(shù)據(jù)庫在用戶“眼中"的反映,很顯然,不同層次(級別)用戶所“看到’’的數(shù)據(jù)庫是不相同的。 1模式. 模式又稱概念模式或邏輯模式,對應(yīng)于概念級。它是由數(shù)據(jù)庫設(shè)計者綜合所有用戶的數(shù)據(jù),按照統(tǒng)一的觀點構(gòu)造的全局邏輯結(jié)構(gòu),是對數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖(全局視圖)。它是由數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)模式描述語言(Data Description Language,DDL)來描述、定義的,體現(xiàn)、反映了數(shù)據(jù)庫系統(tǒng)的整體觀。
2.外模式 外模式又稱子模式,對應(yīng)于用戶級。它是某個或某幾個用戶所看到的數(shù)據(jù)庫的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式是從模式導(dǎo)出的一個子集,包含模式中允許特定用戶使用的那部分?jǐn)?shù)據(jù)。用戶可以通過外模式描述語言來描述、定義對應(yīng)于用戶的數(shù)據(jù)記錄(外模式),也可以利用數(shù)據(jù)操縱語言(Data Manipulation Lang uage,DML)對這些數(shù)據(jù)記錄進(jìn)行。外模式反映了數(shù)據(jù)庫的用戶觀。
3.內(nèi)模式 內(nèi)模式又稱存儲模式,對應(yīng)于物理級,它是數(shù)據(jù)庫中全體數(shù)據(jù)的內(nèi)部表示或底層描述,是數(shù)據(jù)庫最低一級的邏輯描述,它描述了數(shù)據(jù)在存儲介質(zhì)上的存儲方式翱物理結(jié)構(gòu),對應(yīng)著實際存儲在外存儲介質(zhì)上的數(shù)據(jù)庫。內(nèi)模式由內(nèi)模式描述語言來描述、定義,它是數(shù)據(jù)庫的存儲觀。
在一個數(shù)據(jù)庫系統(tǒng)中,只有唯一的數(shù)據(jù)庫, 因而作為定義 、描述數(shù)據(jù)庫存儲結(jié)構(gòu)的內(nèi)模式和定義、描述數(shù)據(jù)庫邏輯結(jié)構(gòu)的模式,也是惟一的,但建立在數(shù)據(jù)庫系統(tǒng)之上的應(yīng)用則是非常廣泛、多樣的,所以對應(yīng)的外模式不是惟一的,也不可能是惟一的, 。
4.三級模式間的映射 數(shù)據(jù)庫的三級模式是數(shù)據(jù)庫在三個級別 (層次)上的抽象,使用戶能夠邏輯地、抽象地處理數(shù)據(jù)而不必關(guān)心數(shù)據(jù)在計算機(jī)中的物理表示和存儲。實際上 ,對于一個數(shù)據(jù)庫系統(tǒng)而言一有物理級數(shù)據(jù)庫是客觀存在的,它是進(jìn)行數(shù)據(jù)庫操作的基礎(chǔ),概念級數(shù)據(jù)庫中不過是物理數(shù)據(jù)庫的一種邏輯的、抽象的描述(即模式),用戶級數(shù)據(jù)庫則是用戶與數(shù)據(jù)庫的接口,它是概念級數(shù)據(jù)庫的一個子集(外模式)。
用戶應(yīng)用程序根據(jù)外模式進(jìn)行數(shù)據(jù)操作,通過外模式一模式映射,定義和建立某個外模式與模式間的對應(yīng)關(guān)系,將外模式與模式聯(lián)系起來,當(dāng)模式發(fā)生改變時,只要改變其映射,就可以使外模式保持不變,對應(yīng)的應(yīng)用程序也可保持不變;另一方面,通過模式一內(nèi)模式映射,定義建立數(shù)據(jù)的邏輯結(jié)構(gòu)(模式)與存儲結(jié)構(gòu)(內(nèi)模式)間的對應(yīng)關(guān)系,當(dāng)數(shù)據(jù)的存儲結(jié)構(gòu)發(fā)生變化時,只需改變模式一內(nèi)模式映射,就能保持模式不變,因此應(yīng)用程序也可以保持不變。
|