第 1章 Web数据库概述
本章要点,
? Web数据库的概念
? 几种常用 Web数据库的特点
? 脚本程序与数据库连接的常用方法
1.1 Web概述
? 1.1.1 Web的历史
Web的产生是与互联网的发展密切相
关的。 1965年 Ted Nelson首创了, 超文本,
术语,1967年把实现分布式的计划命名
为 Xanadu。 但该项目于 1987年才算完成,
只设计出, 一个运行于 SUN工作站上的
粗糙的工具, 。 1988年,Autodesk公司
买下了 Xanadu,Nelson继续研究该项目。
直到 1988年,才设计出 1981年的目
标。欧洲粒子物理实验室即 CERN的
Tim Berners-Lee受到 Nelson的影响提出
一项计划,目的是使科学家们很容易查
阅同行的文章,进一步演化成科学家能
在服务器上创建文档。该项目从 1990年
10月开始到 1990年 12月完成,结果出版
了命令行方式浏览器和 NeXTStep浏览
器。该浏览器可用于浏览服务器超文本
文件及 CERN的 USENET。
1992年 7月,WWW在 CERN内部
得到了广泛的使用。到了 1993年 1月全
世界共有 30台 Web服务器,并有各种浏
览器版本发行,包括用于 Macintosh和 X
Windows的客户程序。 1993年伊利诺斯
大学 Urbana-Champaign分校的国家超级
计算应用中心 NCSA( National Center
for Supercomputing Applications) 发行
了一个新的浏览器软件。从此,WWW
初具规模。
CERN的 Tim和他的小组解决了文档
的共享和链接问题,但是主要基于
NeXT服务器及工作站。由 Joe Hardin领
导的 NCSA系统开发小组开始一项旨在
开发一个不仅能处理 Tim描述的超文本,
而且还能支持其它的多种协议的 WWW
浏览器。于是在 1993年 2月发行了 X-
windows版 Mosaic 1.0。 随后,Mosaic浏
览器版本逐渐增加采用了 MIME协议在
浏览器中能直接浏览图形甚至声音。这
时 Web基本成熟,使 WWW在 Internet中
空前火爆,也如此产生了浏览器间的竞
争。
NCSA把服务器技术转让给了一家名
为 Spyglass的商业转售商,并把客户程序
交给经销商出售,随后的一段时间内出
现了几十种浏览器。 1994年 3月 Marc
Andreessen等第一批人员离开 NCSA与硅
谷的 Silicon Graphics公司的 Jim Clark成立
了 Mosaic通讯公司( 1994年 10月更名为
Netscape 通讯公司),并雇佣了许多
Mosaic,WWW,Lynx等的设计者,很
快发布了第一代浏览器产品,实现了许
多 HTML正在讨论的特性。
? 1.1.2 Web及其工作模式
Web即万维网,就是通过使用通讯设
备和线路,将处在不同地理位置、操作
上相对独立的多个计算机连接起来,再
配置一定的系统软件和应用软件,在这
些计算机上实现软硬件的资源共享和信
息传递,由此而构成的计算机网络。
互联网是由全球众多的计算机局域网
互相连接组成的一个超大规模的网络系
统,在这个系统中运行着多种应用系统,
如上网使用的网页浏览系统 —— WWW、
上传与下载用的文件传输系统 —— FTP、
收发电子邮件所使用的电子邮件系统 —
— E-Mail等。互联网中运行的每一种应
用系统都是由互联网中相应的服务器系
统、客户机系统构成,也就是说互联网
从物理连接来看是由众多的计算机组成,
而从逻辑上看是由多个功能子网组成。
前面所提到的几个应用系统即是一些
常见的子网, 其中的 WWW由联入互联
网的 Web服务器和浏览页面的客户机构
成, 这种工作模式通常称为 B/S 模式
( Browser/Server模式 ) 。 还有一种模式
为 C/S模式 ( Client/Server模式 ),它是通
过在服务器和客户机上分别安装相应的
程序, 从而达到使客户机能够与服务器
进行通讯的目的 。
客户机 /服务器的概念来源于日常生
活中常见的一种工作方式。例如,在一
个大餐馆中,顾客向服务员点菜,服务
员把顾客的要求通知给厨房的厨师,厨
师按顾客的要求做好菜让服务员端给顾
客,这就是一种餐馆的 C/S工作方式。餐
馆中的服务员和厨师进行了分工:服务
员直接面向顾客,了解顾客的要求并向
顾客提供最终服务;厨师看不到食客,
但具体运作食客提交的任务。
如果把餐馆看成一个系统,则服务员
与厨师的分工就是一种系统的分工,C/S
工作方式就是一种系统分工、协同的工
作方式。招待员与厨师的分工关系是一
种系统的结构关系,所以 C/S实际上也是
一种系统结构模式。
在浏览网页时,服务器上的 WWW服
务允许你用鼠标点击, 超级链接, (简
言之,就是使鼠标光标变成手形的文本
词句或图形),每次你点击一项,
WWW程序就执行所要求的任务,一直
到你的需要得到满足。
在这一过程中,要涉及两个不同的程
序:一个程序安装在客户机上,它执行
你的鼠标点击,发出 http请求,接到响应
后,立即显示链接的网页内容,确保你
的要求得到执行,这个程序叫做 WWW
客户机程序,比如上网所使用的浏览器
( IE或 Netscape); 另一个程序在服务器
上,如 IIS或, 阿帕奇, ( Apache) Web
服务器软件,它对 WWW客户机所要求
的一切进行满足,也就是接到 http请求后,
发出响应。
1.2 Web数据库
?1.2.1 Web数据库的概念
数据库是指按照一定的结构和规则
组织起来的相关数据的集合,是存放数
据的, 仓库,,据此将网络数据库定义
为以后台数据库为基础的,加上一定的
前台程序,通过浏览器完成数据存储、
查询等操作的系统。
数据库技术是计算机处理与存储数据
的最有效, 最成功的技术, 而计算机网
络的特点是资源共享, 因此数据与资源
共享这两种技术的结合即成为今天广泛
应用的 Web数据库 ( 也叫网络数据库 ) 。
一个 Web数据库就是用户利用浏览器
作为输入接口, 输入所需要的数据, 浏
览器将这些数据传送给网站, 而网站再
对这些数据进行处理, 例如, 将数据存
入后台数据库, 或者对后台数据库进行
查询操作等,最后网站将操作结果传回给
浏览器,通过浏览器将结果告知用户 。 网
站上的网站上的后台数据库就是 Web数据
库。
通常,Web数据库的环境由硬件元素
和软件元素组成。硬件元素包括 Web服
务器、客户机、数据库服务器、网络。
软件元素包括客户端必须有能够解释执
行 HTML代码的浏览器 (如 IE,Netscape
等 );在 Web服务器中,必须具有能执行
可以自动生成 HTML代码的程序的功能,
如 ASP,CGI等;具有能自动完成数据操
作指令的数据库系统,如 Access,SQL
Server等。
? 1.2.2 WWW网络环境下 Web数据库
由于 Web的易用性、实用性,它很快
占据了主导地位,已经成为使用最为广
泛、最有前途、最有魅力的信息传播技
术。不过,Web服务只是提供了 Internet
上信息交互的平台。随着 Internet技术的
兴起与发展和 Web技术的蓬勃发展,人
们已不满足于只在 Web浏览器上获取静
态的信息,人们需要通过它发表意见、
查询数据,甚至进行网上购物,这就迫切
需要实现真正的 Internet,
Web与数据库的互连,将人、企业、
社会与 Internet融为一体。 Web技术发展
到今天,人们已经可以把数据库技术引
入到 Web系统中。数据库技术发展比较
成熟,特别适用于对大量的数据进行组
织管理,Web技术具有较佳的信息发布
途径,这两种技术的天然互补性决定相
互融合是其发展的必然趋势。将 Web技
术与数据库技术融合在一起,使数据库
系统成为 Web的重要有机组成部分,不
仅可以把二者的所有优点集中在一起,
而且能够充分利用大量已有的数据库信
息资源,使用户在 Web浏览器上方便地
检索和浏览数据库的内容,这对许多软
件开发者来说具有极大的吸引力。因此,
将 Web技术与数据库相结合,开发动态
的 Web数据库应用已成为当今 Web技术研
究的热点。
关系数据库最初设计为基于主机 /终
端方式的大型机上的应用,其应用范围
较为有限,随着客户机 /服务器方式的流
行和应用向客户机方向的分解,关系数
据库又经历了客户机 /服务器时代,并获
得了极大的发展。
随着 Internet应用的普及,由于
Internet上信息资源的复杂性和不规范性,
关系数据库初期在开发各种网上应用时
显得力不从心,表现在无法管理各种网
上的复杂的文档型和多媒体型数据资源,
后来关系数据库对于这些需求作出了一
些适应性调整,如增加数据库的面向对
象成分以增加处理多种复杂数据类型的
能力,增加各种中间件(主要包括 CGI、
ISAPI,ODBC,JDBC,ASP等技术)以
扩展基于 Internet的应用能力,通过应用
服务器解释执行各种 HTML中嵌入脚本
来解决 Internet应用中数据库数据的显示、
维护、输出以及到 HTML的格式转换等。
此时关系数据库的基于 Internet应用的模
式典型表现为一种三层或四层的多层结
构。在这种多层结构体系下,关系数据
库解决了数据库的 Internet应用的方法问
题,使得基于关系数据库能够开发各种
网上数据库数据的发布、检索、维护、
数据管理等一般性应用。
但是关系数据库从设计之初并没有也
不可能考虑到以 http为基础,HTML为文
件格式的互联网的需求,只是在互联网
出现后才作出相应的调整。
同时,关系数据库的基于中间件的解决
方案又给 Internet应用带来了新的网络瓶
颈,应用服务器端由于与数据库频繁交
互,因其本身的效率和数据库检索的效
率造成 Internet应用在应用服务器端的阻
塞。
虽然关系型数据库具有完备的理论基
础、简洁的数据模型、透明的查询语言
和方便的操作方法等优点,但是由于它
本身并没有针对网络的特点和要求进行
设计,因此并不适用于网络环境,我们
应该研究开发新的数据库技术,
从开始就考虑到 Web的信息和结构特点,
使数据库真正能与 Web融合为一体,充
分利用二者的特点,建立合理的 Web数
据库。
那么,为什么使用网络数据库呢?简
言之,因为人们在网络数据库中可以找
到他们需要的东西,包括期刊查询,检
查银行帐户、股票价格、利率、实现电
子商务等等。这些功能是用 HTML编写
的网页是无法做到的,因为用 HTML无
法完成交互功能,要做到这些,必须使
用网络数据库技术。
Web数据库可以实现方便廉价的资源共享。
数据信息是资源的主体,因而网络数据
库技术自然而然成为互联网的核心技术。
?1.2.3 几种常用 Web数据库的比较
当前比较流行的 Web数据库主要有:
SQL Server,MySQL和 Oracle。 这 3种数
据库适应性强,性能优异,容易使用,
在国内得到了广泛的应用
1,SQL Server 是微软公司从 Sysbase
获得基本部件的使用许可后开发出的一
种关系型数据库。目前最新的版本是
SQL Server 2000,但 SQL Server 7.0仍在
广泛使用。
由于均出自微软之手,使得 SQL
Server和 Windows,IIS等产品有着天然的
联系。事实上以 Windows为核心的几乎
所有微软的软件产品都采用了一致的开
发策略,包括界面技术、面向对象技术、
组件技术等,这样在微软的软件中很多
都可以相互调用,而且配合得非常密切。
因此如果用户使用的是 Windows操作系
统,那么 IIS,SQL Server就应该是最佳
的选择。
2,MySQL 是当今 Unix或 Linux类服务器
上广泛使用的 Web数据库系统。它于
1996年诞生于瑞典的 TcX公司,支持大部
分的操作系统平台。 MySQL的设计思想
快捷、高效、实用。虽然它对 ANSI SQL
标准的支持并不完善,但支持所有常用
的内容,完全可以胜任一般 Web数据库
的工作。由于它不支持事务处理,
MySQL的速度比一些商业数据库快 2~ 3
倍,并且 MySQL还针对很多操作平台做
了优化,完全支持多 CPU系统的多线程
方式。
在编程方面, MySQL也提供了 C,C++、
Java,Perl,Python和 TCL等 API接口, 而
且有 MyODBC 接口, 任何可以使用
ODBC接口的语言都可以使用它 。 更重要
的是, MySQL的源代码是公开的, 可以
免费使用, 这就使得 MySQL成为许多中
小型网站, 个人网站追捧的明星 。
3,Oracle 是 Oracle公司开发出的一种面
向网络计算机并支持对象关系模型的数
据库产品 。 它是以高级结构化查询语言
为基础的大型关系数据库, 是目前最
流行的客户 /服务器体系机构的数据库之
一 。 目前广泛使用的版本是 Oracle 8i,它
之所以备受用户喜爱是因为它具有以下
突出的特点,
( 1) 支持大型数据库, 多用户和高性
能的事务处理 。 Oracle支持最大数据库,
其大小可达到几百千兆, 可充分利用硬
件设备;支持大量用户同时对数据库执
行各种数据操作, 并使数据征用最小,
保证数据一致性;系统维护具有很高的
性能, Oracle每天可连续 24小时工作,
正常的系统操作(后备或个别系统故障)
不会中断数据库的应用;可在数据库级
或子数据库级上控制数据的可用性。
( 2) Oracle 遵守数据库存取语言、操
作系统、用户接口、和网络通讯协议的
工业标准,所以它是一个开放系统,保
护了用户的投资。美国标准化和技术研
究所( NIST) 对 Oracle Server进行过检
验,完全与 ANSI/ISO SQL89标准相兼容
( 3)实施安全性控制和完整性控制。
Oracle为限制系统对各监控数据库存取
提供可靠的安全性,并为可接受的数据
指定标准,保证数据的完整性。
( 4)支持分布式数据库和分布式处理。
Oracle为了充分利用计算机系统和网络,
允许将处理分为数据库服务器和客户应
用程序处理,所有共享的数据管理由数
据库管理系统的计算机处理,而运行数
据库应用的工作站集中于解释和显示数
据。通过网络连接环境,Oracle将存放在
多台计算机上的数据组合成一个逻辑数
据库,可被全部网络用户存取。分布式
系统像集中式数据库一样具有透明性和
数据一致性。
上面介绍的 3种数据库产品是目前最
常用的 3种大型关系数据库系统,它们虽
然在体系结构和操作方法上有许多相似
的地方,但是在应用环境上还是各有侧
重的。一个应用系统在选用数据库时,
性能和价格时首先要考虑的两个因素,
表 1-1列出了这 3种数据库在性能和价格
上的对比情况,在使用时不同的系统应
针对实际情况采用合适的方案。
表 1-1 3种数据库的性价比
数据库系

MySQL SQL Server Oracle
数据库费
用 全免费 费用按连接计算,费用较高 按计算机主频计 算,费用较高
操作系统
及费用 Linux免费 NT,价格较高
Linux全免费;
windowsNT、
Solaris价格较

速度 较快 快 最快
容量 较大 较大 大
备份、恢
复 较好 好 最好
从用户的技术水平以及国内软件应用
的现状来看, SQL Sever应该是一个较好
的选择, 尤其是对初学者而言 。
?1.2.4 Web服务器脚本
Web页面与数据库地连接是 Web数据
库的基本要求。目前基于 Web数据库地
连接方案主要有两种类型:服务器端和
客户端方案。服务器端方案实现技术有
CGI,SAPI,ASP,PHP等;客户端方案
实现技术有 JDBC( Java Database
Connectivity),DHTML(Dynamic HTML)
等。其中 ASP是微软开发的脚本语言技
术,它嵌入在 IIS中,因此 ASP也就顺理
成章地成为大部分 Windows用户首选的
脚本语言。
1.3 脚本程序与数据库的接口
在脚本程序中连接数据库一般都需要
相应的接口来完成。连接数据库的常用
方法有,ODBC,DAO,RDO及 ADO等。
( 1) ODBC ODBC( Open
Database Connectivity,即开发式数据库
连接)是微软开发的一套统一的程序接
口。通过这个接口可以存取不同厂商生
产的数据库。
经过多年的改进, 它已成为存取服务数
据库的标准 。 事实上, ODBC技术成了后
来 DAO,RDO及 ADO等数据库访问技术
的基础 。
( 2) DAO DAO( Data Access Objects,
即服务器访问对象 ) 是微软公司开发的
一套主要应用程序及开发工具, 用它可
以访问数据库的标准对象, 如 Access、
VB,Excel,Word等 。
( 3) RDO RDO( Remote Data Objects,
即远程数据库访问对象 ) 是微软公司为
增强 DAO的功能而推出的新产品 。
该产品强化了 SQL Server的访问功能,
提高了它的执行效率。
( 4) ADO ADO( ActivteX Data
Objects,即 ActivteX数据对象)是微软
在 Internet领域采取的新举措。它本身
并不是一项新技术,从对象结构的角度
来看,它比 DAO提供的对象更少;从存取
SQL服务器的角度来看,它提供的功能也
不如 RDO。 但它汲取了 DAO和 RDO最精华的
部分,成为一个更适合于 Internet的小
而精的对象群。因此,ADO实际上是脚本
程序连接数据库最好的选择。
1.4 应用开发平台
由于 Web应用开发的独特性,应用开
发平台成为众多厂商的关注焦点。目前
市场上存在很多的 Web应用标准、集成
开发环境。流行的主要是 ASP,PHP、
JSP三种。
( 1) ASP
ASP(Activex Server Pages)是由微软创建
的 Web应用开发标准,ASP服务器已经包
含在 IIS服务器中,ASP服务器将 Web请
求转入解释器中,在解释器中将所有
ASP中的脚本进行分析, 然后执行, 同时
可以创建 COM对象以完成更多的功能,
ASP中的脚本是 Vbscript。
优点:安装配置方便, 开发简单易学;
开发工具功能强大 。
不足,ASP使用了组件因而将导致大量的
安全问题;无法实现跨平台, 只能应用
于 Windows NT/2000。
建议采用 MS架构的网站采用 ASP应用开
发平台 (IIS+ Visual Interdev)。
( 2) PHP
PHP由于其良好的性能及免费的特点,
是目前互联网中应用非常流行的一种应
用开发平台 。
优点:简单易学, 跨平台, 有良好数据
库交换能力的开发语言;与 Apache及其
扩展库紧密结合;良好的安全性 。
不足:安装配置复杂;缺少企业级的支
持;作为自由软件, 缺乏正规的商业支
持;无法实现商品化的商业开发 。
建议基于 Unix 类平台的应用采用
Apache+ Php+ PHPEd。
( 3) JSP
优点:可移植性好, 支持多种平台;强
大的可伸缩性;多样化与强大的工具支
持 。
不足:安装配置管理较为复杂;运行速
度较慢;建议开发大型应用系统采用 JSP
本书重点讲解 ASP的开发技术, 其它
开发技术请参考有关书籍 。
本 章 小 结
本章主要介绍了 Web数据库的概念,
分析与比较了几种常用的 Web数据库的
功能及特点,对脚本程序与数据库的接
口技术也进行了简要的介绍。通过本章
的学习,读者对 Web数据库有了初步的
了解。
习 题
1,简述使用 Web数据库的原因 。
2,试对 SQL Server,MySQL和 Oracle三
种数据库进行比较 。
3,脚本程序与数据库连接的常用方法有
几种? 各自的特点是什么?
答 案 要 点
1,用 HTML无法完成交互功能, 实现信
息的查询, 必须有网络数据库做支持,
才能使人们在网络数据库中可以找到他
们需要的东西, 包括期刊查询, 检查银
行帐户, 股票价格, 利率, 实现电子商
务等等 。 Web数据库可以实现方便廉价
的资源共享 。
2,见表 1-1。
3,要点,
( 1) ASP由微软创建的 Web应用开发标
准, 包含在 IIS服务器中, ASP服务器将
Web请求转入解释器中, 在解释器中将
所有 ASP的脚本进行分析, 然后执行,
同时可以创建 COM对象以完成更多的功
能, ASP中的脚本是 Vbscript。
优点:安装配置方便, 开发简单易学;
开发工具功能强大 。
不足,ASP使用了组件因而将导致大量
的安全问题;无法实现跨平台, 只能应
用于 Windows NT/2000。
建议采用微软架构的网站采用 ASP应用
开发平台 (IIS+ Visual Interdev)。
( 2) PHP
PHP由于其良好的性能及免费的特点,
是目前互联网中应用非常流行的一种应
用开发平台 。
优点:简单易学, 跨平台, 有良好数据
库交换能力的开发语言;与 Apache及其
扩展库紧密结合;良好的安全性 。
不足:安装配置复杂;缺少企业级的支
持;作为自由软件, 缺乏正规的商业支
持;无法实现商品化的商业开发 。
建议基于 Unix类平台的应用采用 Apache
+ Php+ PHPEd。
( 3) JSP
优点:可移植性好, 支持多种平台;强
大的可伸缩性;多样化与强大的工具支
持 。
不足:安装配置管理较为复杂;运行速
度较慢;建议开发大型应用系统采用 JSP。