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

2.3 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)

2.3.1 數(shù)據(jù)庫系統(tǒng)的組成

數(shù)據(jù)庫系統(tǒng)是一個(gè)復(fù)雜的系統(tǒng),因?yàn)閿?shù)據(jù)庫系統(tǒng)不僅是指數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)本身,而且還指計(jì)算機(jī)系統(tǒng)引進(jìn)數(shù)據(jù)庫技術(shù)后的整個(gè)系統(tǒng),是數(shù)據(jù)、硬件、軟件和相關(guān)人員的組合體。數(shù)據(jù)庫系統(tǒng)由硬件資源、軟件資源、數(shù)據(jù)庫體系結(jié)構(gòu)、數(shù)據(jù)庫管理員和用戶五個(gè)部分組成。

1.硬件資源

數(shù)據(jù)庫系統(tǒng)的硬件資源包括主機(jī)、存儲(chǔ)設(shè)備、輸入輸出設(shè)備以及計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境等。

2.軟件資源

(1)操作系統(tǒng),如DOS系統(tǒng)、UNIX系統(tǒng)、Windows系統(tǒng)及Linux系統(tǒng)等。

(2)數(shù)據(jù)庫管理系統(tǒng),如FoxPro、Oracle、Ingres、Sybase等。

(3)高級(jí)語言編譯系統(tǒng),如Fortran、C++、VB等。

數(shù)據(jù)庫系統(tǒng)的核心為數(shù)據(jù)庫管理系統(tǒng)。

3.數(shù)據(jù)庫體系結(jié)構(gòu)

實(shí)際的數(shù)據(jù)庫系統(tǒng)軟件產(chǎn)品多種多樣。它們支持不同的數(shù)據(jù)模型,使用不同的數(shù)據(jù)庫語言,建立在不同的操作系統(tǒng)之上,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)也各不相同。但是,大多數(shù)數(shù)據(jù)庫系統(tǒng)在總的體系結(jié)構(gòu)上都具有相同的三級(jí)模式結(jié)構(gòu),即把數(shù)據(jù)庫分為用戶級(jí)數(shù)據(jù)庫、概念級(jí)數(shù)據(jù)庫和物理級(jí)數(shù)據(jù)庫三級(jí)(如圖2.12所示)。

(1)用戶級(jí)數(shù)據(jù)庫。

用戶級(jí)數(shù)據(jù)庫是用戶看到和使用的數(shù)據(jù)庫,所以也稱為用戶視圖,又稱為子模式、外模式、用戶模式等。對(duì)應(yīng)于外模式,用戶級(jí)數(shù)據(jù)庫是單個(gè)用戶看到并獲準(zhǔn)使用的那部分?jǐn)?shù)據(jù)的邏輯結(jié)構(gòu)(稱為局部邏輯結(jié)構(gòu)),用戶根據(jù)系統(tǒng)給定的子模式,用查詢語言或應(yīng)用程序去操作數(shù)據(jù)庫中的數(shù)據(jù)。

圖2.12 數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)

(2)概念級(jí)數(shù)據(jù)庫。

概念級(jí)數(shù)據(jù)庫是數(shù)據(jù)庫管理員看到的數(shù)據(jù)庫,所以也稱為DBA視圖,又稱為概念模式。概念級(jí)數(shù)據(jù)庫是用于把用戶視圖有機(jī)地結(jié)合成一個(gè)邏輯整體,描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序及使用的高級(jí)程序語言無關(guān)。

(3)物理級(jí)數(shù)據(jù)庫。

物理級(jí)數(shù)據(jù)庫又稱存儲(chǔ)模式、內(nèi)模式,是數(shù)據(jù)在數(shù)據(jù)庫系統(tǒng)內(nèi)部的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和方式的描述。內(nèi)模式是全體數(shù)據(jù)庫數(shù)據(jù)的內(nèi)部表示或低層描述,用來定義數(shù)據(jù)的存儲(chǔ)方式和物理結(jié)構(gòu)。從機(jī)器的角度看,它們是指令操作處理的位串、字符和字;從系統(tǒng)程序員的角度看,這些數(shù)據(jù)是其用一定的文件組織方法組織起來的一個(gè)個(gè)物理文件(或存儲(chǔ)文件)。系統(tǒng)程序員編制專門的訪問程序,實(shí)現(xiàn)對(duì)文件中數(shù)據(jù)的訪問,所以物理級(jí)數(shù)據(jù)庫也稱為系統(tǒng)程序員視圖。

數(shù)據(jù)庫的三級(jí)模式結(jié)構(gòu)定義了數(shù)據(jù)庫的三個(gè)抽象級(jí)。這三級(jí)之間可以通過一定的對(duì)應(yīng)規(guī)則進(jìn)行相互轉(zhuǎn)換,從而把這三級(jí)連接在一起成為一個(gè)整體,這種對(duì)應(yīng)規(guī)則稱為映射。用戶級(jí)數(shù)據(jù)庫之間的映射定義了各個(gè)外模式和概念模式之間的對(duì)應(yīng)關(guān)系,使外部記錄可以通過這一映射轉(zhuǎn)換成相應(yīng)的概念記錄,反之亦然。用戶級(jí)數(shù)據(jù)庫和概念級(jí)數(shù)據(jù)庫之間的映射隔離了概念模式的變化對(duì)外模式的影響。因?yàn)橹灰淖兯鼈冎g的映射就可以讓外模式保持不變。類似地,概念級(jí)數(shù)據(jù)庫和物理級(jí)數(shù)據(jù)庫之間的映射定義了概念模式和內(nèi)模式之間的對(duì)應(yīng)關(guān)系,這種映射關(guān)系的存在使得當(dāng)內(nèi)模式的結(jié)構(gòu)發(fā)生變化時(shí),只要對(duì)概念模式/物理模式映射做相應(yīng)的修改,概念模式就可以保持不變。因此,數(shù)據(jù)庫的三級(jí)結(jié)構(gòu)和它們之間的映射是實(shí)現(xiàn)數(shù)據(jù)獨(dú)立性的保證。

對(duì)一個(gè)數(shù)據(jù)庫系統(tǒng)來說,實(shí)際上存在的只是物理級(jí)數(shù)據(jù)庫,它是數(shù)據(jù)訪問的基礎(chǔ)。概念級(jí)數(shù)據(jù)庫只不過是物理級(jí)數(shù)據(jù)庫的一種抽象(邏輯)描述,用戶級(jí)數(shù)據(jù)庫則是個(gè)別用戶的數(shù)據(jù)視圖,即與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯描述。用戶根據(jù)子模式進(jìn)行操作,數(shù)據(jù)庫系統(tǒng)既通過子模式到模式的映射將操作與概念級(jí)數(shù)據(jù)庫聯(lián)系起來,又通過模式到存儲(chǔ)模式的映射與物理級(jí)數(shù)據(jù)庫聯(lián)系起來。這樣,用戶可以在較高的抽象級(jí)別上處理數(shù)據(jù),而把數(shù)據(jù)組織的物理細(xì)節(jié)留給系統(tǒng)。

4.數(shù)據(jù)庫管理員

為了保證數(shù)據(jù)庫能夠高效正常運(yùn)行,一般大型數(shù)據(jù)庫都設(shè)有專門人員來負(fù)責(zé)數(shù)據(jù)庫系統(tǒng)的管理和維護(hù)工作。這種專門人員稱為數(shù)據(jù)庫管理人員。他們是一些懂得和掌握數(shù)據(jù)庫全局并設(shè)計(jì)和管理數(shù)據(jù)庫的骨干人員,其主要職責(zé)包括:

(1)負(fù)責(zé)數(shù)據(jù)庫核心及其開發(fā)工具的安裝及升級(jí)。

(2)為數(shù)據(jù)庫系統(tǒng)分配存儲(chǔ)空間并規(guī)劃未來的存儲(chǔ)需求。

(3)協(xié)助開發(fā)者建立基本的對(duì)象(表、視圖、索引)。

(4)負(fù)責(zé)注冊(cè)用戶并維護(hù)系統(tǒng)的安全性。

(5)負(fù)責(zé)數(shù)據(jù)庫系統(tǒng)的備份和恢復(fù)。

5.用戶

數(shù)據(jù)庫系統(tǒng)的用戶分為兩類:一類是最終用戶,這類用戶無須熟悉程序語言和數(shù)據(jù)處理技術(shù),他們通過終端的人機(jī)對(duì)話,主要對(duì)數(shù)據(jù)庫進(jìn)行聯(lián)機(jī)查詢或通過數(shù)據(jù)庫應(yīng)用系統(tǒng)提供的界面來使用數(shù)據(jù)庫,這些界面包括菜單、表格、圖形和報(bào)表;另一類用戶是專業(yè)用戶,即應(yīng)用程序員,這類用戶熟悉DBMS接口語言及DBMS提供的數(shù)據(jù)操作語言,他們負(fù)責(zé)設(shè)計(jì)應(yīng)用系統(tǒng)的程序模塊,對(duì)數(shù)據(jù)庫進(jìn)行操作。

主站蜘蛛池模板: 眉山市| 汽车| 洛宁县| 鄂托克前旗| 天柱县| 化隆| 旬阳县| 渭南市| 申扎县| 荆州市| 嫩江县| 连南| 贡嘎县| 涪陵区| 浦城县| 邯郸县| 兴隆县| 永仁县| 襄樊市| 唐山市| 儋州市| 博客| 永城市| 祁连县| 息烽县| 鲁山县| 望谟县| 和林格尔县| 桓仁| 崇州市| 白城市| 运城市| 广水市| 天等县| 沁阳市| 永丰县| 麻江县| 平顶山市| 承德市| 区。| 韩城市|