- 數(shù)據(jù)庫原理及應用:SQL Server 2022(第3版)
- 賈鐵軍 劉建準主編
- 2135字
- 2024-05-11 19:13:06
1.4 數(shù)據(jù)庫的模式結構
數(shù)據(jù)模式是對數(shù)據(jù)庫中數(shù)據(jù)的邏輯結構和特征的描述,具有相對穩(wěn)定性,而數(shù)據(jù)庫中的數(shù)據(jù)則不斷變化。通常,從數(shù)據(jù)庫管理系統(tǒng)角度看,數(shù)據(jù)庫系統(tǒng)內部的結構分為三級模式結構,并提供了二級映像(轉換),基于相對穩(wěn)定的數(shù)據(jù)模式便于實現(xiàn)數(shù)據(jù)的獨立性。
知識拓展
數(shù)據(jù)模型和數(shù)據(jù)模式的區(qū)別
1.4.1 數(shù)據(jù)庫的三級模式結構
在數(shù)據(jù)庫系統(tǒng)中,整體數(shù)據(jù)的邏輯結構及存儲結構因業(yè)務等需要可能發(fā)生變化,用戶不適應熟悉的網(wǎng)站等局部數(shù)據(jù)的邏輯結構經(jīng)常變更。DBMS運行環(huán)境可能有所不同,內部數(shù)據(jù)的存儲結構及所用的語言各異,數(shù)據(jù)常用三級模式結構。
數(shù)據(jù)模型中有型與值的概念。型(Type)指對某一類數(shù)據(jù)的結構和屬性的描述(如同實體型),值(Value)是型的一個具體值。如電子商務常見的網(wǎng)上購物系統(tǒng)的“會員”信息的記錄型為(會員ID,姓名,性別,所在地區(qū),家庭住址,手機號碼,會員等級),而(B23516,趙明,男,北京,海淀區(qū)雙清路102號,13832654312,2)則是該記錄型的一個具體記錄值。
模式是對數(shù)據(jù)邏輯結構和特征的描述,僅為型的描述,不涉及其具體值。模式的一個具體值稱為模式的一個實例(Instance)。模式相對穩(wěn)定,而實例則可以不斷變化。模式反映的是數(shù)據(jù)的結構及其聯(lián)系,而實例反映的是數(shù)據(jù)庫某一時刻的狀態(tài)。
知識拓展
數(shù)據(jù)模式(結構)與實例
為了有效地組織、管理數(shù)據(jù),提高數(shù)據(jù)系統(tǒng)的邏輯獨立性和物理獨立性,數(shù)據(jù)庫采用公認的三級模式結構來組織和管理數(shù)據(jù)。數(shù)據(jù)庫系統(tǒng)的三級模式結構包括外模式、模式(概念模式)和內模式,分別代表了觀察數(shù)據(jù)庫的三個不同角度。在這三級模式之間還提供了外模式/模式映像、模式/內模式二級映像,保證數(shù)據(jù)的邏輯性和物理獨立性。三級模式結構如圖1-20所示。
(1)外模式(External Schema)
外模式也稱子模式(Subschema)或用戶模式,是局部數(shù)據(jù)的邏輯結構和特征的描述。外模式是模式的子集,一個數(shù)據(jù)庫可以有多個外模式,是各個用戶的數(shù)據(jù)視圖(不同的用戶通過終端查看網(wǎng)站或應用界面等)。外模式通過只讀方式可以保護數(shù)據(jù)安全,各用戶只能訪問與外模式中對應的數(shù)據(jù)。通常,DBMS提供外模式的數(shù)據(jù)定義語言(DDL)來描述外模式。
(2)模式(Schema)
模式也稱邏輯模式(Logic Schema)、概念模式或概念視圖,是數(shù)據(jù)庫中所有數(shù)據(jù)的邏輯結構和特征的描述,是用戶的公共數(shù)據(jù)視圖,是數(shù)據(jù)庫系統(tǒng)模式結構的中間層,同軟件和硬件環(huán)境無關。一個數(shù)據(jù)庫只有一個模式,是數(shù)據(jù)的邏輯表示,即描述數(shù)據(jù)庫中存儲的具體數(shù)據(jù)及其之間存在的聯(lián)系。DBMS提供模式的數(shù)據(jù)定義語言(DDL)來描述模式。

圖1-20 數(shù)據(jù)庫的三級模式結構
(3)內模式(Internal Schema)
內模式也稱存儲模式(Storage Schema),是數(shù)據(jù)物理結構和存儲方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內部的表達方式,對應實際存儲在外存儲器的數(shù)據(jù)庫,如記錄的存儲方式、位置、檢索與順序,數(shù)據(jù)壓縮存儲與加密等。一個數(shù)據(jù)庫只有一個內模式。DBMS提供內模式的數(shù)據(jù)定義語言來描述內模式。
知識拓展
邏輯獨立性和物理獨立性
三級模式結構是數(shù)據(jù)庫公認的標準結構,是數(shù)據(jù)庫實現(xiàn)數(shù)據(jù)邏輯獨立性和物理獨立性的基礎。將外模式和模式分開以保證數(shù)據(jù)的邏輯獨立性,將模式和內模式分開以實現(xiàn)數(shù)據(jù)的物理獨立性。
三級模式結構的優(yōu)點,主要有以下三點。
1)提高數(shù)據(jù)安全性。不同的用戶在各自的外模式(視圖只讀模式)下根據(jù)要求操作數(shù)據(jù),只能對權限內的數(shù)據(jù)進行操作,提高了數(shù)據(jù)的安全性。
2)促進數(shù)據(jù)共享,減少數(shù)據(jù)冗余。外模式機制的引入,同一數(shù)據(jù)可針對不同的應用定義(確定)多個外模式,提高數(shù)據(jù)共享性,減少數(shù)據(jù)冗余。
3)便于使用和維護。按照外模式研發(fā)應用程序或輸入命令,無須了解數(shù)據(jù)庫的全局邏輯結構和內部的存儲結構,方便系統(tǒng)使用和維護。
1.4.2 數(shù)據(jù)庫的二級映像
在數(shù)據(jù)庫系統(tǒng)三級模式結構的基礎上,DBMS在三級模式之間提供了二級映像(外模式/模式映像和模式/內模式映像)轉換,以保證數(shù)據(jù)邏輯獨立性和物理獨立性。
1.外模式/模式映像
外模式/模式映像定義了外模式和模式之間的對應關系。外模式描述數(shù)據(jù)的局部邏輯結構,模式描述數(shù)據(jù)的全局邏輯結構。數(shù)據(jù)庫中的同一模式可以有多個外模式,對每個外模式,都存在一個外模式/模式映像。
映像是指外模式和模式之間的對應關系。這些映像確定了數(shù)據(jù)的局部邏輯結構與全局邏輯結構之間的對應關系。當模式改變時(如增加新關系(數(shù)據(jù)表)、新屬性(列)等),由數(shù)據(jù)庫管理系統(tǒng)對某個外模式/模式映像進行相應改變,從而保證外模式不變。應用程序根據(jù)數(shù)據(jù)的外模式編寫,外模式不變時,應用程序則無須修改,保證了數(shù)據(jù)的邏輯獨立性(數(shù)據(jù)與程序之間的邏輯獨立性)。
2.模式/內模式映像
模式/內模式映像定義了數(shù)據(jù)的全局邏輯結構與存儲結構之間的對應關系。數(shù)據(jù)庫中的模式和內模式都只有一個,因此模式/內模式映像也是唯一的。應用程序依賴于數(shù)據(jù)的外模式,與數(shù)據(jù)的模式和存儲結構獨立。當數(shù)據(jù)庫的存儲結構發(fā)生變化時,只需要數(shù)據(jù)庫管理員對模式/內模式的映像做相應改變,可以使模式保持不變,從而保證用戶程序無須改變,保證了數(shù)據(jù)的物理獨立性。
數(shù)據(jù)與應用程序之間相互獨立,可使數(shù)據(jù)的定義、描述和存取等問題與應用程序分離,更好地實現(xiàn)數(shù)據(jù)共享且冗余少。此外,由DBMS實現(xiàn)數(shù)據(jù)存取,用戶不必考慮存取路徑等問題,可以簡化很多應用程序的設計,便于維護和管理。
討論思考:
1)數(shù)據(jù)庫的三級模式結構包括哪幾種?
2)數(shù)據(jù)庫的二級映像具體有什么作用?
微課視頻
課程視頻1.5
