摘要: 隨著各種網(wǎng)絡(luò)應(yīng)用的出現(xiàn)以及電子商務(wù)的發(fā)展不少企業(yè)和站長(zhǎng)在動(dòng)態(tài)網(wǎng)站建設(shè)制作過(guò)程中,會(huì)對(duì)數(shù)據(jù)庫(kù)的概念產(chǎn)生迷惑或誤解。究竟使用什么類型的數(shù)據(jù)庫(kù)才好了?如何選擇合適的數(shù)據(jù)庫(kù)管理系統(tǒng)呢?本文針對(duì)這一問(wèn)題簡(jiǎn)單介紹一些關(guān)于動(dòng)態(tài)網(wǎng)站建設(shè)后臺(tái)數(shù)據(jù)庫(kù)的選擇。讓大家更好的了解數(shù)據(jù)庫(kù)管理系統(tǒng),從而確定選擇合適的數(shù)據(jù)管理系統(tǒng)和建站方案。
關(guān)鍵詞: 動(dòng)態(tài)網(wǎng)站建設(shè);后臺(tái);數(shù)據(jù)庫(kù)
后臺(tái)數(shù)據(jù)庫(kù)是構(gòu)建動(dòng)態(tài)網(wǎng)站的物質(zhì)基礎(chǔ),對(duì)于動(dòng)態(tài)網(wǎng)站來(lái)說(shuō),一般都要準(zhǔn)備一個(gè)用于存儲(chǔ)、管理和獲取客戶信息的數(shù)據(jù)庫(kù),利用數(shù)據(jù)庫(kù)建設(shè)的網(wǎng)站,一方面,在前臺(tái),訪問(wèn)者可以利用查詢功能很快地查詢到自己想要的資料;另一方面,在后臺(tái),網(wǎng)站管理人員也可以通過(guò)后臺(tái)管理系統(tǒng)很方便地管理網(wǎng)站,而且后臺(tái)管理系統(tǒng)界面直觀,即使不懂計(jì)算機(jī)的人員也可以很容易學(xué)會(huì)使用。
1 什么是數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)(DB,DataBase)是存儲(chǔ)在計(jì)算機(jī)中有組織的、可共享的數(shù)據(jù)的集合。其可通過(guò)數(shù)據(jù)庫(kù)對(duì)管理系統(tǒng)進(jìn)行管理,并能生成相應(yīng)的數(shù)據(jù)庫(kù)文件。其具有三大特點(diǎn),即數(shù)據(jù)的結(jié)構(gòu)化、數(shù)據(jù)的獨(dú)立性和數(shù)據(jù)的共享性。
數(shù)據(jù)的結(jié)構(gòu)化。在數(shù)據(jù)庫(kù)中,數(shù)據(jù)是按照某種數(shù)據(jù)模型組織起來(lái)的,不僅文件內(nèi)部數(shù)據(jù)之間彼此是相關(guān)的,而且文件之間在結(jié)構(gòu)上也有機(jī)地聯(lián)系在一起,整個(gè)數(shù)據(jù)庫(kù)渾然一體,實(shí)現(xiàn)了整體的結(jié)構(gòu)化。
較高的數(shù)據(jù)和程序的獨(dú)立性。在數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)庫(kù)管理系統(tǒng)提供了映像功能,實(shí)現(xiàn)了應(yīng)用程序和數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)、數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)和物理結(jié)構(gòu)之間的獨(dú)立性。數(shù)據(jù)的獨(dú)立性提高了數(shù)據(jù)庫(kù)系統(tǒng)的穩(wěn)定性,也降低了程序維護(hù)的復(fù)雜性。
數(shù)據(jù)共享性好。冗余度低。實(shí)現(xiàn)數(shù)據(jù)共享后,就可以將數(shù)據(jù)庫(kù)中不必要的重復(fù)數(shù)據(jù)清除。減少了數(shù)據(jù)冗余量,并且實(shí)現(xiàn)了數(shù)據(jù)訪問(wèn)的一致性。
2 常見(jiàn)的數(shù)據(jù)管理系統(tǒng)技術(shù)比較
目前常見(jiàn)的數(shù)據(jù)庫(kù)種類繁多,如Microsoft SQL Server,Microsoft Access,Oracle,MySQL ,SyBase,DB2等。每種產(chǎn)品都有自己特有的功能。在數(shù)據(jù)庫(kù)市場(chǎng)上占有一定份額。下百簡(jiǎn)單介紹幾種常用的數(shù)據(jù)庫(kù)管理系統(tǒng)。
2.1 Microsoft SQL Server
Microsoft SQL Server是一種典型的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),可以在許多操作系統(tǒng)上運(yùn)行,它使用Transact-SQL語(yǔ)言完成數(shù)據(jù)庫(kù)操作。由于Microsoft SQL Server是開(kāi)放式的系統(tǒng),其他系統(tǒng)可以與它進(jìn)行完好的交互操作。它具有使用方便、很好的可靠性、可伸縮性、可用性、可管理性和與相關(guān)軟件集成程度高等優(yōu)點(diǎn)。為用戶提供了完整的數(shù)據(jù)庫(kù)解決方案??梢栽赪indows 98到Windows 2003等多種系統(tǒng)平臺(tái)中運(yùn)行和使用。
2.2 Microsoft Access
Microsoft Access作為Microsoft Office組件之一是在Windows環(huán)境下很流行的桌面型數(shù)據(jù)庫(kù)管理系統(tǒng)。使用Microsoft Access無(wú)須編寫(xiě)任何代碼,只需通過(guò)直觀的可視化操作就可以完成大部分?jǐn)?shù)據(jù)管理任務(wù)。不僅易于使用,而且界面友好,因此被用戶廣泛采用。使用Access的時(shí)候不需要數(shù)據(jù)庫(kù)管理者具有專業(yè)的程序設(shè)計(jì)水平,任何非專業(yè)的用戶都可以用它來(lái)創(chuàng)建功能強(qiáng)大的數(shù)據(jù)庫(kù)管理系統(tǒng)。
Access使用標(biāo)準(zhǔn)的SQL(Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言)作為它的數(shù)據(jù)庫(kù)語(yǔ)言,從而提供了強(qiáng)大的數(shù)據(jù)處理能力和通用性,使其成為一個(gè)功能強(qiáng)大而且易于使用的桌面關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)和應(yīng)用程序生成器。一個(gè)Access數(shù)據(jù)庫(kù)可以包含表、查詢、窗體、報(bào)表、宏、模塊以及數(shù)據(jù)訪問(wèn)頁(yè),不同于傳統(tǒng)的桌面數(shù)據(jù)庫(kù)(dbase、 FoxPro、Paradox),Access數(shù)據(jù)庫(kù)使用單一的*.mdb文件管理所有的信息,這種針對(duì)數(shù)據(jù)庫(kù)集成的最優(yōu)化文件結(jié)構(gòu)不僅包括數(shù)據(jù)本身,也包括了它的支持對(duì)象。 2.3 Oracle
Oracle是出現(xiàn)的最早的商品化的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。應(yīng)用廣泛、功能強(qiáng)大。Oracle作為一個(gè)通用的數(shù)據(jù)庫(kù)管理系統(tǒng),不僅具有完整的數(shù)據(jù)管理功能,且是一個(gè)分布式的數(shù)據(jù)庫(kù)系統(tǒng),支持和種分布式功能,特別是支持Internet應(yīng)用,作為一個(gè)應(yīng)用開(kāi)發(fā)環(huán)境,Oracle提供了一套界面友好、功能齊全的數(shù)據(jù)庫(kù)工發(fā)工具。其使用PL\\SQL語(yǔ)言執(zhí)行各種操作,具有可放性、可移植性、可伸縮性等諸多功能。
目前的Oracle 9是一個(gè)面向?qū)ο蟮臄?shù)據(jù)庫(kù)系統(tǒng),它既非純的面向?qū)ο蟮臄?shù)據(jù)庫(kù)也非純的關(guān)系數(shù)據(jù)庫(kù),它是兩者的結(jié)合,因此叫做“對(duì)象關(guān)系數(shù)據(jù)庫(kù)”。由于Oracle包括了幾乎所有的數(shù)據(jù)庫(kù)技術(shù),因此被認(rèn)為是未來(lái)企業(yè)級(jí)主選數(shù)據(jù)庫(kù)之一。Oracle主要有以下特點(diǎn)。
(1)對(duì)象/關(guān)系模型。Oracle使用了對(duì)象/關(guān)系模型,也就是在完全支持傳統(tǒng)關(guān)系模型的基礎(chǔ)上,為對(duì)象機(jī)制提供了有限的支持。Oracle不僅能夠處理傳統(tǒng)的表結(jié)構(gòu)信息,而且能夠管理由C++、Smalltalk 以及其他開(kāi)發(fā)工具生成的多媒體數(shù)據(jù)類型,如文本、視頻、圖形和空間對(duì)象等。這種做法允許現(xiàn)有軟件開(kāi)發(fā)產(chǎn)品與工具軟件及Oracle應(yīng)用軟件共存,保護(hù)了客戶的投資。
(2)動(dòng)態(tài)可伸縮性。Oracle引入了連接存儲(chǔ)池和多路復(fù)用機(jī)制,提供了對(duì)大型對(duì)象的支持,當(dāng)需要支持一些特殊數(shù)據(jù)類型時(shí),用戶可以創(chuàng)建軟件插件來(lái)實(shí)現(xiàn)。Oracle 8采用了高級(jí)網(wǎng)絡(luò)技術(shù),提高共享池和連接管理器來(lái)提高系統(tǒng)的可括性,容量可從幾GB到幾百TB,可允許10萬(wàn)用戶同時(shí)并行訪問(wèn),Oracle的數(shù)據(jù)庫(kù)中每個(gè)表可以容納1000列,能滿足目前數(shù)據(jù)庫(kù)及數(shù)據(jù)倉(cāng)庫(kù)應(yīng)用的需要。
(3)系統(tǒng)的可用性和易用性。Oracle提供了靈活多樣的數(shù)據(jù)分區(qū)功能,一個(gè)分區(qū)可以是一個(gè)大型表,也可以是索引易于管理的小塊,可以根據(jù)數(shù)據(jù)的取值分區(qū),有效地提高了系統(tǒng)操作能力及數(shù)據(jù)可用性,減少I/O瓶頸。Oracle還對(duì)并行處理進(jìn)行了改進(jìn),在位圖索引、查詢、排序、連接和一般索引掃描等操作引入并行處理,提高了單個(gè)查詢的并行度。
(4)系統(tǒng)的可管理性和數(shù)據(jù)安全功能。Oracle提供了自動(dòng)備份和恢復(fù)功能,改進(jìn)了對(duì)大規(guī)模和更加細(xì)化的分布式操作系統(tǒng)的支持,加強(qiáng)了SQL操作復(fù)制的并行性。為了幫助客戶有效地管理整個(gè)數(shù)據(jù)庫(kù)和應(yīng)用系統(tǒng),Oracle還提供了企業(yè)管理系統(tǒng),數(shù)據(jù)庫(kù)管理員可以從一個(gè)集中控制臺(tái)拖放式圖形用戶界面管理Oracle的系統(tǒng)環(huán)境。
(5)對(duì)多平臺(tái)的支持與開(kāi)放性。網(wǎng)絡(luò)結(jié)構(gòu)往往含有多個(gè)平臺(tái),Oracle可以運(yùn)行于目前所有主流平臺(tái)上,如SUN Solarise、Sequent Dynix/PTX、Intel NT、HP UX、DEC UNIX、IBM AIX等。Oracle的異構(gòu)服務(wù)為同其他數(shù)據(jù)源以及使用SQL和PL/SQL的服務(wù)進(jìn)行通信提供了必要的基礎(chǔ)設(shè)施。
2.4 MySQL
MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),可運(yùn)行在Windows平臺(tái)和大多數(shù)的Linux平臺(tái)上的半商業(yè)數(shù)據(jù)庫(kù)。MySQL的普及很大程度上源于它的寬松,其中MySQL的Windows版本在任何情況下都不免費(fèi),而在包括Linux在內(nèi)的任何UNIX平臺(tái)下使用MySQL都是免費(fèi)的。
MySQL客戶庫(kù)是客戶/服務(wù)器結(jié)構(gòu)的C語(yǔ)言庫(kù),它意味著一個(gè)客戶能查詢駐留在另一臺(tái)機(jī)器的一個(gè)數(shù)據(jù)庫(kù)。然而MySQL真正的強(qiáng)項(xiàng)在于該庫(kù)中的語(yǔ)言包裝器,Perl、Pathon和PHP只是一部分。Apache的Web服務(wù)器也有許多模塊,例如目錄存取文件等允許各種各樣的Apache配置信息。使用MySQL,應(yīng)用程序接口簡(jiǎn)單、一致并且相當(dāng)完整,而且多平臺(tái)ODBC驅(qū)動(dòng)程序都能夠自由獲得。
MySQL包含一些與SQL標(biāo)準(zhǔn)不同的轉(zhuǎn)變,大多數(shù)被設(shè)計(jì)成是對(duì)SQL腳本語(yǔ)言的不足的一種補(bǔ)充。但是另一些擴(kuò)展確實(shí)使 MySQL與眾不同,例如LINK子句搜索是自動(dòng)地忽略大小寫(xiě)的。而且MySQL也允許用戶自定義SQL函數(shù),也就是一個(gè)程序員可以編寫(xiě)一個(gè)函數(shù)然后集成到MySQL中,其表現(xiàn)與任何基本函數(shù)沒(méi)有什么不同。
目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。
2.5 DB2數(shù)據(jù)庫(kù)介紹
DB2數(shù)據(jù)庫(kù)是IBM公司的產(chǎn)品,DB2數(shù)據(jù)庫(kù)核心又稱作DB2公共服務(wù)器,DBZ數(shù)據(jù)庫(kù)采用多進(jìn)程多線索體系結(jié)構(gòu),可以運(yùn)行于多種操作系統(tǒng)之上,并分別根據(jù)相應(yīng)平臺(tái)環(huán)境作了調(diào)整和優(yōu)化,以便能夠達(dá)到較好的性能。它支持從個(gè)人計(jì)算機(jī)到UNIX服務(wù)器、從中小型機(jī)到大型機(jī)、從IBM到非IBM(HP及SUN UNIX系統(tǒng)等)各種操作平臺(tái)。DB2數(shù)據(jù)庫(kù)既可以在主機(jī)上以主/從方式獨(dú)立運(yùn)行,也可以在客戶/服務(wù)器環(huán)境中運(yùn)行,其中服務(wù)平臺(tái)可以是OS/400、AIX、OS/2、HP UNIX、SUN Solaris等操作系統(tǒng),客戶機(jī)平臺(tái)可以是OS/2或Windows、Dos、AIX、HP UX、SUN Solaris等操作系統(tǒng)。DB2數(shù)據(jù)庫(kù)的特色如下。
(1)支持面向?qū)ο蟮木幊獭?2)支持多媒體應(yīng)用程序。(3)支持存儲(chǔ)過(guò)程和觸發(fā)器,用戶可以在建表時(shí)顯示地定義復(fù)雜的完整性規(guī)則。(4)支持異構(gòu)分布式數(shù)據(jù)庫(kù)訪問(wèn)和支持?jǐn)?shù)據(jù)復(fù)制。
3 動(dòng)態(tài)網(wǎng)站數(shù)據(jù)庫(kù)的選擇
在一個(gè)網(wǎng)站設(shè)計(jì)之初,就應(yīng)該考慮采用什么數(shù)據(jù)庫(kù),正如考慮網(wǎng)站的整體頁(yè)面布局和程序設(shè)計(jì)過(guò)程中應(yīng)該采用什么編程語(yǔ)言一樣。在網(wǎng)站建設(shè)開(kāi)始之前,應(yīng)該根據(jù)自身建站的需求和其他一些因素選擇合適自己的數(shù)據(jù)庫(kù)。因?yàn)樵酱蟮臄?shù)據(jù)庫(kù)開(kāi)發(fā)費(fèi)用就越高,但是太小的數(shù)據(jù)庫(kù)有可能影響到網(wǎng)站的整體性能,包括數(shù)據(jù)查詢、數(shù)據(jù)調(diào)用等各個(gè)方面。所以要選擇適當(dāng)?shù)臄?shù)據(jù)庫(kù)。
雖說(shuō)目前常見(jiàn)的網(wǎng)站后臺(tái)數(shù)據(jù)庫(kù)種類繁多,每種數(shù)據(jù)庫(kù)也都各自有其特色,但是從網(wǎng)站本身的需求、數(shù)據(jù)庫(kù)使用便捷性和所需費(fèi)用等方面來(lái)說(shuō),Access、SQL Server和MySQL這3種數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)該是使用率較高的。不過(guò)由于Access數(shù)據(jù)庫(kù)有一個(gè)比較明顯的弊端,即如果數(shù)據(jù)庫(kù)超過(guò)一定容量之后,查詢和調(diào)用的速度就會(huì)明顯下降,從而導(dǎo)致整個(gè)網(wǎng)站響應(yīng)延遲,因此一般建議站長(zhǎng)選擇SQL Server或者M(jìn)ySQL作為網(wǎng)站后臺(tái)數(shù)據(jù)庫(kù)因?yàn)檫@些更適合中小型企業(yè)的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)選擇。Oracle和DB2更適合大型企業(yè)的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)選擇。
參考文獻(xiàn):
[1]袁鵬飛.中文版SQL Server 2000數(shù)據(jù)庫(kù)系統(tǒng)管理.2001.5
[2]白海波.中文版Dreamweaver 8+ASP構(gòu)造動(dòng)態(tài)網(wǎng)站實(shí)例與操作.2007.3