官术网_书友最值得收藏!

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

主站蜘蛛池模板: 新巴尔虎左旗| 南岸区| 昆山市| 华蓥市| 五河县| 清水河县| 宿州市| 汪清县| 鹤岗市| 东安县| 板桥市| 甘孜县| 青阳县| 清原| 湖南省| 台安县| 吐鲁番市| 定边县| 新巴尔虎右旗| 南和县| 阳山县| 克什克腾旗| 千阳县| 榆树市| 上蔡县| 任丘市| 临海市| 内黄县| 武冈市| 柘荣县| 邹平县| 德阳市| 广元市| 开平市| 独山县| 且末县| 郧西县| 武宣县| 高州市| 安吉县| 石林|