外模式
![]() |
數據庫用戶的數據視圖 外模式(external schema)。用戶所使用的數據庫,是一個或幾個特定用戶所使用的數據集合(外部模型),是用戶與數據庫系統的接口,是概念模型的邏輯子集。外模式面向具體的應用程序,定義在邏輯模式之上,但獨立於存儲模式和存儲設備。設計外模式時應充分考慮到應用的擴充性。當應用需求發生較大變化,相應外模式不能滿足其視圖要求時,該外模式就必須做相應改動。[1]
目錄
概念
外模式
(External Schema)
是用戶與數據庫系統的接口,是用戶用到的那部分數據的描述。它由若干個外部記錄類型組成。外模式也稱子模式(Subschema)或用戶模式,它是數據庫用戶(包括應用程序員和最終用戶)能看見和使用的局部數據的邏輯結構和特徵描述,是數據庫用戶的數據視圖,是與某一應用有關的數據邏輯表示。對應於用戶級。它是某個或某幾個用戶所看到的數據庫的數據視圖,是與某一應用有關的數據的邏輯表示。
模式
(Schema)
也稱邏輯模式,是數據庫中全體數據的邏輯結構和特徵的描述,是所有用戶的公共數據視圖。 理解: ① 一個數據庫只有一個模式; ② 是數據庫數據在邏輯級上的視圖; ③ 數據庫模式以某一種數據模型為基礎; ④ 定義模式時不僅要定義數據的邏輯結構(如數據記錄由哪些數據項構成,數據項的名字、類型、取值範圍等),而且要定義與數據有關的安全性、完整性要求,定義這些數據之間的聯繫。 子模式
DBMS 提供子模式描述語言(子模式DDL)來嚴格地定義子模式。
主要區別
一個數據庫可以有多個外模式。由於它是各個用戶的數據視圖,如果不同用戶在應用需求,看待數據的方式,對數據保密的要求等方面存在差異,則其外模式描述就是不同的。即使對模式中同一數據,在外模式中的結構,類型,長度,保密級別等都可以是不同的。另一方面,同一外模式也可以為某一用戶的多個應用所應用,但一個應用程序只能使用一個外模式。
外模式是保證數據庫安全性的一個有力措施。每個用戶只能看見和訪問所對應的外模式中的數據,數據庫中的其餘數據是不可見的。
外模式和內模式的區別?
模式又稱概念模式或邏輯模式,對應於概念級。它是由數據庫設計者綜合所有用戶的數據,按照統一的觀點構造的全局邏輯結構,是對數據庫中全部數據的邏輯結構和特徵的總體描述,是所有用戶的公共數據視圖(全局視圖)。
外模式又稱子模式,對應於用戶級。它是某個或某幾個用戶所看到的數據庫的數據視圖,是與某一應用有關的數據的邏輯表示。外模式是從模式導出的一個子集,包含模式中允許特定用戶使用的那部分數據。
內模式又稱存儲模式,對應於物理級,它是數據庫中全體數據的內部表示或底層描述,是數據庫最低一級的邏輯描述,它描述了數據在存儲介質上的存儲方式翱物理結構,對應着實際存儲在外存儲介質上的數據庫。內模式由內模式描述語言來描述、定義,它是數據庫的存儲觀。
視頻
23種設計模式:外觀模式詳解