2013年8月17日 星期六

三層式綱要架構(Three-schema Architecture)

三層式(3-tier)架構好像很有名也很常聽到,諸如網路服務的三層式架構,程式設計的MVC架構等。

那麼在資料庫的三層式架構又是甚麼呢?
首先要先了解資料庫的三層式架構可是著名的ANSI/SPARC架構(Tsichritzis and Klug, 1978),是由ANSI(American National Standards Institute)和SPARC(Standards Planning And Requirements Committee)所制訂的資料庫架構,可以定義分為以下三層:

  1. 內部層(Internal level)
    內部綱要是用來描述架構中的有關資料庫實際的儲存與存取路徑的完整資訊。針對所指定的資料庫管理系統建立實體資料模型,可以顯示資料是如何實作及儲存在資料庫。關聯式資料庫的實體資料模型是建立表格、關聯和定義索引。
  2. 概念層(Conceptual level)
    概念綱要主要是集中在描述整個資料庫的結構,與資料庫管理系統無關,通常會使用一個象徵性的資料模型來描述概念綱要。概念綱要最常使用實體關聯模型(ER Model),利用圖形方法表示,稱為實體關聯圖(ER Diagram),在我的另一篇文章「看懂ER Diagram」有提到,用來聚焦在描述實體、型態、關聯、運算和限制的細節。
  3. 外部層(External level)
    外部綱要或稱為使用者視界(View)。負責不同使用者所需要觀看的部分資料,而將資料庫的其他部分隱藏起來。

三層式綱要架構
三層式架構的最大特色在於「資料獨立(data independence)」的概念,其定義是在下層綱要再修改時,不需要也修改上一層綱要。