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