第十章:一个数据库的例子
毫无疑问, 当今Web程序设计中最吸引人而且最复杂的当然就是web数据库程序了。 平心而论, 其复杂高深的程序决不是你们可以想象的到的。 我们先来看看其中涉及到的几个方面的问题: 1.最基本的html设计 2.CGI程序编写调试 3.网络管理和客户协调 4.数据库编写 5.客户/服务体系程序编写 另外你还得不时地同你的客户进行斗争, 以取得他们对你工作的认同。 因此编写一个大型WEB数据库, 是综合素质的考验。
笔者自问尚不完全具备以上的能力, 但有幸曾参加过几个web数据库的开发, 算是具备了初步的经验吧。 这里给大家分享, 也算是感谢各位对这个断断续续的教程的总结吧。
一 数据库选择 从一般情况来看, 使用web数据库往往是要解决数据的归纳、索引和维护的问题。 我们一般选择最流行的关系型数据库, 比如NT下的sql, win95和nt下的Access, NT下的sybase, unix下的msql等等。 当然还有Oracle、FileMaker
PRO、Paradox等等。 这些都是很流行的Sql数据库。 Sql给数据管理提供了一个标准而坚实的接口, 它对数据库操作饿所有函数必需在数据库语言中实现。 这种函数包括:数据对象的创建、插入数据和数据修改等。 对于数据量不大的小型数据库, 一般使用access。
二 接口程序 虽然我们可以直接编写WEB的CGI接口, 但是那是工作量巨大且麻烦异常的工作。 为了减轻开发者的负担, 数据库程序员为我们编写了许多可以直接使用的接口程序, 配合不同的数据库。 下面就是一些十分常用的接口程序:
1.
DB2WWW http://images.163.com/images/it/tppmsgs/msgs0.htm#36 这是一个用于和IBM
DB2数据库进行连接的工具。 在HTTP服务器中, 这种工具将HTML文件和SQL命令作为宏文件存储, 然后, DB2WWW在接受到浏览器请求后就处理这些宏文件。
2. dbCGI http://images.163.com/images/it/tppmsgs/msgs0.htm#37 这个工具通过在html文件中内置SQL语句来实现和数据库的连接。 适用于Progress,Sybase,Oracle,Informix,Ingres和ODBC。 下面是一个典型的dbCGI程序代码: <title>dbCGI
test</title> <sql
init> INFORMIXDIR=/usr/informixdir SQLEXEC=/usr/informix/sqlturbo TBCONFIG=tbconfig </sql> <sql
connect connl> <DATABASE=stores> <sql> <sql
format> % [!
8:<h1>%8d</h1>%] .... </sql> <sql query
connl> selet * from customer order by
date,city,zipcode </sql> <sql disconect
connl> </sql> <sql
uninit> </sql> 这个工具通过<sql>标签和%转意字符来把sql语句放置在html语句内。
3 Genera http://images.163.com/images/it/tppmsgs/msgs0.htm#38 这个是sybase数据库系统的网关。 它通过在文本文件中加入特定的语句来和数据库进行连接。
4 WebDBC http://images.163.com/images/it/tppmsgs/msgs0.htm#39 以windows
NT为平台, 可以访问所有对odbc兼容的数据库。
5 A-Xorion http://images.163.com/images/it/tppmsgs/msgs0.htm#40 他是一个CGI网关, 它可以访问大多数的PC机数据库。 它以Windows3.1/95/NT为平台。 数据库为Ms
Access2.0。
三
编程语言 上面介绍的是一些常用的接口程序, 它们需要Server的配合才能正常工作。 当然如果是很小的数据库程序, 不需要使用如此复杂的数据库接口程序。 用C,Perl,VB等等, 写成CGI程序, 在CGI程序内调用数据库。 虽然速度方面不是很快, 但绝对是非常简单的。
|