【數據庫】三級模式、二級映射

三級模式和二級映射

在數據模型中有「型」(Type, T)和「值」的概念。sql

  • 型:是指對某一類數據的結構和屬性的說明數據庫

    類比:數據庫設計

  • 值:是型的一個具體賦值。設計

    類比:對象對象

模式和實例:blog

  • 模式:是數據庫中全體數據的邏輯結構和特徵的描述,它僅僅涉及到型的描述,不涉及到具體的值。
  • 實例:模式的一個具體值稱爲一個實例。同一個模式能夠有不少實例。ip

    對比:
    模式相對穩定的,而實例相對變更的,由於數據庫中的數據是在不斷更新。
    模式反映的是數據的結構及其聯繫,而實例反映的是數據庫某一時刻的狀態。it

三級模式結構

數據庫領域公認的標準結構是三級模式結構,它包括模式、外模式和內模式,有效地組織、管理數據,提升了數據庫的邏輯獨立性和物理獨立性。io

  • 模式:又稱概念模式邏輯模式,對應於概念級
    它是由數據庫設計者綜合全部用戶的數據,按照統一的觀點構造的全局邏輯結構,是對數據庫中所有數據的邏輯結構和特徵的整體描述,是全部用戶的公共數據視圖全局視圖)。
    它是由數據庫管理系統(DBMS)提供的數據模式描述語言(Data Description Language, DDL)來描述和定義的,
    體現和反映了數據庫系統(DBS)的總體觀數據類型

    補充:
    數據模式定義語言(Data Definition Language, DDL):是用於描述數據庫中要存儲的現實世界實體的語言。
    DDL主要是用在定義或改變表的結構,數據類型,表之間的連接和約束等初始化工做上。

    例如:其實就是咱們在建立表的時候用到的一些sql,好比說,CREATE、ALTER、DROP等。

  • 外模式:又稱子模式用戶模式,對應於用戶級
    它是某個或某幾個用戶所看到的數據庫的數據視圖,是與某一應用有關的數據的邏輯表示。
    它是從模式導出的一個子集,包含模式中容許特定用戶使用的那部分數據。
    用戶能夠經過外模式描述語言來描述和定義對應於用戶的數據記錄(外模式),也能夠利用數據操縱語言(Data Manipulatioin Language, DML)對這些數據記錄進行描述和定義。
    外模式反映了數據庫的用戶觀

    補充:
    數據操縱語言(Data Manipulation Language, DML),用戶經過它能夠實現對數據庫的基本操做。
    DML主要用來對數據庫的數據進行一些操做。

    例如:其實就是咱們最常常用到的 SELECT、UPDATE、INSERT、DELETE。

  • 內模式:又稱存儲模式,對應於物理級
    它是數據庫中全體數據的內部表示或底層描述,是數據庫最低一級的邏輯描述,它描述了數據在存儲介質上的存儲方式物理結構,對應着實際存儲在外存儲介質上的數據庫。
    它是由內模式描述語言來描述和定義,
    它是數據庫的存儲觀

注意:
一個數據庫系統中,只有惟一的數據庫
於是做爲定義、描述數據庫存儲結構的內模式 和 定義、描述數據庫邏輯結構的模式,也是惟一的,
可是創建在數據庫系統之上的應用則是很是普遍多樣的,因此對應的外模式不是惟一的,也不多是惟一的。

二級映像功能

二級映像:保證了邏輯數據獨立性物理數據獨立性

這裏的映射:是指兩個模式之間相互轉換。

  • 外模式——模式映射:邏輯數據獨立性
    用戶應用程序根據外模式進行數據操做,經過外模式——模式映射,定義和創建某個外模式與模式間的對應關係,將外模式與模式聯繫起來,
    當模式發生改變時,只要改變其映射,就可使外模式保持不變,對應的應用程序也可保持不變。

  • 模式——內模式映射:物理數據獨立性
    經過模式——內模式映射,定義創建數據的邏輯結構(模式)存儲結構(內模式)間的對應關係, 當數據存儲結構發生變化時,只需改變模式——內模式映射,就能保持模式不變,所以應用程序也能夠保持不變。

相關文章
相關標籤/搜索