數據庫三級模式體系結構的劃分,有利于保持數據庫的“數據獨立性”。數據庫三級模式包括外模式、模式、內模式;三級模式的兩級映像是外模式/模式的映像、模式/內模式的映像。而外模式/模式的映像保證邏輯獨立性,模式/內模式的映像則保證物理獨立性。
本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。
數據庫三級模式體系結構的劃分,有利于保持數據庫的“數據獨立性”。
數據庫三級模式體系結構
人們為數據庫設計了一個嚴謹的體系結構,數據庫領域公認的標準結構是三級模式結構,它包括外模式、概念模式、內模式,有效地組織、管理數據,提高了數據庫的邏輯獨立性和物理獨立性。用戶級對應外模式,概念級對應概念模式,物理級對應內模式,使不同級別的用戶對數據庫形成不同的視圖。所謂視圖,就是指觀察、認識和理解數據的范圍、角度和方法,是數據庫在用戶“眼中"的反映,很顯然,不同層次(級別)用戶所“看到”的數據庫是不相同的。
-
外模式
外模式又稱子模式或用戶模式,對應于用戶級。它是某個或某幾個用戶所看到的數據庫的數據視圖,是與某一應用有關的數據的邏輯表示。外模式是從模式導出的一個子集,包含模式中允許特定用戶使用的那部分數據。用戶可以通過外模式描述語言來描述、定義對應于用戶的數據記錄(外模式),也可以利用數據操縱語言(Data Manipulation Language,DML)對這些數據記錄進行操作。外模式反映了數據庫系統的用戶觀。
-
概念模式
概念模式又稱模式或邏輯模式,對應于概念級。它是由數據庫設計者綜合所有用戶的數據,按照統一的觀點構造的全局邏輯結構,是對數據庫中全部數據的邏輯結構和特征的總體描述,是所有用戶的公共數據視圖(全局視圖)。它是由數據庫管理系統提供的數據模式描述語言(Data Description Language,DDL)來描述、定義的。概念模式反映了數據庫系統的整體觀。
-
內模式
內模式又稱存儲模式,對應于物理級。它是數據庫中全體數據的內部表示或底層描述,是數據庫最低一級的邏輯描述,它描述了數據在存儲介質上的存儲方式和物理結構,對應著實際存儲在外存儲介質上的數據庫。內模式由內模式描述語言來描述、定義的。內模式反映了數據庫系統的存儲觀。
兩層映射
為了能夠實現在這3個抽象層次之間的聯系和轉換,數據庫管理系統在三級模式中提供了兩層映射,分別為 外模式/模式映射 和 模式/內模式映射。
1.外模式/模式映射
對于同一個模式可以有任意多個外模式。對于每一個外模式,數據庫系統都有一個外模式/模式映射。當模式被改變時,數據庫管理員對各個外模式/模式映射做相應的改變,可以使外模式保持不變。這樣,依據數據外模式編寫的應用程序就不用修改,保證了數據與程序的邏輯獨立性。
總結:外模式/模式映射保證了當模式改變時,外模式不用變,即邏輯獨立性。
2.模式/內模式映射
數據庫中只有一個模式和一個內模式,所以模式/內模式的映射是唯一的,它定義了數據庫的全局邏輯結構與存儲結構之間的對應關系。當數據庫的存儲結構被改變時,數據庫管理員對模式/內模式映射做相應的改變,可以使模式保持不變,應用程序相應地也不做變動。這樣,保證了數據與程序的物理獨立性。
總結:模式/內模式映射保證了當內模式改變時,模式不用變,即物理獨立性。
兩層映射只是在系統設計層面上,在每一個模式上保證了它底層模式(地基)的穩定性。兩層映射僅僅是也只能是在系統理論設計層面上的保證,如果你應用需求本身發生變化了那可能什么都需要改變。
推薦教程:mysql視頻教程