摘要:中級通信工程師考試數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu):從不同的角度考查,可得出不同的數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)。從數(shù)據(jù)庫管理系統(tǒng)角度來看,數(shù)據(jù)庫系統(tǒng)通常釆用三級模式結(jié)構(gòu);從數(shù)據(jù)庫最終用戶的角度來看,數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)分為單用戶結(jié)構(gòu)、主從式結(jié)構(gòu)、分布式結(jié)構(gòu)和客戶/服務(wù)器結(jié)構(gòu)。
6.5.3 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)
從不同的角度考查,可得出不同的數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)。從數(shù)據(jù)庫管理系統(tǒng)角度來看,數(shù)據(jù)庫系統(tǒng)通常釆用三級模式結(jié)構(gòu);從數(shù)據(jù)庫最終用戶的角度來看,數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)分為單用戶結(jié)構(gòu)、主從式結(jié)構(gòu)、分布式結(jié)構(gòu)和客戶/服務(wù)器結(jié)構(gòu)。
1.數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)
雖然實際的數(shù)據(jù)庫系統(tǒng)軟件產(chǎn)品種類繁多,它們支持不同的數(shù)據(jù)模型,使用不同的數(shù)據(jù)庫語言,建立在不同的操作系統(tǒng)之上,數(shù)據(jù)的存儲結(jié)構(gòu)各不相同,但從數(shù)據(jù)庫管理系統(tǒng)的角度看,它們在體系結(jié)構(gòu)上通常都具有三級模式的特征(微機上的個別小型數(shù)據(jù)庫系統(tǒng)除外),并提供兩級映像功能。
在數(shù)據(jù)庫系統(tǒng)中,用戶看到的數(shù)據(jù)和計算機中存放的數(shù)據(jù)是兩回事,它們之間通過兩次映像變換相互聯(lián)系起來。數(shù)據(jù)庫的三級模式結(jié)構(gòu)是指數(shù)據(jù)庫系統(tǒng)是由外模式、模式和內(nèi)模式二級構(gòu)成。
(1)外模式(又稱子模式或用戶模式)
外模式是數(shù)據(jù)庫用戶看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖,是與某一個應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。它由若干個外部記錄類型組成。用戶使用數(shù)據(jù)操縱語言的語句對數(shù)據(jù)庫進行操作,實際上就是對外模式的外部記錄進行操作。用戶對數(shù)據(jù)庫的操作,只能與外模式發(fā)生聯(lián)系,按照外模式的結(jié)構(gòu)存儲操縱數(shù)據(jù),不必關(guān)心模式。
(2)模式(又稱邏輯模式或概念模式)
模式是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。它由若干個概念記錄類型組成。
(3)內(nèi)模式(又稱存儲模式)
內(nèi)模式是數(shù)據(jù)物理結(jié)構(gòu)和存儲結(jié)構(gòu)的描述,即是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。它定義所有的內(nèi)部記錄類型、索引和文件的組織方式,以及數(shù)據(jù)控制方面的細節(jié)。一個數(shù)據(jù)庫中只有一個內(nèi)模式和一個模式,但可有多個外模式。
數(shù)據(jù)庫的內(nèi)模式依賴于它的全局邏輯結(jié)構(gòu),但獨立于外模式,也獨立于具體的存儲設(shè)備。它是將全局邏輯結(jié)構(gòu)中所定義的數(shù)據(jù)結(jié)構(gòu)及其聯(lián)系按照一定的物理存儲策略進行有效的組織,以達到較好的時間和空間效率。
數(shù)據(jù)按外模式的描述提供給用戶,按內(nèi)模式的描述存儲在磁盤中。模式提供了一種約束其他兩級的相對穩(wěn)定的中間觀點,它使得兩級中的任何一級改變都不受另一級的牽制。模式位于數(shù)據(jù)庫系統(tǒng)模式結(jié)構(gòu)的中間層,不涉及數(shù)據(jù)的物理存儲細節(jié)和硬件環(huán)境,也與具體的應(yīng)用無關(guān)。數(shù)據(jù)庫模式以某一種數(shù)據(jù)模型為基礎(chǔ),綜合考慮所有用戶的需求,并將這些需求結(jié)合成一個邏輯整體。定義模式時不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu)(如數(shù)據(jù)記錄由哪些數(shù)據(jù)項構(gòu)成,數(shù)據(jù)項的名字、類型、取值范圍等),而且要定義與數(shù)據(jù)有關(guān)的安全性、完整性要求,定義這些數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)庫的外模式是面向應(yīng)用程序的,它定義在模式之上,獨立于內(nèi)模式和存儲設(shè)備。模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu),通常它是模式的子集。一方面,對模式中的同一數(shù)據(jù),在外模式中的結(jié)構(gòu)、類型、長度、保密級別等都可不同。另一方面,同一外模式也可以為某一用戶的多個應(yīng)用系統(tǒng)所使用,但一個應(yīng)用程序只能使用一個外模式。每個用戶只能看見和訪問所對應(yīng)的外模式中的數(shù)據(jù),數(shù)據(jù)庫中的其余數(shù)據(jù)對他們來說是不可見的。由此可見,數(shù)據(jù)庫系統(tǒng)的三級模式是對數(shù)據(jù)的3個抽象級別,它把數(shù)據(jù)的具體組織留給了數(shù)據(jù)庫管理系統(tǒng)去管理,使用戶能邏輯地、抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機中的具體表示方式與存儲方式。
為了能夠在內(nèi)部實現(xiàn)這3個抽象層次的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫系統(tǒng)在這3級模式之間提供了外模式/模式映像和模式/內(nèi)模式映像兩級映像。
(1)外模式/模式映像
外模式/模式映像定義了各外模式和模式之間的對應(yīng)關(guān)系。這些映像定義通常包含在各自外模式的描述中。當模式改變時,由數(shù)據(jù)庫管理員對各個外模式/模式映像作相應(yīng)的改變,而外模式仍然保持不變,從而應(yīng)用程序不必修改,保證了數(shù)據(jù)的邏輯獨立性(指當總體邏輯結(jié)構(gòu)改變時,通過對映像的相應(yīng)改變而保持局部邏輯結(jié)構(gòu)不變,從而應(yīng)用程序也可以不必改變)。
(2)模式/內(nèi)模式映像
模式/內(nèi)模式現(xiàn)象定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲結(jié)構(gòu)之間的對應(yīng)關(guān)系。模式/內(nèi)模式映像是,該映像定義通常包含在模式描述中。
當數(shù)據(jù)庫的存儲結(jié)構(gòu)發(fā)生改變時,由數(shù)據(jù)庫管理員對模式/內(nèi)模式映像作相應(yīng)的改變,而使模式保持不變,從而保證了數(shù)據(jù)的物理獨立性(指當數(shù)據(jù)的存儲結(jié)構(gòu)改變時,數(shù)據(jù)的邏輯結(jié)構(gòu)可以不變,從而應(yīng)用程序也不必改變)。
編輯推薦通信工程師考前試題練習(xí):
通信工程師備考資料免費領(lǐng)取
去領(lǐng)取