數據庫的模式(Schema)是對現實世界的抽象,是對數據庫中全部數據的邏輯結構和特征的描述。模式反映的是數據的結果及其聯系,數據庫系統在其內部具有三級模式和二級映像。三級模式分別是外模式、模式和內模式,二級映像則是外模式/模式映像、模式/內模式映像。
1、三級模式
美國國家標准學會(American National Standard Institute ,ANSI)的數據庫管理學系統研究小組於1978年提出了標准化的建議,江數據庫結果分為三級:面向用戶或程序員的用戶級、面向建立和維護數據庫人員的概念級和面向系統程序員的物理級。用戶級對應外模式,概念級對應模式,物理級對應內模式。
(1)模式
模式對應着概念級,它是由數據庫設計者總和所有用戶的數據,按照統一的觀點構造的全局邏輯結構,是對數據庫中全部數據的邏輯結構和特征的總體描述,是所有用戶的公共數據視圖。它是由數據庫管理系統提供的數據模式描述語言(Date Description Language,DDL)來描述、定義的,體現並反映了數據庫系統的整體觀。
(2)外模式
外模式對應於用戶級,它是某個或某幾個用戶看到的數據庫的數據視圖,是與某一應用有關的數據邏輯的表示。外模式是從模式導出的一個子集,包含模式中允許特定用戶使用的那部分數據。用戶可以通過外模式描述語言來描述、、定義對應於用戶的數據記錄(外模式),也可以利用數據操縱語言(DML)對這些數據記錄進行操作。
(3)內模式
內模式對應於物理級,它是數據庫中全部數據的內部表示或底層描述,是數據庫最低一級的邏輯描述,它描述了數據在存儲介質上存儲方式的物理結構,對應着實際存儲在外存儲介質上的數據庫。
2、二級映像
數據庫系統的三級模式是對數據的3個抽象,它把數據的具體組織留給DBMS管理,使用戶能邏輯地、抽象地處理數據,而不必關心數據在計算機中的具體表示和存儲。為了能夠在內部實現着3個抽象層次的練習和轉換,DBMS在這3個級別之間提供了兩層映像:外模式/模式映像 和 模式/內模式映像。
外模式/模式映像 使數據具有較高的邏輯獨立性。它定義了外模式和模式之間的對應關系。這些映像定義通常包含在各自外模式的描述。當模式改變時,DBA要求相關的外模式/模式映像做相應的改變,以使外模式保持不變。應用程序是依據實際的外模式編寫的,外模式不變應用程序就沒必要修改。所以,外模式/模式映像 功能保證了數據與程序的邏輯獨立性。
模式/內模式映像使數據具有較高的物理獨立性。它定義了數據庫全局邏輯結構與存儲結構之間的對應關系。該映像定義通常包含在模式描述中。當數據庫的存儲結束了,DBA要對模式/內模式映像做相應的改變,以使模式保持不變。模式不變,與模式沒有直接聯系的應用程序也不會改變。所以,模式/內模式映像功能保證了數據與程序的物理獨立性。
