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