數(shù)據(jù)庫三級模式體系結(jié)構(gòu)的劃分,有利于保持數(shù)據(jù)庫的“數(shù)據(jù)獨立性”。數(shù)據(jù)庫三級模式包括外模式、模式、內(nèi)模式;三級模式的兩級映像是外模式/模式的映像、模式/內(nèi)模式的映像。而外模式/模式的映像保證邏輯獨立性,模式/內(nèi)模式的映像則保證物理獨立性。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
數(shù)據(jù)庫三級模式體系結(jié)構(gòu)的劃分,有利于保持數(shù)據(jù)庫的“數(shù)據(jù)獨立性”。
數(shù)據(jù)庫三級模式體系結(jié)構(gòu)
人們?yōu)閿?shù)據(jù)庫設(shè)計了一個嚴謹?shù)捏w系結(jié)構(gòu),數(shù)據(jù)庫領(lǐng)域公認的標準結(jié)構(gòu)是三級模式結(jié)構(gòu),它包括外模式、概念模式、內(nèi)模式,有效地組織、管理數(shù)據(jù),提高了數(shù)據(jù)庫的邏輯獨立性和物理獨立性。用戶級對應(yīng)外模式,概念級對應(yīng)概念模式,物理級對應(yīng)內(nèi)模式,使不同級別的用戶對數(shù)據(jù)庫形成不同的視圖。所謂視圖,就是指觀察、認識和理解數(shù)據(jù)的范圍、角度和方法,是數(shù)據(jù)庫在用戶“眼中"的反映,很顯然,不同層次(級別)用戶所“看到”的數(shù)據(jù)庫是不相同的。
-
外模式
外模式又稱子模式或用戶模式,對應(yīng)于用戶級。它是某個或某幾個用戶所看到的數(shù)據(jù)庫的數(shù)據(jù)視圖,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式是從模式導(dǎo)出的一個子集,包含模式中允許特定用戶使用的那部分數(shù)據(jù)。用戶可以通過外模式描述語言來描述、定義對應(yīng)于用戶的數(shù)據(jù)記錄(外模式),也可以利用數(shù)據(jù)操縱語言(Data Manipulation Language,DML)對這些數(shù)據(jù)記錄進行操作。外模式反映了數(shù)據(jù)庫系統(tǒng)的用戶觀。
-
概念模式
概念模式又稱模式或邏輯模式,對應(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)來描述、定義的。概念模式反映了數(shù)據(jù)庫系統(tǒng)的整體觀。
-
內(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)模式描述語言來描述、定義的。內(nèi)模式反映了數(shù)據(jù)庫系統(tǒng)的存儲觀。
兩層映射
為了能夠?qū)崿F(xiàn)在這3個抽象層次之間的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在三級模式中提供了兩層映射,分別為 外模式/模式映射 和 模式/內(nèi)模式映射。
1.外模式/模式映射
對于同一個模式可以有任意多個外模式。對于每一個外模式,數(shù)據(jù)庫系統(tǒng)都有一個外模式/模式映射。當模式被改變時,數(shù)據(jù)庫管理員對各個外模式/模式映射做相應(yīng)的改變,可以使外模式保持不變。這樣,依據(jù)數(shù)據(jù)外模式編寫的應(yīng)用程序就不用修改,保證了數(shù)據(jù)與程序的邏輯獨立性。
總結(jié):外模式/模式映射保證了當模式改變時,外模式不用變,即邏輯獨立性。
2.模式/內(nèi)模式映射
數(shù)據(jù)庫中只有一個模式和一個內(nèi)模式,所以模式/內(nèi)模式的映射是唯一的,它定義了數(shù)據(jù)庫的全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。當數(shù)據(jù)庫的存儲結(jié)構(gòu)被改變時,數(shù)據(jù)庫管理員對模式/內(nèi)模式映射做相應(yīng)的改變,可以使模式保持不變,應(yīng)用程序相應(yīng)地也不做變動。這樣,保證了數(shù)據(jù)與程序的物理獨立性。
總結(jié):模式/內(nèi)模式映射保證了當內(nèi)模式改變時,模式不用變,即物理獨立性。
兩層映射只是在系統(tǒng)設(shè)計層面上,在每一個模式上保證了它底層模式(地基)的穩(wěn)定性。兩層映射僅僅是也只能是在系統(tǒng)理論設(shè)計層面上的保證,如果你應(yīng)用需求本身發(fā)生變化了那可能什么都需要改變。
推薦教程:mysql視頻教程