111年法務部調查局調查人員三等資料庫應用
二、ANSI/SPARC 發布一個資料庫系統架構,稱之為三層綱要架構 (three-schema architecture)。 (一)這個三層綱要架構包含那三層綱要?請分別定義這三層綱要。(20分) (二)資料獨立 (data independence) 是資料庫系統的優點與目標,可分為邏輯資料獨立 (logical data independence) 與實體資料獨立 (physical data independence) 兩種,請在資料庫系統的三層綱要架構下分別定義這兩種資料獨立。(10分) |
答:
(一)
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
※參考資料:
1.陳玄玲-資料庫系統原理第六版 2-6
2.http://auneths.blogspot.tw/2013/08/three-schema-architecture.html
(二)
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
留言列表