毫無疑問,當(dāng)今web程序設(shè)計(jì)中最吸引人而且最復(fù)雜的當(dāng)然就是web數(shù)據(jù)庫程序了。平心而論,其復(fù)雜高深的程度決不是你們可以想象得到的。我們先來看看其中涉及到的幾個(gè)方面的問題:
1.最基本的html設(shè)計(jì)
2.cgi程序編寫調(diào)試
3.網(wǎng)絡(luò)管理和客戶協(xié)調(diào)
4.數(shù)據(jù)庫編寫
5.客戶/服務(wù)體系程序編寫
另外你還得不時(shí)地同你的客戶進(jìn)行斗爭,以取得他們對(duì)你工作的認(rèn)同。因此編寫一個(gè)大型web數(shù)據(jù)庫,是綜合素質(zhì)的考驗(yàn)。
筆者自問尚不完全具備以上的能力,但有幸曾參加過幾個(gè)web數(shù)據(jù)庫的開發(fā),算是具備了初步的經(jīng)驗(yàn)吧。這里給大家分享,也算是感謝各位對(duì)這個(gè)斷斷續(xù)續(xù)的教程的總結(jié)吧。
一 數(shù)據(jù)庫選擇
從一般情況來看,使用web數(shù)據(jù)庫往往是要解決數(shù)據(jù)的歸納、索引和維護(hù)的問題。我們一般選擇最流行的關(guān)系型數(shù)據(jù)庫,比如nt下的sql,win95和nt下的access,nt下的sybase,unix下的msql等等。當(dāng)然還有oracle、filemaker pro、paradox等等。這些都是很流行的sql數(shù)據(jù)庫。sql給數(shù)據(jù)管理提供了一個(gè)標(biāo)準(zhǔn)而堅(jiān)實(shí)的接口,它對(duì)數(shù)據(jù)庫操作餓所有函數(shù)必需在數(shù)據(jù)庫語言中實(shí)現(xiàn)。這種函數(shù)包括:數(shù)據(jù)對(duì)象的創(chuàng)建、插入數(shù)據(jù)和數(shù)據(jù)修改等。對(duì)于數(shù)據(jù)量不大的小型數(shù)據(jù)庫,一般使用access。
二 接口程序
雖然我們可以直接編寫web的cgi接口,但是那是工作量巨大且麻煩異常的工作。為了減輕開發(fā)者的負(fù)擔(dān),數(shù)據(jù)庫程序員為我們編寫了許多可以直接使用的接口程序,配合不同的數(shù)據(jù)庫。下面就是一些十分常用的接口程序:
1. db2www
http://www.software.ibm.com/data/db2/db2wfac2.html
這是一個(gè)用于和ibm db2數(shù)據(jù)庫進(jìn)行連接的工具。在http服務(wù)器中,這種工具將html文件和sql命令作為宏文件存儲(chǔ),然后,db2www在接受到瀏覽器請求后就處理這些宏文件。
2. dbcgi
http://www.progress.com/webtools.html
這個(gè)工具通過在html文件中內(nèi)置sql語句來實(shí)現(xiàn)和數(shù)據(jù)庫的連接。適用于progress,sybase,oracle,informix,ingres和odbc。下面是一個(gè)典型的dbcgi程序代碼:
這個(gè)工具通過<sql>標(biāo)簽和%轉(zhuǎn)意字符來把sql語句放置在html語句內(nèi)。
3 genera
http://gdbdoc.gdb.org/letovsky/genera/general.html
這個(gè)是sybase數(shù)據(jù)庫系統(tǒng)的網(wǎng)關(guān)。它通過在文本文件中加入特定的語句來和數(shù)據(jù)庫進(jìn)行連接。
4 webdbc
http://www.ndev.com
以windows nt為平臺(tái),可以訪問所有對(duì)odbc兼容的數(shù)據(jù)庫。
5 a-xorion
http://www.clark.net/infouser/endidc.html
他是一個(gè)cgi網(wǎng)關(guān),它可以訪問大多數(shù)的pc機(jī)數(shù)據(jù)庫。它以windows3.1/95/nt為平臺(tái)。數(shù)據(jù)庫為ms access2.0。
三 編程語言
上面介紹的是一些常用的接口程序,它們需要server的配合才能正常工作。當(dāng)然如果是很小的數(shù)據(jù)庫程序,不需要使用如此復(fù)雜的數(shù)據(jù)庫接口程序。用c,perl,vb等等,寫成cgi程序,在cgi程序內(nèi)調(diào)用數(shù)據(jù)庫。雖然速度方面不是很快,但絕對(duì)是非常簡單的。
最后的例子:
最后,我準(zhǔn)備以一個(gè)例子來結(jié)束這個(gè)教程。
環(huán)境:
這是一個(gè)非常簡單的web應(yīng)用程序。如果你要運(yùn)行這個(gè)程序,也許你得化些時(shí)間來配置自己的系統(tǒng)。在這個(gè)例子里,cgi程序由perl5來編寫,后臺(tái)數(shù)據(jù)庫使用sybase system 10,sybperl用于建立腳本和數(shù)據(jù)庫之間的通信,用其他的cgi后臺(tái)數(shù)據(jù)庫接口程序也可以。
cgi程序:
perl腳本:
print &printheader;
use sybase::dblib;
新聞熱點(diǎn)
疑難解答