国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Client/Server結(jié)構(gòu)的數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)

2018-07-28 07:19:12劉向東
電腦知識(shí)與技術(shù) 2018年11期
關(guān)鍵詞:數(shù)據(jù)庫(kù)

劉向東

摘要:數(shù)據(jù)庫(kù)是一種數(shù)據(jù)管理技術(shù),對(duì)信息系統(tǒng)的數(shù)據(jù)存儲(chǔ)、管理和調(diào)度起著重要的作用。本文從數(shù)據(jù)庫(kù)技術(shù)入手,首先介紹了目前流行的三種數(shù)據(jù)庫(kù)體系結(jié)構(gòu):?jiǎn)斡脩魯?shù)據(jù)庫(kù)結(jié)構(gòu)、主從式數(shù)據(jù)庫(kù)結(jié)構(gòu)和分布式結(jié)構(gòu),并在此基礎(chǔ)上引出了Client/Server(客戶端/服務(wù)器)數(shù)據(jù)庫(kù)結(jié)構(gòu)。然后,文章介紹了Client/Server數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)要點(diǎn),包括網(wǎng)絡(luò)軟件和協(xié)議、數(shù)據(jù)庫(kù)和客戶端開(kāi)發(fā)工具的設(shè)計(jì)方法。最后,以地圖數(shù)據(jù)庫(kù)為例展示了Client/Server數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)結(jié)果。Client/Server數(shù)據(jù)庫(kù)系統(tǒng)提高了系統(tǒng)容量、效率、穩(wěn)定性和安全性,在不同規(guī)模的系統(tǒng)中得到了廣泛的應(yīng)用。

關(guān)鍵詞:數(shù)據(jù)庫(kù);主從式結(jié)構(gòu);Client/Server結(jié)構(gòu)

中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)11-0008-03

1引言

數(shù)據(jù)庫(kù)技術(shù)是一種數(shù)據(jù)管理技術(shù),具有結(jié)構(gòu)化、冗余度低、程序與數(shù)據(jù)高度獨(dú)立、易于擴(kuò)展和編譯應(yīng)用等優(yōu)點(diǎn)。數(shù)據(jù)庫(kù)是指長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)中的結(jié)構(gòu)化數(shù)據(jù)集合,基于某種數(shù)據(jù)模型實(shí)現(xiàn)對(duì)數(shù)據(jù)的組織、描述和存儲(chǔ),并向用戶提供數(shù)據(jù)共享服務(wù)?,F(xiàn)在,數(shù)據(jù)庫(kù)技術(shù)已應(yīng)用于各類(lèi)大型、小型甚至微型計(jì)算機(jī)以確保數(shù)據(jù)的完整性和共享性[1]。

數(shù)據(jù)庫(kù)是信息系統(tǒng)的核心和基礎(chǔ),而數(shù)據(jù)庫(kù)設(shè)計(jì)則是系統(tǒng)開(kāi)發(fā)過(guò)程中最關(guān)鍵的過(guò)程,實(shí)現(xiàn)了數(shù)據(jù)的組織、存儲(chǔ)、維護(hù)和檢索等功能,使信息系統(tǒng)能夠方便、及時(shí)、準(zhǔn)確地從數(shù)據(jù)庫(kù)中獲取所需的信息。數(shù)據(jù)庫(kù)設(shè)計(jì)是否合理,決定了信息系統(tǒng)的各個(gè)模塊能否實(shí)現(xiàn)緊密結(jié)合并協(xié)同工作[2]。

2數(shù)據(jù)庫(kù)結(jié)構(gòu)

數(shù)據(jù)庫(kù)系統(tǒng)可以按照不同方式進(jìn)行分類(lèi),根據(jù)最終用戶的不同類(lèi)型,可分為單用戶數(shù)據(jù)庫(kù)結(jié)構(gòu)、主從式數(shù)據(jù)庫(kù)結(jié)構(gòu)、分布式數(shù)據(jù)庫(kù)結(jié)構(gòu)和Client/Server數(shù)據(jù)庫(kù)結(jié)構(gòu)。

2.1單用戶數(shù)據(jù)庫(kù)結(jié)構(gòu)

單用戶數(shù)據(jù)庫(kù)結(jié)構(gòu)是一種早期簡(jiǎn)單的數(shù)據(jù)庫(kù)結(jié)構(gòu),應(yīng)用程序、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)等所有的數(shù)據(jù)庫(kù)系統(tǒng)都安裝在同一臺(tái)計(jì)算機(jī)上,該計(jì)算機(jī)由一名用戶獨(dú)享,不同計(jì)算機(jī)之間不能共享數(shù)據(jù)[3]。

以企業(yè)各部門(mén)為例,各部門(mén)使用自己的計(jì)算機(jī)實(shí)現(xiàn)數(shù)據(jù)管理,所有計(jì)算機(jī)之間都是相互獨(dú)立的。由于不同部門(mén)之間不能共享數(shù)據(jù),企業(yè)中存儲(chǔ)了大量冗余數(shù)據(jù),如每個(gè)員工的ID、姓名等個(gè)人信息被反復(fù)存儲(chǔ)在人事、會(huì)計(jì)、技術(shù)等不同部門(mén)的數(shù)據(jù)庫(kù)中。

2.2主從式數(shù)據(jù)庫(kù)結(jié)構(gòu)

在主從式數(shù)據(jù)庫(kù)結(jié)構(gòu)中,應(yīng)用程序、數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)等數(shù)據(jù)庫(kù)系統(tǒng)均安裝在一個(gè)具有多個(gè)用戶的主機(jī)上,所有的處理任務(wù)都由主機(jī)完成,終端用戶能夠訪問(wèn)數(shù)據(jù)庫(kù)并與主機(jī)共享數(shù)據(jù)資源[4]。

主從式數(shù)據(jù)庫(kù)結(jié)構(gòu)最主要的特點(diǎn)是集中式的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)處理,其優(yōu)點(diǎn)在于結(jié)構(gòu)簡(jiǎn)單,易于管理和維護(hù)。但是,當(dāng)終端用戶較多時(shí),主機(jī)處理任務(wù)較繁重,容易成為數(shù)據(jù)庫(kù)系統(tǒng)的性能瓶頸,如果主機(jī)的處理任務(wù)失敗,整個(gè)數(shù)據(jù)庫(kù)系統(tǒng)都會(huì)失敗,因此主從式數(shù)據(jù)庫(kù)系統(tǒng)可靠性不高。

2.3分布式數(shù)據(jù)庫(kù)結(jié)構(gòu)

在分布式數(shù)據(jù)庫(kù)結(jié)構(gòu)中,數(shù)據(jù)作為一個(gè)整體存儲(chǔ)在數(shù)據(jù)庫(kù)中,但其實(shí)際上分布在網(wǎng)絡(luò)中不同的物理節(jié)點(diǎn)。網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)既能夠獨(dú)立訪問(wèn)和處理本地?cái)?shù)據(jù)庫(kù)中的數(shù)據(jù)以執(zhí)行本地應(yīng)用程序,同時(shí)也可以訪問(wèn)和處理多個(gè)遠(yuǎn)程數(shù)據(jù)庫(kù)中的數(shù)據(jù)以執(zhí)行全局應(yīng)用程序[5]。

顧名思義,分布式數(shù)據(jù)庫(kù)結(jié)構(gòu)的主要特點(diǎn)是分布式的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)處理,分布式數(shù)據(jù)庫(kù)系統(tǒng)是計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)發(fā)展的必然產(chǎn)物,滿足了企業(yè)和組織在地理分散分布的需求。然而,數(shù)據(jù)的分布式存儲(chǔ)為數(shù)據(jù)處理、管理和維護(hù)都帶來(lái)了一定的困難,同時(shí)數(shù)據(jù)庫(kù)的遠(yuǎn)程訪問(wèn)過(guò)程受到網(wǎng)絡(luò)帶寬和速率的影響明顯。

3 Client/Server數(shù)據(jù)庫(kù)結(jié)構(gòu)

在主從式數(shù)據(jù)庫(kù)系統(tǒng)中,每個(gè)節(jié)點(diǎn)都是一個(gè)通用的計(jì)算機(jī),既執(zhí)行數(shù)據(jù)庫(kù)管理系統(tǒng)的功能,又執(zhí)行應(yīng)用程序。隨著工作站的普及,用戶開(kāi)始分離將二者功能逐漸分離。網(wǎng)絡(luò)中的一些計(jì)算機(jī)節(jié)點(diǎn)專(zhuān)門(mén)用于執(zhí)行數(shù)據(jù)庫(kù)管理系統(tǒng)的功能,稱(chēng)為數(shù)據(jù)庫(kù)服務(wù)器,簡(jiǎn)稱(chēng)服務(wù)器;其他計(jì)算機(jī)節(jié)點(diǎn)安裝數(shù)據(jù)庫(kù)管理系統(tǒng)的外圍應(yīng)用程序開(kāi)發(fā)工具支持用戶功能,稱(chēng)為客戶端。這就是Client/Server(客戶端/服務(wù)器)數(shù)據(jù)庫(kù)結(jié)構(gòu)的原型[6]。

Client/Server數(shù)據(jù)庫(kù)結(jié)構(gòu)如圖1所示,其中,系統(tǒng)的Oracle Sybase、Infomix等應(yīng)用軟件和數(shù)據(jù)庫(kù)等安裝在服務(wù)器端,服務(wù)器通常有多個(gè)進(jìn)程,能夠接受來(lái)自多個(gè)客戶端的數(shù)據(jù)請(qǐng)求。客戶端將用戶請(qǐng)求以結(jié)構(gòu)化查詢語(yǔ)言的形式發(fā)送到服務(wù)器,服務(wù)器完成數(shù)據(jù)查詢和處理并將處理結(jié)果返回客戶端,并不是返回整個(gè)數(shù)據(jù),極大地減少了網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量,從而提高了數(shù)據(jù)庫(kù)系統(tǒng)性能、吞吐量和負(fù)載能力。另外,Client/Server數(shù)據(jù)庫(kù)結(jié)構(gòu)的往往更開(kāi)放,客戶端和服務(wù)器均可以在不同的硬件和軟件平臺(tái)上運(yùn)行,可以應(yīng)用不同的數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)工具,使應(yīng)用程序更易于移植,軟件維護(hù)成本更低。

Client/Server數(shù)據(jù)庫(kù)結(jié)構(gòu)可分為集中式服務(wù)器結(jié)構(gòu)和分布式服務(wù)器結(jié)構(gòu)[7]。

如圖2所示,集中式服務(wù)器結(jié)構(gòu)包含一個(gè)數(shù)據(jù)庫(kù)服務(wù)器和多個(gè)客戶端服務(wù)器,主要特點(diǎn)是集中式的數(shù)據(jù)存儲(chǔ)和分布式的數(shù)據(jù)處理。與主從式數(shù)據(jù)庫(kù)結(jié)構(gòu)類(lèi)似,數(shù)據(jù)庫(kù)服務(wù)器需要為多個(gè)客戶端提供服務(wù),容易成為系統(tǒng)瓶頸,限制系統(tǒng)性能。

如圖3所示,分布式服務(wù)器結(jié)構(gòu)包含多個(gè)分布式的服務(wù)器,是分布式數(shù)據(jù)庫(kù)和Client/Server數(shù)據(jù)庫(kù)的結(jié)合,主要特點(diǎn)是分布式數(shù)據(jù)和分布式處理。與分布式數(shù)據(jù)庫(kù)結(jié)構(gòu)類(lèi)似,數(shù)據(jù)在不同服務(wù)器上的分布式存儲(chǔ)為數(shù)據(jù)處理、管理和維護(hù)帶來(lái)一定困難。

4 Client/Server數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)

4.1網(wǎng)絡(luò)軟件和協(xié)議

本文通過(guò)Windows NT操作系統(tǒng)實(shí)現(xiàn)client/server數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì),所需硬件資源較少,對(duì)不同規(guī)模的公司都比較實(shí)用[8]。NT操作系統(tǒng)支持豐富的網(wǎng)絡(luò)協(xié)議,包括:

(1)NetBEUI:微軟的嵌入式網(wǎng)絡(luò)協(xié)議,能夠?qū)崿F(xiàn)數(shù)據(jù)包的高速無(wú)路由傳輸功能。

(2)NWLink IPX/SPX協(xié)議:NetWare兼容協(xié)議,可用于NetWare服務(wù)器的連接。

(3) TCP/IP協(xié)議:具有路由功能的行業(yè)標(biāo)準(zhǔn)協(xié)議,可作為主網(wǎng)協(xié)議。

4.2 數(shù)據(jù)庫(kù)

NT操作系統(tǒng)最常用的數(shù)據(jù)庫(kù)工具是微軟開(kāi)發(fā)的SQL Server,結(jié)構(gòu)緊湊、功能強(qiáng)大、容量龐大,能夠與NT操作系統(tǒng)無(wú)縫連接。除此之外,Sybase、Oracle等也是常用的數(shù)據(jù)庫(kù)工具。

4.3 客戶端開(kāi)發(fā)工具

客戶端開(kāi)發(fā)工具的選擇對(duì)用戶來(lái)說(shuō)非常重要,常用的開(kāi)發(fā)工具包括ODBC、C/C++、VFP3.0、VB、PowerBuilder、Delphi等[9]。

4.4 地圖數(shù)據(jù)庫(kù)系統(tǒng)

以地圖數(shù)據(jù)庫(kù)為例,如圖4所示,一個(gè)完整的Client/Server數(shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)庫(kù)服務(wù)器、客戶端和網(wǎng)絡(luò)三個(gè)部分[10]。

(1)數(shù)據(jù)庫(kù)服務(wù)器:用來(lái)處理來(lái)自客戶端的SQL請(qǐng)求,并將處理結(jié)果返回給客戶端。事實(shí)上,所有的數(shù)據(jù)操作、并發(fā)控制、安全審計(jì)和系統(tǒng)管理都是通過(guò)數(shù)據(jù)庫(kù)服務(wù)器完成的。

(2)客戶端:用于發(fā)送SQL請(qǐng)求并處理請(qǐng)求結(jié)果,客戶端通常用于處理應(yīng)用程序的邏輯。

(3)網(wǎng)絡(luò):提供服務(wù)器和客戶端之間的連接,對(duì)用戶是透明的。網(wǎng)絡(luò)性能將直接影響數(shù)據(jù)庫(kù)系統(tǒng)性能。

Client/Server數(shù)據(jù)庫(kù)是網(wǎng)絡(luò)中所有節(jié)點(diǎn)建立的一套支持站點(diǎn)自治和全局自治的有機(jī)組合,包含數(shù)據(jù)庫(kù)管理系統(tǒng)、通信管理、本地?cái)?shù)據(jù)庫(kù)和全局?jǐn)?shù)據(jù)庫(kù)四類(lèi)功能模塊。

(1)數(shù)據(jù)庫(kù)管理系統(tǒng):提供Client/Server數(shù)據(jù)庫(kù)系統(tǒng)界面功能,確保全局?jǐn)?shù)據(jù)庫(kù)的完整性。

(2)通信管理:處理節(jié)點(diǎn)間基本通信功能的通信軟件。

(3)本地?cái)?shù)據(jù)庫(kù):可通過(guò)本地節(jié)點(diǎn)訪問(wèn)的數(shù)據(jù)庫(kù)。

(4)全局?jǐn)?shù)據(jù)庫(kù):可通過(guò)網(wǎng)絡(luò)中所有節(jié)點(diǎn)訪問(wèn)的數(shù)據(jù)庫(kù)。

5 結(jié)論

本文從數(shù)據(jù)庫(kù)技術(shù)入手,首先介紹了目前流行的三種數(shù)據(jù)庫(kù)體系結(jié)構(gòu):?jiǎn)斡脩魯?shù)據(jù)庫(kù)結(jié)構(gòu)、主從式數(shù)據(jù)庫(kù)結(jié)構(gòu)和分布式結(jié)構(gòu),并在此基礎(chǔ)上引出了Client/Server(客戶端/服務(wù)器)數(shù)據(jù)庫(kù)結(jié)構(gòu)。然后,文章介紹了Client/Server數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)要點(diǎn),包括網(wǎng)絡(luò)軟件和協(xié)議、數(shù)據(jù)庫(kù)和客戶端開(kāi)發(fā)工具的設(shè)計(jì)方法。最后,以地圖數(shù)據(jù)庫(kù)為例展示了Client/Server數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)結(jié)果。Client/Server數(shù)據(jù)庫(kù)系統(tǒng)提高了系統(tǒng)容量、效率、穩(wěn)定性和安全性,在不同規(guī)模的系統(tǒng)中得到了廣泛的應(yīng)用[11]。

參考文獻(xiàn):

[1] 馮玉村. 數(shù)據(jù)庫(kù)系統(tǒng)技術(shù)[M]. 華中工學(xué)院出版社, 1984.

[2] 丁智剛. C/S模式與B/S模式相結(jié)合的數(shù)據(jù)庫(kù)系統(tǒng)技術(shù)研究[J]. 網(wǎng)絡(luò)空間安全, 2011(11):41-44.

[3] 郭忠勝. 基于GIS數(shù)據(jù)管理系統(tǒng)的研究與實(shí)踐[D]. 解放軍信息工程大學(xué), 2004.

[4] 王濤, 劉潤(rùn)彬. 一種主從式數(shù)據(jù)庫(kù)應(yīng)用模式的研究與應(yīng)用[C]. 中國(guó)電子學(xué)會(huì)青年學(xué)術(shù)年會(huì)暨中國(guó)電子學(xué)會(huì)青年工作委員會(huì)成立十周年學(xué)術(shù)研討會(huì), 2002.

[5] 王鑫, 王占江. 淺談分布式數(shù)據(jù)庫(kù)架構(gòu)[J]. 計(jì)算機(jī)光盤(pán)軟件與應(yīng)用, 2012(8):41-41.

[6] 黃麗霞. Client/Server數(shù)據(jù)庫(kù)結(jié)構(gòu),應(yīng)用軟件設(shè)計(jì)及其訪問(wèn)機(jī)制[J]. 數(shù)據(jù)分析與知識(shí)發(fā)現(xiàn), 2000, 16(4):26-29.

[7] 劉洪星, 譚新明. Client/Server 數(shù)據(jù)庫(kù)及其設(shè)計(jì)要點(diǎn)[J]. 武漢交通科技大學(xué)學(xué)報(bào), 1998(2):153-155.

[8] JoeSalemi, 奚舸. Claris FileMaker Pro 3.0 Server for Windows NT——FileMaker Pro為Client/Server重下定義[J]. 電子與電腦, 1997(7):44-44.

[9] 劉欣, 邱力軍, 廖琪梅,等. 利用Delphi開(kāi)發(fā)Client/Server數(shù)據(jù)庫(kù)[J]. 醫(yī)學(xué)爭(zhēng)鳴, 2001(s1):133-134.

[10] 李治柱. C/S模式下數(shù)字地圖的研究與實(shí)現(xiàn)[D]. 上海交通大學(xué), 2009.

[11] 王江偉. 分布式數(shù)據(jù)庫(kù)與Client/Server體系縱橫談[J]. 軟件和信息服務(wù), 1997(10):5-9.

猜你喜歡
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
兩種新的非確定數(shù)據(jù)庫(kù)上的Top-K查詢
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)
平湖市| 鄂尔多斯市| 呼玛县| 缙云县| 渑池县| 定远县| 武山县| 香港| 西盟| 云安县| 十堰市| 屯留县| 景德镇市| 营山县| 华宁县| 河间市| 鹰潭市| 新余市| 丹江口市| 陇川县| 阜康市| 循化| 定南县| 儋州市| 河源市| 兰考县| 北流市| 岑溪市| 富阳市| 喀什市| 马山县| 丰镇市| 康保县| 洪江市| 浦东新区| 三门县| 钟山县| 昌江| 张家口市| 绵阳市| 龙里县|