網(wǎng)絡(luò)數(shù)據(jù)庫
目錄
1.什么是網(wǎng)絡(luò)數(shù)據(jù)庫[1]
網(wǎng)絡(luò)數(shù)據(jù)庫是指利用網(wǎng)絡(luò)將兩個或多個相互獨立的局域數(shù)據(jù)庫連接在一起。
2.網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)[2]
網(wǎng)絡(luò)數(shù)據(jù)庫是指把數(shù)據(jù)庫技術(shù)引入到計算機網(wǎng)絡(luò)系統(tǒng)中,借助于網(wǎng)絡(luò)技術(shù)將存儲于數(shù)據(jù)庫中的大量信息及時發(fā)布出去;而計算機網(wǎng)絡(luò)借助于成熟的數(shù)據(jù)庫技術(shù)對網(wǎng)絡(luò)中的各種數(shù)據(jù)進行有效管理,并實現(xiàn)用戶與網(wǎng)絡(luò)中的數(shù)據(jù)庫進行實時動態(tài)數(shù)據(jù)交互。
網(wǎng)絡(luò)數(shù)據(jù)庫目前在Intemet廠有大量的應(yīng)用,從最初的網(wǎng)站留言簿、自由論壇等到今天的遠程教育和復(fù)雜的電子商務(wù)等,這些系統(tǒng)幾乎都是采用網(wǎng)絡(luò)數(shù)據(jù)庫這種方式來實現(xiàn)的。網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)的組成元素為:客戶端、服務(wù)器端、連接客戶端及服務(wù)器端的網(wǎng)絡(luò)。這些元素是網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)的基礎(chǔ)。網(wǎng)絡(luò)數(shù)據(jù)庫示意圖如圖1所示。
使用網(wǎng)絡(luò)數(shù)據(jù)庫的最大優(yōu)勢是用戶無需在自己的客戶端安裝任何與所需存取或操作數(shù)據(jù)庫系統(tǒng)對應(yīng)的客戶端軟件,只需要通過Web瀏覽器便可完成對數(shù)據(jù)庫數(shù)據(jù)的常用操作。;這種力·式的優(yōu)點是用戶不必再去學(xué)習(xí)復(fù)雜的數(shù)據(jù)庫知識和數(shù)據(jù)庫軟件的使用,只需要掌握基本的網(wǎng)絡(luò)操作,如填寫、提交表單等就可以從任何一臺連接Internet的計算機上來訪問數(shù)據(jù)庫。網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)的運作方式如圖2所示。
- 圖1網(wǎng)絡(luò)數(shù)據(jù)庫示意圖
- 圖2網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng)的運作方式
3.網(wǎng)絡(luò)數(shù)據(jù)庫特點[2]
網(wǎng)絡(luò)數(shù)據(jù)庫與傳統(tǒng)的數(shù)據(jù)庫相比有以下的特點:
(1)擴大了數(shù)據(jù)資源共享范圍。由于計算機網(wǎng)絡(luò)的范圍可以從局部到全球,因此,網(wǎng)絡(luò)數(shù)據(jù)庫中的數(shù)據(jù)資源共享范圍也擴大了。
(2)易于進行分布式處理。在計算機網(wǎng)絡(luò)中,各用戶可根據(jù)情況合理地選擇網(wǎng)內(nèi)資源,以便就近快速地處理。對于大型作業(yè)及大批量的數(shù)據(jù)處理,可通過一定的算法將其分解給不同的汁算機處理,從而達到均衡使用網(wǎng)絡(luò)資源,實現(xiàn)分布式處理的目的,大大提高了數(shù)據(jù)資源的處理速度。
(3)數(shù)據(jù)資源使用形式靈活?;诰W(wǎng)絡(luò)的數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā),既可以采用C/S(Client/Server,客戶機/服務(wù)器)方式,也可以采用B/S(Browser/Server,瀏覽器/匠務(wù)器)方式,廾發(fā)形式多樣,數(shù)據(jù)使用形式靈活。
(4)便于數(shù)據(jù)傳輸交流。通過計算機網(wǎng)絡(luò)可以方便地將網(wǎng)絡(luò)數(shù)據(jù)庫中的數(shù)據(jù)傳送至網(wǎng)絡(luò)覆蓋的任何地區(qū)。
(5)降低了系統(tǒng)的使用費用,提高了計算機可用性。由于網(wǎng)絡(luò)數(shù)據(jù)庫可供全網(wǎng)用戶共享,使用數(shù)據(jù)資源的用戶不一定擁有數(shù)據(jù)庫,這樣大大降低丁對計算機系統(tǒng)的要求,同時,也提高了每臺計算機的可用性。
(6)數(shù)據(jù)的保密性、安全性降低。由于數(shù)據(jù)庫的共享范圍擴大,對數(shù)據(jù)庫用戶的管理難度加大,網(wǎng)絡(luò)數(shù)據(jù)庫遭受破壞、竊密的概率加大,降低了數(shù)據(jù)的保密性和安全性。
4.網(wǎng)絡(luò)與網(wǎng)絡(luò)數(shù)據(jù)庫[3]
網(wǎng)絡(luò)就是通過使用通訊設(shè)備和線路,將處在不同地理位置、操作上相對獨立的多個計算機連接起來,再配置一定的系統(tǒng)軟件和應(yīng)用軟件,在這些計算機上實現(xiàn)軟硬件的資源共享和信息傳遞,由此而構(gòu)成計算機網(wǎng)絡(luò)。
互聯(lián)網(wǎng)是由全球眾多的計算機局域網(wǎng)互相連接組成的一個超大規(guī)模的網(wǎng)絡(luò)系統(tǒng),在這個系統(tǒng)中運行著多種應(yīng)用系統(tǒng),如上網(wǎng)使用的網(wǎng)頁瀏覽系統(tǒng)——WWW(即萬維網(wǎng)Intemet)、上傳與下載用的文件傳輸系統(tǒng)——FTP、收發(fā)電子郵件所使用的電子郵件系統(tǒng)——E—mail等?;ヂ?lián)網(wǎng)中運行的每一種應(yīng)用系統(tǒng)都是由互聯(lián)網(wǎng)中相應(yīng)的服務(wù)器系統(tǒng)、客戶機系統(tǒng)構(gòu)成,也就是說互聯(lián)網(wǎng)從物理連接來看是由眾多的計算機組成,而從邏輯上看是由多個功能子網(wǎng)組成。
如何實現(xiàn)讓使用者利用瀏覽器,通過Intemet或Intranet訪問網(wǎng)絡(luò)數(shù)據(jù)庫?目前對此問題的解決方案的趨勢為:不需要寫傳統(tǒng)的CGI程序,只要在服務(wù)器端執(zhí)行簡單的“Script語言碼”,SQL(StructureQueryLanguage結(jié)構(gòu)化查詢語言)指令與標(biāo)準的HTML碼,通過ODBC(OpenDatabaseConnectivity)驅(qū)動程序,連接到各種支持ODBC的數(shù)據(jù)庫,執(zhí)行SQL指令來訪問數(shù)據(jù)庫即可,如圖3所示。
- 圖3訪問數(shù)據(jù)庫的解決方案
當(dāng)在用戶端的瀏覽器中填好表單(Form)的輸入數(shù)據(jù),按單擊Submit按鈕后,經(jīng)過Intemet或Intranet傳送HTTP信息到網(wǎng)絡(luò)服務(wù)器,請求在網(wǎng)絡(luò)服務(wù)器上執(zhí)行一個表單所指定的可執(zhí)行Script語言碼。當(dāng)網(wǎng)絡(luò)服務(wù)器遇到包括這些Script語言碼的特殊擴展名(hts、cfm、tdc、asp、jrp)文件時,就交給處理這些Script語言碼的軟件來處理,執(zhí)行后生成一般HTML碼及所需數(shù)據(jù)庫數(shù)據(jù),然后再交給服務(wù)器傳到使用者瀏覽器,如圖4所示。
- 圖4訪問網(wǎng)絡(luò)數(shù)據(jù)庫的過程
網(wǎng)絡(luò)還可以通過多種方式來訪問數(shù)據(jù)庫,如CGI、API和ODBC等。網(wǎng)絡(luò)與數(shù)據(jù)庫連接的原理,如圖5所示。
- 圖5網(wǎng)絡(luò)與數(shù)據(jù)庫連接的原理
一個典型的數(shù)據(jù)庫查詢過程包括以下步驟。
1.用戶通過瀏覽器向網(wǎng)絡(luò)服務(wù)器發(fā)送一個查詢請求;
2.服務(wù)器根據(jù)參數(shù)啟動相應(yīng)的CGI(通用網(wǎng)關(guān)接口)或API(應(yīng)用程序接口)程序(即網(wǎng)關(guān));
3.CGI或API程序登錄到數(shù)據(jù)庫中,按條件進行查詢;
4.?dāng)?shù)據(jù)庫返回查詢結(jié)果;
5.CGI或API程序把查詢結(jié)果翻譯成為標(biāo)準的HTML格式,并傳給網(wǎng)絡(luò)服務(wù)器;
6.網(wǎng)絡(luò)服務(wù)器把包含結(jié)果的HTML網(wǎng)頁傳給瀏覽器。
5.網(wǎng)絡(luò)數(shù)據(jù)庫的應(yīng)用[3]
當(dāng)前比較流行的Web數(shù)據(jù)庫主要有:SQLServer、MySQL、Oracle、DB2和ACCESS。這5種數(shù)據(jù)庫適應(yīng)性強,性能優(yōu)異,容易使用,在國內(nèi)得到了廣泛的應(yīng)用。接下來將對這幾種常用的網(wǎng)絡(luò)數(shù)據(jù)庫進行簡單介紹。
- 1.SQL Server
SQLServer是微軟公司從SyBase獲得基本部件的使用許可后開發(fā)出的一種關(guān)系型數(shù)據(jù)庫。目前最新的版本是SQLServer2008,但SQL Server 2005仍在廣泛使用。
由于均出自微軟之手,使得SQLServer和Windows、IIS等產(chǎn)品有著天然的聯(lián)系。事實上以Windows為核心的幾乎所有微軟的軟件產(chǎn)品都采用了一致的開發(fā)策略,包括界面技術(shù)、面向?qū)ο蠹夹g(shù)、組件技術(shù)等,這樣在微軟的軟件中很多都可以相互調(diào)用,而且配合得非常密切。因此如果用戶使用的是Windows操作系統(tǒng),那么IIS、SQLServer就應(yīng)該是最佳的選擇。
- 2.MySQL
MySQL是當(dāng)今UNIX或Linux類服務(wù)器上廣泛使用的Web數(shù)據(jù)庫系統(tǒng)。它于1996年誕生于瑞典的MySQLAB公司,支持大部分的操作系統(tǒng)平臺。MySQL的設(shè)計思想快捷、高效、實用。由于它不支持事務(wù)處理,MySQL的速度比一些商業(yè)數(shù)據(jù)庫快2~3倍,并且MySQL還針對很多操作平臺做了優(yōu)化,完全支持多CPU系統(tǒng)的多線程方式。
在編程方面,MySQL也提供了C、C++、Java、Perl、Python和TCL等API接口,而且有MyODBC接口,任何可以使用ODBC接口的語言都可以使用它。更重要的是,MySQL的源代碼是公開的,可以免費使用,這就使得MySQL成為許多中小型網(wǎng)站、個人網(wǎng)站追捧的明星產(chǎn)品。
- 3.Oracle
Oracle是美國Oracle公司研制的一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是一個協(xié)調(diào)服務(wù)器和用于支持任務(wù)決定型應(yīng)用程序的開放型RDBMS(關(guān)系型數(shù)據(jù)庫管理系統(tǒng))。它可以支持多種不同的硬件和操作系統(tǒng)平臺,從臺式機到大型和超級計算機,為各種硬件結(jié)構(gòu)提供高度的可伸縮性,支持對稱多處理器、群集多處理器、大規(guī)模處理器等,并提供廣泛的國際語言支持。
Oracle是一個多用戶系統(tǒng),能自動從批處理或在線環(huán)境的系統(tǒng)故障中恢復(fù)運行。系統(tǒng)提供了一個完整的軟件開發(fā)工具Developer2000,包括交互式應(yīng)用程序生成器、報表打印軟件、字處理軟件以及集中式數(shù)據(jù)字典,用戶可以利用這些工具生成自己的應(yīng)用程序。Orcale以二維表的形式表示數(shù)據(jù),并提供了SQL(結(jié)構(gòu)式查詢語言),可完成數(shù)據(jù)查詢、操作、定義和控制等基本數(shù)據(jù)庫管理功能。Oracle具有很好的可移植性,通過它的通信功能,微型計算機上的程序可以同小型乃至大型計算機上的Oracle,并且能相互傳遞數(shù)據(jù)。
另外Oracle還具有與C語言的接電子表格、圖形處理等軟件。Oracle屬于大型數(shù)據(jù)庫系統(tǒng),主要適用于大、中小型應(yīng)用系統(tǒng),或作為客戶機朋艮務(wù)器系統(tǒng)中服務(wù)器端的數(shù)據(jù)庫系統(tǒng)。Oracle是一種面向網(wǎng)絡(luò)計算機并支持對象關(guān)系模型的數(shù)據(jù)庫產(chǎn)品,是目前最流行的客戶/N務(wù)器體系機構(gòu)的數(shù)據(jù)庫之一。目前廣泛使用的版本是Oracle1lg。
- 4.DB2
DB2是計算機巨人IBM公司的產(chǎn)品,起源于SystemR和SystemR木。它支持從PC到UNIX,從中小型機到大型機;從IBM到非IBM(HP及SUNUNIX系統(tǒng)等)的各種操作平臺。它既可以在主機上以主/從方式獨立運行,也可以在客戶/N務(wù)器環(huán)境中運行。其中服務(wù)平臺可以是OS/400,AIX,OS/2,HP—UNIX,SUN—Solaris等操作系統(tǒng),客戶機平臺可以是OS/2或Windows,Dos,AIX,HP—UX,SUNSolaris等操作系統(tǒng)。
DB2數(shù)據(jù)庫核心又稱作DB2公共服務(wù)器,采用多進程多線索體系結(jié)構(gòu),可以運行于多種操作系統(tǒng)之上,并分別根據(jù)相應(yīng)平臺環(huán)境作了調(diào)整和優(yōu)化,以便能夠達到較好的性能。
- 5.Access
Access數(shù)據(jù)庫是一個文件型數(shù)據(jù)庫管理系統(tǒng),由單個或多個文件組成,是Office辦公套件中一個極為重要的組成部分。自從1992年開始銷售以來,Access已經(jīng)賣出了超過6000萬份,現(xiàn)在已經(jīng)成為世界上最流行的桌面數(shù)據(jù)庫管理系統(tǒng)。后來微軟公司通過大量的改進,將Access的新版本功能變得更加強大。不管是處理公司的客戶訂單數(shù)據(jù),管理自己的個人通訊錄,還是大量科研數(shù)據(jù)的記錄和處理,人們都可以利用它來解決大量數(shù)據(jù)的管理工作。Access之所以被集成到Office中而不是.VisualStudio中,是因為它與其他的數(shù)據(jù)庫管理系統(tǒng)(如VisualFoxPro)相比更加簡單易學(xué),一個普通的計算機用戶即可掌握并使用。而且最重要的一點是,Access的功能足夠強大,足以應(yīng)付一般的數(shù)據(jù)管理及處理需要,當(dāng)然,配上合適的數(shù)據(jù)訪問手段,它也能多用戶、多線程的訪問。Access對于訪問量及數(shù)據(jù)量不是太大的系統(tǒng),尤其是桌面數(shù)據(jù)庫系統(tǒng)的開發(fā)很具優(yōu)勢,而且從它升級到SQLServer(微軟的另一專業(yè)數(shù)據(jù)庫產(chǎn)品)也比較容易。
6.網(wǎng)絡(luò)數(shù)據(jù)庫實現(xiàn)技術(shù)與安全分析[3]
網(wǎng)絡(luò)數(shù)據(jù)庫是網(wǎng)絡(luò)環(huán)境下辦公自動化(OA)系統(tǒng)的核心部分。設(shè)計一個網(wǎng)絡(luò)數(shù)據(jù)庫所采用的技術(shù)實現(xiàn)方法,其先進性和科學(xué)性不僅對軟件的開發(fā)效率和軟件質(zhì)量有著很大的影響,而且對整個軟件的使用和維護有著重大的影響。同時,系統(tǒng)的安全性對于系統(tǒng)的實現(xiàn)同樣非常關(guān)鍵。系統(tǒng)不安全的因素包括非授權(quán)用戶訪問計算機網(wǎng)絡(luò),授權(quán)用戶越權(quán)訪問有關(guān)數(shù)據(jù)庫,以及敏感信息在基于TCP/IP網(wǎng)絡(luò)上的傳輸。
- 1.?dāng)?shù)據(jù)庫訪問技術(shù)
一般的數(shù)據(jù)庫開發(fā)工具如Delphi5都提供了一些數(shù)據(jù)庫對象組件,它們封裝了BDE的功能。這樣,開發(fā)數(shù)據(jù)庫應(yīng)用程序就不必知道BDE的功能。其次,還提供了數(shù)據(jù)感知組件可以與數(shù)據(jù)訪問組件彼此通信,這樣,建立數(shù)據(jù)庫應(yīng)用程序的界面就變得簡單。SQLLinks為連接Oracle、Sybase、Informix、MicrosoftSQLServer、DB2和InterBase提供了專門的驅(qū)動程序,還可以通過ODBC連接其他數(shù)據(jù)庫。
- 2.SQL編程技術(shù)
SQL是一組符合工業(yè)標(biāo)準的數(shù)據(jù)庫操作命令集,它可以在Delphi這樣的編程環(huán)境中使用。SQL不是一門語言,無法得到一個專門的SQL軟件,它只是服務(wù)器數(shù)據(jù)庫的一部分。
SQL作為一種查詢語言,是網(wǎng)絡(luò)環(huán)境下客戶/服務(wù)器數(shù)據(jù)庫應(yīng)用程序開發(fā)的標(biāo)準。SQL具有一些查看數(shù)據(jù)的優(yōu)勢,而且只能使用SQL命令來獲得。通過SQL,也可以靈活地查詢所需要的數(shù)據(jù),這種靈活性是面向記錄的數(shù)據(jù)庫操作所不具備的。
- 3.多層分布式應(yīng)用技術(shù)
MIDAS(Multitude Distributed Application Services Suite)即多層分布式應(yīng)用程序服務(wù)器,它提供了一整套中間層應(yīng)用服務(wù),擴展了操作系統(tǒng)標(biāo)準,這些服務(wù)用于解決各種具體的分布式計算問題,從用于網(wǎng)絡(luò)定位的目錄服務(wù)到數(shù)據(jù)庫集成和業(yè)務(wù)規(guī)則處理。在多層的數(shù)據(jù)庫應(yīng)用程序中,客戶程序、應(yīng)用程序服務(wù)器和遠程數(shù)據(jù)庫服務(wù)器分布在不同的機器上。其中,客戶程序主要是提供用戶界面,它能夠向應(yīng)用程序服務(wù)器請求數(shù)據(jù)和申請更新數(shù)據(jù),再由應(yīng)用程序服務(wù)器向遠程數(shù)據(jù)庫服務(wù)器請求數(shù)據(jù)和申請更新數(shù)據(jù)。
- 4.WEB訪問技術(shù)
隨著WEB技術(shù)的發(fā)展,WEB與數(shù)據(jù)庫的互連技術(shù)也日益發(fā)展,主要有CGI,W曲API,ODBC,JAVA/JDB技術(shù),ASP技術(shù),PHP技術(shù)等。使用Delphi的WebBroker技術(shù)可以輕松地建立WEB服務(wù)器擴展來提供自定義的、動態(tài)的HTML(Hypertext Markup Language)網(wǎng)頁,并能夠訪問各種數(shù)據(jù)源。