111年法務部調查局調查人員三等資料庫應用

二、ANSI/SPARC 發布一個資料庫系統架構,稱之為三層綱要架構 (three-schema architecture)

    ()這個三層綱要架構包含那三層綱要?請分別定義這三層綱要。(20分)

    ()資料獨立 (data independence) 是資料庫系統的優點與目標,可分為邏輯資料獨立 (logical data independence) 與實體資料獨立 (physical data independence) 兩種,請在資料庫系統的三層綱要架構下分別定義這兩種資料獨立。(10分)

答:

()

pic01.png

pic02.png

1.外部層次(External Level):外部綱要(External Schema)或使用者邏輯層次 (User Logical Level)

  (1)包括了許多外部綱要 (external schema) 使用者視界 (user view)

  (2)每個外部綱要負責描述某個使用者群組所需要的部分資料庫,因此將資料庫的其他部份隱藏起來。

  (3)可以使用 SQL 語法設計視界

  (4)個別使用者的觀點,資料於不同使用者有不同呈現,即使用者的景觀(View),為最接近使用者層次

  (5)使用者可以為應用程式終端使用者 (如程式設計師)

  (6)使用外部性資料定義語言 (External DDL)

  (7)舉例:(C++)

  struct emp {

  char Eno[6];

  int sal:

  }

2.概念層次(Conceptual Level)、概念綱要(Conceptual Schema)、或邏輯層次(Logical Level)

  (1)整個資料庫的所有結構,介於外部層與內部層之間,有個概念綱要 (conceptual schema),主要描述資料庫實體資料型態關係使用者操作限制,而且隱藏實際儲存結構細節

  (2)概念綱要最常使用個體關係模型 (ER Model)

  (3)將所有資料以真實面目呈現,例如表格或稱基礎表格 (Base Table)

  (4)使用概念資料定義語言 (Conceptual DDL)

  (5)舉例:

  Employee

  Enumber Char(6)

  FirstName Char(8)

  LastName Char(8)

  Department Char(4)

  Salary Numeric(5)

3.內部層次(Internal Level)、內部綱要(Internal Schema)或實體層次(Physical Level)

  (1)有個內部綱要 (internal schema),用來描述資料庫實際的儲存結構。

  (2)內部綱要是使用實體資料模型,並且描述有關資料庫裡的資料儲存與存取路徑的完整資訊。

  (3)實體資料模型可以使用 SQL 語法設計。

  (4)真正硬體結構,例如磁柱磁區磁柱

  (5)有關資料實際儲存方法,為最接近實體儲存媒體的層次,描述有關資料庫資料儲存存取路徑完整細節

  (6)紀錄資料儲存格式存在哪些索引儲存欄位如何呈現儲存紀錄 體順序檔案資料存取方式 (如循序檔、雜湊檔、索引檔)

  (7)使用內部資料定義語言 (Internal DDL)

  (8)舉例:

  Stored_Employee Length = 36

  Prefix      Type = byte(6), Offset = 0

  Enumber    Type = byte(6), Offset = 6, index = Empx

  Fname      Type = byte(8), Offset = 12

  Lname      Type = byte(8), Offset = 20

  Department  Type = byte(4), Offset = 28

  Salary      Type = fullword, Offset = 32

  pic03.png

參考資料:

1.陳玄玲-資料庫系統原理第六版 2-6

2.http://auneths.blogspot.tw/2013/08/three-schema-architecture.html

()

pic04.png

1.邏輯資料獨立(Logical Data Independence)

(1)改變概念層次時,不必改變外部層次或應用程式。

    (2)有時候因為要擴大資料庫 (新增某種新記錄型態或資料項目)、變更資料庫 限制,或是縮小資料庫 (刪除某種記錄型態或資料項目),因此需要修改概念綱要。

(3)例如在資料庫中新增或移除一個表格、欄位或資料項目,外部層次 (如參考外部綱要結構的應用程式) 不需要作任何更動。

    (4)在支援邏輯資料獨立的 DBMS 中,只需要修改視界的定義和對映。

    (5)在概念綱要進行邏輯重組之後,參考外部綱要結構的應用程式必須要像之前一樣的運作。

    (6)限制 (constraint) 的變更可以套用在概念綱要上,而不影響外部綱要或應用程式。

    (7)邏輯資料獨立比較不容易達到,因為它允許變更結構和限制,而且不會影響應用程式,這個需求更嚴格許多。

2.實體資料獨立(Physical Data Independence)

(1)改變內部層次,不必改變概念層次或外部層次。

(2)例如因應資料量的增加,將循序檔更改為索引檔時,概念層次與外部層次不必變動。

(3)內部綱要的修改有時是資料庫系統原理必要的,因為要重組某些實體檔案,例如建立額外的存取結構來改善擷取或更新的效能。

(4)假如之前的資料還留在資料庫,就不需要去更改概念綱要。

    (5)一般而言,在大部分的資料庫和檔案環境中都存在著實體資料獨立,此時資料在磁碟上的實際位置、儲存體的編碼、位置安排、壓縮、記錄的分割與合併等硬體細節,使用者都不需要知道,而且應用程式也不知道這些細節。

參考資料:陳玄玲-資料庫系統原理第六版 2-7~2-8

arrow
arrow
    文章標籤
    調查人員三等
    全站熱搜

    jacksaleok 發表在 痞客邦 留言(0) 人氣()