第 1章 网络数据库应用系统概述
本章主要讲解:
F/S,C/S,B/S三种网络数据库应用系统模式
CGI,API与 PHP技术要点,ASP技术特征与工作原理
ODBC技术以及配置方法
DBMS概念、数据库设计方法
网上商店实例功能与数据库设计参数
1.1 网络数据库应用系统模式
建立计算机网络的主要目的是实现资源共享和计算机
之间的通信。资源共享包括硬件资源共享、软件资
源共享、数据资源共享和通信信道资源共享。其中,
如何有效实现数据资源共享是数据库应用系统的重
要功能之一。
1.1.1 文件 /服务器模式( F/S模式,
File Server Model)
1,文件服务器模型
以 Novell Netware局域网操作系统为代表是文件服务器模型
的典型。它以一台或几台服务器作为共享资源的主体,在文
件服务器中提供高速存取的大容量磁盘,用于存放网络中各
个客户端共享的文件和目录,包括各种应用程序和数据库。
工作站根据所拥有的权限使用程序、访问数据库。作为客户
端的工作站上不安装应用程序,属于一种零客户端方案。
1.1.1 文件 /服务器模式( F/S模式,
File Server Model)
2.工作组模型
在工作组模型中,某个拥有特权的系统管理员创建一个用户
工作组,并赋予组中的成员以对等( Pear to Pear) 方式工
作。工作组中的每一台计算机既可作为服务器,又可作为工
作站。每台计算机具有自己的帐户,并管理着自己所属的共
享资源。
1.1.1 文件 /服务器模式( F/S模式,
File Server Model)
3.域模型
利用域模型可以实现对网络的集中管理。域模型是一种安全、
高效的网络使用模型,能够构成性能良好的、基于局域网络
的数据库应用系统。
1.1.2 客户 /服务器模式( C/S模式,
Client/Server Model)
客户 /服务器模式提出了一种新的资源共享方式 。 即, 将不同
的应用程序安装在不同的工作站上, 形成客户端 。 客户端
运行本地程序, 访问储存在服务器端的数据库, 获取数据
资源, 完成相关处理后回写至数据库中 。 这就形成了客户 /
服务器模式的基本运行机理 。
根据客户 /服务器构架方式,可以将其分为:二层 C/S模式和
三层 C/S模式。
1.1.2 客户 /服务器模式( C/S模式,
Client/Server Model)
1,二层 C/S模式
二层 C/S模式把数据处理任务分配给客户机 ( Client) 和数据
库服务器 ( Data Base Server) 共同承担 。 数据库服务器安
装 数 据库 管 理系 统 ( DBMS,Data Base Management
System), 承担数据库数据管理, 响应客户机请求并根据请
求完成数据操作;客户机安装应用程序, 承担客户程序运行,
数据的处理和输入 /输出操作 。
1.1.2 客户 /服务器模式( C/S模式,
Client/Server Model)
2.三层 C/S模式
在三层 C/S模式结构中,客户机驻留用户界面层(也称为表示层)软件负责用户
与应用层之间的对话任务。功能服务器存放业务逻辑层(也称为功能层)软
件,响应客户机请求,完成业务处理或复杂计算。在出现数据库访问任务时,
根据客户机的要求向数据库服务器发出 SQL指令。数据库服务器存放数据库
服务层(也称为数据层)软件,用来执行功能层送来的 SQL指令,实现对数
据库的读、写、删、改及查询等操作,操作完成后通过功能服务器向客户机
返回操作结果。
1.1.3 浏览器 /服务器模式( B/S模式,
Browser/Server Model)
基于 B/S模式的数据库应用系统通常采用三层结构:
,浏览器 ——Web服务器 ——数据库服务器, 。
在 B/S模式结构中,客户机驻留的用户界面层软件为浏
览器,用户通过浏览器的表单( Form) 等形式向 Web
服务器发送 HTTP协议方式的请求。
1.2 Web数据库技术
随着 Internet/Intranet技术的普及和发展,客户 /服
务器结构的数据库应用系统正由 2层向 3层或多层发
展。如果客户端仅需浏览器软件,中间层提供 Web服
务,后台提供数据库服务,即形成了 Web数据库应用
系统结构。
1.2.1 三层结构
Web数据库应用系统采用 3层的客户 /服务器结构:第一层为客
户层, 通常安装浏览器软件;第二层为中间层, 需要配置相
应的 Web服务器以及相关技术支撑软件;第三层为数据库层,
必须配备相应的数据库服务器和数据库管理系统 。
从技术发展角度看, 最经典的数据库访问技术是 CGI( Common
Gateway Interface), 随后出现了服务器 API( Application
Programming Interface) 技术, 近来流行的是 ASP( Active
Server Pages) 技术和 PHP( Hypertext Preprocessor) 技
术 。。
1.2.2 CGI技术
CGI是 Web服务器与外部扩展程序交互的一个标准接口 。
按 CGI标准编写的外部扩展程序可以处理客户端 ( 一般
是 Web浏览器 ) 输入的协同工作数据, 完成客户端与服
务器的交互操作 。 服务器并不关心外部扩展程序用什
么语言 ( 如 C,C+, Perl,Delphi 或 Visual
Basic等 ) 编写, 它只是负责接收用户的输入信息, 并
把 CGI程序所产生的结果 ( HTML文档或其他符合 HTTP
规定的文件 ) 回传给用户 。
1.2.3 API技术
API以动态链接库( DLL) 的形式提供,是驻留在 Web服务器上
的本机代码,作用类似于 CGI,可起到扩展 Web服务器功能
的作用。目前流行的服务器 API有 Microsoft的 ISAPI
( Internet Server API),Netscape的 NSAPI( Netscape
Server API) 和 O’Reilly的 WSAPI( WebSite API)。 各种
服务器 API均与相应的 Web服务器紧密联系在一起,程序员
可利用服务器 API来开发 Web服务器与数据库服务器的接口
程序。
1.2.4 PHP技术
PHP是一个递归的首字母缩写词,代表 PHP:
Hypertext Preprocessor( PHP,超文本预处理
器)。 PHP是一种脚本编程语言,通常嵌入或结合
HTML使用。对于开发三层结构的 Web数据库应用系
统,PHP是开发中间层中的应用逻辑一个理想的工
具。
1.2.5 ASP技术
ASP属于 ActiveX技术中的服务器端技术, 与通常在客户端实
现动态页面的技术 ( 如 Java Applet和 ActiveX控件等 ) 不
同 。 ASP中的命令和脚本均在服务器端解释执行, 执行后
的结果产生 HTML页面并送给浏览器 。 由于脚本在服务器端
执行, 因而开发者不必担心浏览器是否能够执行脚本 。 同
时, 由于只是将 HTML页面送到浏览器, 在浏览器上看不到
ASP源代码, 系统安全的到了保证 。
1.2.5 ASP技术
ASP 访 问 数 据 库 通 过
ADO( ActiveX Data
Object) 实现, ADO 是
Microsoft推出的一项数据
访问技术 。 使用 ADO可以
编写紧凑简明的脚本, 以
连接到与 OLE DB兼容的数
据源, 如数据库, 电子表
格, 顺序数据文件或电子
邮件目录等 。 另外, 还可
使用 ADO访问与 ODBC兼
容的数据库 。
ASP的工作流程如图 。
1.3 网络数据库访问接口技术
JDBC是 Java的开发者 ——Sun的 Javasoft公司制定的 Java数
据库连接 (JavaDataBaseConnectivity)技术的简称,
ODBC( Open Database Connectivity,开放数据库互连 ) 是
微 软 公 司 开 放 服 务 结 构 ( WOSA,
Windows Open Services Architecture) 中有关数据库的
一个组成部分, 它建立了一组规范, 并提供了一组对数据
库访问的标准 API( 应用程序编程接口 ) 。
1.3.1 JDBC技术简介
1,JDBC结构
JDBC有一个非常独特的动态连接结构, 它使得系统模块化 。 使用
JDBC来完成对数据库的访问包括以下四个主要组件,Java的应
用程序, JDBC驱动器管理器, 驱动器和数据源 。
1.3.2 ODBC技术基础
基于 ODBC的应用程序对数据库的操作不依赖任何
DBMS,不直接与 DBMS打交道, 所有的数据库操作由对
应的 DBMS的 ODBC驱动程序完成 。 也就是说, 不论是
FoxPro,Access还是 Oracle,MS SQL Server数据库,
均可用 ODBC API进行访问 。 由此可见, ODBC的最大优
点是能以统一的方式处理所有的数据库 。
一个完整的 ODBC应用由下列几个部件组成:
1.3.3 ODBC配置方法
1,针对 Access数据库配置 ODBC
假定网上商店数据库 data.mdb存放与 d:\shooping\whpuau\db
目录下 。 可以单击 【 开始 】 -【 程序 】 -【 管理工具 】 -【 数
据源 ( ODBC)】 进入 ODBC数据源管理器, 如图所示 。
根据网上商店应用的需要, 可以注册系统 DSN。 为此, 应该单
击, 系统 DSN”选项卡, 然后单击, 添加, 命令按钮进入创建
新数据源对话框, 如图所示 。
在创建新数据源对话框中,应该选择 Microsoft Access
Driver ( *.mdb),然后单击, 完成, 命令按钮进入
ODBC Microsoft Access安装对话框,如图所示。
1.3.3 ODBC配置方法
2,针对 SQL Server数据库配置 ODBC
设网上商店数据库名为 shopping,为 MS SQL Server数据库,
可以通过以下步骤完成网上商店数据库的 ODBC配置操作 。
进入 ODBC数据源管理器后, 选中, 系统 DSN”选项卡, 然后单
击, 添加, 命令按钮, 进入创建新数据源对话框 。 然后,
应该选择 SQL Server选项, 如图所示 。
2.针对 SQL Server数据库配置 ODBC
2.针对 SQL Server数据库配置 ODBC
完成在新数据源对话框中选择 SQL Server选项后, 单击, 完成, 命令按钮, 即可进入
,建立新的数据源到 SQL Server”对话框 1。 在这个对话框中, 需要为数据源命名,
可以命名为, DBQ”。 还需要指定服务器, 本例可以选择, Local”。 设定结果如图所
示 。
2.针对 SQL Server数据库配置 ODBC
在, 建立新的数据源到 SQL Server”对话框 1中完成设置后, 单击, 下一步, 命令按钮,
即可进入, 建立新的数据源到 SQL Server”对话框 2。 在这个对话框中, 可以设定
,使用用户输入登录 ID和密码的 SQL Server验证,,, 连接 SQL Server以获得其它
配置选项的默认设置,, 并键入登录 ID和密码 。 设定结果如图所示 。
2.针对 SQL Server数据库配置 ODBC
在, 建立新的数据源到 SQL Server”对话框 2中完成设置后, 单击, 下一步, 命令
按钮, 即可进入, 建立新的数据源到 SQL Server”对话框 3。 在这个对话框中,
可以设定, 改变默认的数据库为 shooping”,“使用 ANSI引用的标识符, 和
,使用 ANSI的空值, 填充和警告, 。 设定结果如图所示 。
2.针对 SQL Server数据库配置 ODBC
在, 建立新的数据源到 SQL
Server”对话框 3中完成设置
后, 单击, 下一步, 命令按
钮, 即可进入, 建立新的数
据源到 SQL Server”对话框 4。
在这个对话框中, 可以不做
任何改变, 直接单击, 完成,
命 令 按 钮,”, 进入
,ODBC Microsoft SQL
Server安装, 对话框, 如图
所示 。
1.4 数据库管理系统
在数据库技术领域, 经典的数据模型有三种 。 它们分别是:层次数据模
型, 采用树型结构描述数据实体间的关联;网状数据模型, 采用网
状结构描述数据实体间的关联;关系数据模型, 采用二维表结构描
述数据实体间的关联 。
在这三种经典的数据模型中, 关系数据模型具有较高的数据独立性和较
严格的数学理论基础, 并且具有结构简单和提供非过程性语言等优
点, 因而得到了广泛的应用 。 采用关系数据模型构造的数据库系统,
被 称 为 关 系 数 据 库 管 理 系 统 ( RDBMS,Relation Data Base
Management System) 。
1.4.1 关系数据库管理系统概述
在关系型数据库中, 数据元素是最基本的数据单元 。 可以将
若干个数据元素组成数据元组, 若干个相同的数据元组即
组成一个数据表 ( 即关系 ), 而所有相互关联的数据表则
可以组成一个数据库 。 这样的数据库集合即被称为基于关
系模型的数据库系统 。
1.基本术语
( 1) 数据元素
数据元素存放于字段 ( Field) 中, 一个数据表中的每一个
字段均具有一个唯一的名字 ( 称为字段名 ) 。 一个字段也
就是数据表中的一列 。 根据面向对象的观点, 字段是数据
表容器对象中的子对象, 并具有一些相关的属性 。 可以为
这些字段属性设定不同的取值, 来实现应用中的不同需要 。
字段的基本属性有:字段名称, 数据类型, 字段大小, 等
等 。
1.基本术语
( 2) 数据元组
数据元组也称为记录 ( Record), 一个记录构成数据表中的
一行 。 一个数据表中的每一个记录均具有一个唯一的编号,
被称为记录号 。 一个记录应该具有一个主关键字, 主关键
字是一个字段或若干字段的集合 。
1.基本术语
( 3) 数据表
具有相同字段的所有记录的集合称为数据表, 也称为关系 。
一个数据库中的每一个数据表均具有一个唯一的名字, 被
称为数据表名 。 数据表是数据库中的子对象, 也具有一系
列的属性 。 同样可以为数据表属性设置不同的属性值, 来
满足实际应用中的不同需要 。
1.基本术语
( 4) 数据库
数据库的传统定义是以一定的组织方式存储的一组相关数据
项的集合, 主要表现为数据表的集合 。 但是, 随着数据库
技术的发展, 现代数据库已不再仅仅是数据的集合, 而且
还应包括针对数据进行各种基本操作的对象的集合 。 这些
基本操作的对象包括, 查询对象, 存储过程, 等等 。
2.关系运算
关系运算是针对关系数据库数据进行的操作运算, 既可以
针对关系中的记录实施, 也可以针对关系中的字段实施,
还可以针对若干个关系实施 。 基本的关系运算包括选择运
算, 投影运算和连接运算三种 。
2.关系运算
( 1) 选择运算
选择运算是从指定的关系中选取满足给定条件的若干元组以
构成一个新关系的运算, 其关系运算式为:
SELECT关系名 WHERE条件
其中, 条件是由常数, 字段名及其通过相应的比较运算符和
逻辑运算符连接形成逻辑运算式组成的 。
2.关系运算
( 2) 投影运算
投影运算是从指定的关系中选取指定的若干字段从而构成一
个新关系的运算, 其关系运算式为:
PROJECT 关系名 ( 字段名 1,字段名 2,……, 字段名 n)
2.关系运算
( 3) 连接运算
连接运算是选取若干个指定关系中的字段满足给定条件的元
组从左至右连接, 从而构成一个新关系的运算, 其关系运
算式为:
JION 关系名 1 AND 关系名 2 …… AND关系名 n WHERE 条

其中, 条件是由常数, 字段名及其通过相应的比较运算符和
逻辑运算符连接形成逻辑运算式组成的 。
3.结构化查询语言 SQL
根据 ANSI SQL92标准, SQL语句按其功能的不同可以分为以下
六大类:
① 数据定义语句 ( DDL,Data-DefinitionLanguage) ;
② 数据操作语句 ( DML,Data-ManipulationLanguage) ;
③ 操作管理语句 ( TML,Transaction-ManagementLanguage) ;
④ 数据控制语句 ( DCL,Data-ControlLanguage) ;
⑤ 数据查询语句 ( DQL,Data-QueryLanguage) ;
⑥ 游标控制语句 ( CCL,Cursor-Control Language) 。
1.4.2 Access数据库管理系统
1,创建 Access数据库
Access数据库采用特有的全环绕数据库文件结构组成数据库文
件( MDB文件),以一个单独的 MDB文件存储一个数据库应用
系统中包含的所有对象。
首先,顺序单击【开始】 |【程序】 |【 Microsoft Access】,启
动 Access运行。在对话框中,选定, 空 Access数据库, 单选框,
然后单击, 确定, 命令按钮,即可进入, 文件新建数据库, 对
话框,如图所示。
1.创建 Access数据库
完成上述三项选择后, 单击, 创建, 按钮, 即出现空 Access数据库的设计视图
窗口 。 在这个窗口中显示的是上面指定名称的数据库容器对象, 如图所示:
2.设计 Access数据表
在数据库设计视图中, 选择, 表, 对象卡, 然后单击, 新建,
按钮, 即出现, 新建表, 对话框, 如图所示 。
在, 新建表, 对话框, Access提供五种创建新表的不同方法 。
此处, 应该选择使用, 设计视图, 创建数据表 。
2.设计 Access数据表
在数据表设计视图所提供的表格中, 通过逐栏地填写数据表对象的各个字
段对象及其子对象的相关属性值, 来完成创建或者设计数据表对象结构的
操作 。 请参见图示各项属性值 。
3.在 Access数据表填写数据
数据表视图形式如图所示, 请参见图中所示数据示意 。
1.4.3 Ms SQL Server数据库管理系统
SQL Server使用客户机 /服务器体系结构, 将所有的工
作负荷分解成在服务器上的任务和在客户机上的任务 。
客户机应用程序负责商业逻辑和向用户提供数据, 一般
运行在一个或多个客户机上, 但也可以运行在服务器上 。
服务器管理数据库和分配可用的服务器资源, 如内存,
网络带宽和磁盘操作 。 客户机应用程序界面允许应用程
序在单独的客户机上运行, 并且通过网络与服务器进行
通信 。
1.创建 SQL Server数据库
首先, 顺序单击 【 开始 】 |【 程序 】 |【 Microsoft SQL
Server】 |【 Enterprise Manager】, 启动 SQL Server
的企业级管理器 。 在如图所示的 SQL Server管理器中,
选定, 数据库 ( Databases),选项 。 如图所示 。
1.创建 SQL Server数据库
接着, 在, 数据库
( Databases),
选项上右键单
击后弹出的快
捷菜单上, 选
择, New
Database”菜单
选项, 即可进
入, Database
Properties”对
话框, 如图所
示 。
2.设计 SQL Server数据表
为了设计 SQL Server数据表, 需要在图所示的 SQL Server管理器窗口展开新建
的, shopping”数据库图标 。 接着, 在, 数据表 ( tables),选项上单击右
键, 即可弹出的快捷菜单 。 如图所示 。
2.设计 SQL Server数据表
接着,在, 数据表( tables),选项上单击右键,在弹出的快捷菜
单上选择, New tables”菜单选项,即可进入 SQL Server数
据表设计视图。
1.5 网络数据库应用系统实例 ——网上商店
网上商店是一种典型的网络数据库应用系
统,本书将以一个简要的网上商店功能
实现作为实例,逐步地介绍构建网上商
店所需要的基本 ASP技术 。
1.5.1 网上商店功能分析
? 网上商店是一种开设在 Internet上的商店,它允许
任何一个 Internet用户浏览商品,也允许需要购买
商品的 Internet用户注册成为商店的顾客。同时,
商店的顾客能够选购商品,并等待商店员工送货上
门。
? 对于商店经营者,他必须能够将商店所能提供的商
品信息发布于网络上,并能够接受商店顾客的选购。
? 对于商店管理者,他需要经常查阅商店的经营状况,
包括各类商品库存与销售信息、商店顾客注册与购
物行为信息、商店经营者行为信息。
1,Internet用户浏览功能
为了使得任意 Internet用户能够进入商店,网上商店网站应该设
置商店主页。这个商店主页不需注册或登录即可被访问。
2.商店顾客注册与登录功能
? 注册功能是为了使 Internet浏览者能够注
册成为商店顾客。当一个 Internet浏览者
有兴趣成为本网上商店顾客时,他可以
分别在, 用户名, 文本框, 密码, 文本
框中输入自己设定的字符串,然后单击
,注册, 按钮进入顾客信息表填写个人
信息。此时,将链接至填写个人信息页
面,可以参考图所示。
2.商店顾客注册与登录功能
3.顾客购物功能
? 网上商店前端的主要功能是允许顾客购物, 为
此, 必须为顾客提供商品分类清晰, 操作便利
的 Web页面 。 可以参考图所示页面进行设计 。
? 顾客购物功能页面设计要点是,必须分类提供
商品名称、编号与销售价格,允许顾客选中商
品后提交。为此,在逐一标明各个商品的位置
上,必须安置, 购买, 或, 放入购物车, 按钮。
一旦顾客在点击这个按钮,即标明他购买了这
个商品。此时,提交数据接受页面将在服务器
端运行,将接受的数据写入数据库中。
3.顾客购物功能
4.日常经营功能
? 网上商店的日常经营功能页面为后端页面, 只
有商店经营者方能登录进入 。 在图所示的网上
商店主页面上, 为经营者设置了登录进入的超
级链接, 进入管理, 。
? 日常经营主要包括:查看订单, 搜索订单, 确
定送货地点, 标注已送货订单, 标注顾客退货
订单, 等等 。 所有这些操作, 将都会修改数据
库中的相应数据 。
4.日常经营功能
5.商店管理功能
? 网上商店管理功能页面也是后端页面,
只有商店管理者才能登录进入。商店管
理页面上,商店管理者可完成:商品分
类查询、分类统计、增加商品、删除商
品、定价等功能。
1.5.2 网上商店数据库设计
? 1,管理员登录信息表 admin
管理员登录信息表 admin记录网上商店经营者与管理者的登录信
息, 主要包括登录名, 登录密码和权限等内容 。 由该数据表中
记录的权限来区分登录者是经营者还是管理者, 他们将拥有不
同的操作权限 。 数据表结构可参考表所示 。
1.5.2 网上商店数据库设计
? 2,注册顾客
信息表 user
注册顾客信息表 user
记录网上商店顾客
的个人信息,主要
包括顾客登录名与
密码、顾客真实姓
名与详细地址等内
容。这些个人信息
是配送商品时所必
需的信息。数据表
结构可参考表所示。
1.5.2 网上商店数据库设计
? 3, 商 品 信 息 表
product
商品信息表 product记录网上
商店的各类商品信息,主
要包括商品名称、商品介
绍与价格参数等内容。这
些信息将显示在购物功能
页面上,成为顾客选购商
品的依据。除此以外,商
品信息表 product还记录
访问次数、成交次数和数
量信息,构成商店管理者
盘点商品、分析销售状态
的基本依据。
1.5.2 网上商店数据库设计
? 4, 订 单 数 据 表
orders
订单数据表 orders记录
各类商品的订货信息,
主要包括商品名称与
数量、顾客的准确信
息与商品送达信息等
内容。用这些记录在
案的信息保证订购商
品的顾客能够及时得
到送货,货款能够及
时收回。
1.5.3 网上商店功能模块设计
? 根据网上商店功能分析的结果,可以设定网上商店数
据业务流程如图所示。
1.5.3 网上商店功能模块设计
? 1,注册
注册功能模块为任意 Internet浏览者提供注册成为本网上商店顾客
的操作页面 。 浏览者进入注册功能模块后, 可以填写个人信息,
然后提交 。 注册功能模块在接受提交的个人信息之后, 填写顾
客信息表 。 从此, 这个浏览者即可以商店顾客的身份登录, 也
可以进行购物操作 。
? 2,登录
Internet浏览者必须经过登录操作, 由登录功能模块验明其顾客身
份, 方可进行购物操作 。 登录功能模块的主要功能即为验明顾
客身份, 调用购物功能模块 。
1.5.3 网上商店功能模块设计
? 3,购物
购物功能模块的主要功能为:提供商品信息, 接受商品订单, 提
交商品订单数据 。 从而使得顾客可以浏览商品, 查找商品, 对
满意的商品下订单 。
? 4,规划权限
规划权限功能模块只允许商店管理者使用, 可以采用预先设定用
户的方式设置, 使得有一个用户初始时即拥有管理者权限 。 该
管理者有权创建相关经营者登录规则与权限, 有权针对顾客信
息进行编辑, 比如建立恶意顾客黑名单, 取消顾客资格 。
? 5,编辑数据
编辑数据功能模块提供商品数据的增、删、改等操作页面,仅允
许具有管理者权限的访问者有效。管理者可以调用编辑数据功
能模块完成增加商品、删除商品、为销售商品定价等操作。
1.5.3 网上商店功能模块设计
? 6,经营分析
经营分析功能模块为商店管理者所使用, 提供网上商店经营状况
分析操作页面 。 商店管理者可以在这个页面上完成商店库存盘
点, 销售排行, 利润计算等分类汇总操作 。
? 7,配送商品
网上商店在接受购物订单后, 相关数据记录在定单信息表中 。 经
营者可以调用配送商品功能模块查阅订单, 汇总同类商品订单,
安排送达商品 。 当商品送达且已经收回货款, 或退回商品后,
均可调用配送商品功能模块, 为已完成配送的商品订单标注相
关信息 。