數(shù)據(jù)庫系統(tǒng)的三級模式
數(shù)據(jù)庫領(lǐng)域公認(rèn)的標(biāo)準(zhǔn)結(jié)構(gòu)是三級模式結(jié)構(gòu),它包括外模式、模式和內(nèi)模式,有效地組織、管理數(shù)據(jù),提高了數(shù)據(jù)庫的邏輯獨立性和物理獨立性。用戶級對應(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ù)模式描述語言(DataDescriptionLanguage,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ù)操縱語言(DataManipulationLanguage,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)的外模式不是唯一的,也不可能是唯一的。
從上圖中可以看到用戶應(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)用程序也可以保持不變。
通過外模式-模式映射和模式-內(nèi)模式映射這兩個映射保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)具有較高的邏輯獨立性和物理獨立性。
當(dāng)數(shù)據(jù)庫模式發(fā)生變化時,例如關(guān)系數(shù)據(jù)庫系統(tǒng)中增加新的關(guān)系、改變關(guān)系的屬性數(shù)據(jù)類型等,可以調(diào)整外模式/模式間的映像關(guān)系,保證面向用戶的各個外模式不變。應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)與應(yīng)用程序的邏輯獨立性,簡稱數(shù)據(jù)的邏輯獨立性。
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3822瀏覽量
64506 -
數(shù)據(jù)庫系統(tǒng)
+關(guān)注
關(guān)注
0文章
31瀏覽量
9602
發(fā)布評論請先 登錄
相關(guān)推薦
評論