25
8 8 Web Web 第第第第第第第 第第第第第第第 第第第第第第第第第第第第第第第第 第第第第第第第第 Internet Internet 第第第 第第 第第第 第第 Web Web 第第第第第第第第第第第第 第第第第第第第第第第第第 第第第 第第第第第第第第第第第第第第 第第第第第第第第第第第第第第第第第第第 ,, 第第第 第第第第第第第第第第第第第第 第第第第第第第第第第第第第第第第第第第 ,, 第第第第 第第 第第第第 第第 Web Web 第第第第第第第第第第第第第第第 第第第第第第第第第第第 第第第第第第第第第第第第第第第 第第第第第第第第第第第 第第第 第第第第第第第第第第第 第第第第第第第第第第第第 第第第第第第第第第 、,, 第第第 第第第第第第第第第第第 第第第第第第第第第第第第 第第第第第第第第第 、,, 第第 第第第第第第第第第第第第第第第第第第第第第第第第第第第第 ,。 第第 第第第第第第第第第第第第第第第第第第第第第第第第第第第第 ,。

第 8 章 Web 数据库访问技术

Embed Size (px)

DESCRIPTION

第 8 章 Web 数据库访问技术. 内容简介: 本章主要介绍随着 Internet 的发展,静态 Web 站点的开发与维护变得越来越困难,其最大的问题就是缺少交互性,信息的内容只有在网站管理人员更改后才能发生变化,使得 Web 管理员不得不频繁修改他们的网页。为了向网络用户提供大量有用的、动态的和可交互的信息,凡是能够数据库化的内容,应尽量做成数据库的形式,因为数据库形式的数据远比其他形式的数据要容易更新与管理。. 第 8 章 Web 数据库访问技术. 8.1 Web 数据库访问技术简介 8.2 ODBC 8.3 ADO 8.4 结构化查询语言 SQL - PowerPoint PPT Presentation

Citation preview

Page 1: 第 8 章  Web 数据库访问技术

第第 88 章 章 WebWeb 数据库访问技术数据库访问技术第第 88 章 章 WebWeb 数据库访问技术数据库访问技术内容简介:内容简介:本章主要介绍随着本章主要介绍随着 InternetInternet 的发展,静态的发展,静态 WebWeb 站点站点的开发与维护变得越来越困难,其最大的问题就是缺的开发与维护变得越来越困难,其最大的问题就是缺少交互性,信息的内容只有在网站管理人员更改后才少交互性,信息的内容只有在网站管理人员更改后才能发生变化,使得能发生变化,使得 WebWeb 管理员不得不频繁修改他们管理员不得不频繁修改他们的网页。为了向网络用户提供大量有用的、动态的和的网页。为了向网络用户提供大量有用的、动态的和可交互的信息,凡是能够数据库化的内容,应尽量做可交互的信息,凡是能够数据库化的内容,应尽量做成数据库的形式,因为数据库形式的数据远比其他形成数据库的形式,因为数据库形式的数据远比其他形式的数据要容易更新与管理。 式的数据要容易更新与管理。

Page 2: 第 8 章  Web 数据库访问技术

第第 88 章 章 WebWeb 数据库访问技术数据库访问技术第第 88 章 章 WebWeb 数据库访问技术数据库访问技术8.1 Web8.1 Web 数据库访问技术简介数据库访问技术简介 8.2 ODBC8.2 ODBC8.3 ADO8.3 ADO8.4 8.4 结构化查询语言结构化查询语言 SQLSQL8.5 8.5 使用使用 ASPASP 访问数据库访问数据库8.6 8.6 远程教育系统说明—数据库设 远程教育系统说明—数据库设 计与管理模块 计与管理模块

Page 3: 第 8 章  Web 数据库访问技术

8.1 Web 数据库访问技术简介1. 数据访问技术概述 基于 Web 的数据库访问技术是指:在客户端安装 Web 浏览器,作为用户

输入查询条件和显示查询结果的交互界面。2. CGI CGI(Common Gateway Interface) 是外部应用程序与 Web 服务器交互的

一个标准接口。 CGI 应用程序可以完成客户端与服务器的交互操作。3. ODBC API 方法与 Web 服务器结合紧密,所以性能较高。但是利用底层的 API 开

发数据库访问程序仍然很困难,因此一般使用基于底层 API 的高层数据库编程接口,这就是我们所说的 ODBC 。 ODBC 是“开放数据库互连”的简称,是一种使用 SQL 的应用程序接口 (API) 。

4. 一致的数据访问技术 ADO/OLE DB 一致数据访问包括两层软件接口,分别为 ADO(Active Data Object) 和 O

LE DB ,对应于不同层次的应用开发, ADO 提供了高层软件接口; OLE DB 提供了底层软件接口。 ADO 以 OLE DB 为基础,它对 OLE DB 进行了封装。

Page 4: 第 8 章  Web 数据库访问技术

8.2 ODBC ODBC(Open Database Connectivity ,

开放数据库互连 ) 是微软公司开放服务结构(WOSA , Windows Open Services Architecture) 中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准 API (应用程序编程接口)。这些 API利用 SQL 来完成其大部分任务。 ODBC 本身也提供了对 SQL 语言的支持,用户可以直接将 SQL 语句送给 ODBC 。

Page 5: 第 8 章  Web 数据库访问技术

8.2.1 ODBC 概念 一个完整的 ODBC由下列几个部件组成:1. 用程序 (Application)2. DBC 管理器 (Administrator) 。该程序位于 Windows 95控制面板 (Control Panel) 的 32位 ODBC 内,其主要任务是管理安装的 ODBC驱动程序和管理数据源。

3. 驱动程序管理器 (Driver Manager) 。驱动程序管理器包含在 ODBC32.DLL 中,对用户是透明的。其任务是管理 ODBC驱动程序,是 ODBC 中最重要的部件。

4. ODBC API5. ODBC 驱动程序。是一些 DLL ,提供了

ODBC 和数据库之间的接口。6. 数据源。数据源包含了数据库位置和数据

库类型等信息,实际上是一种数据连接的抽象。

ODBC 模型

Page 6: 第 8 章  Web 数据库访问技术

8.2.2 配置数据源

1. Access 数据库系统 DSN的配置方法 Step1 :单击添加后弹出对话框,选择

数据源为 Driver do Microsoft Access (*.mdb)单击完成。

Step2 :这时弹出一个 “ ODBC Microsoft Access 安装”的对话框,在对话框的数据源名文本输入框中输入配置的 DSN文件名,如果 test_dsn ,然后单击 “选择”按钮。

Step3 :这时将弹出对话框,在对话框的数据库名中输入 “ c:\test.mdb” ,或是从右边的目录浏览器中选择“驱动器 C”-> “test.mdb” 。选择数据库完成后,单击确定按钮将回到第二步界面。

Step4 :单击“确定”,请注意,这时在系统数据源列表框中出现了“ test_dsn” 项。 Access 数据库系统 DSN配置完成。

2. SQL Server 数据库系统 DSN的配置方法

Step1 :在弹出的对话框中的驱动程序中选择 SQL Server项。

Step2 :单击“完成”,这时将弹击一个对话框,在对话框的名称文本输入框中输入要配置的 DSN文件名。

Step3 :单击“下一步”,此时我们如果在第二步时选择的是通过 IP地址连接服务器,请选择客户端配置选项,调出配置对话框。

Step5 :单击“下一步”,在“改变默认的数据库”的复选框中打勾,并选择 test 数据库。

Step6 :单击“下一步”。 Step7:单击“完成”。 Step8 :单击“测试数据库”按钮以进

行测试,Step9:单击“确定”,这时在系统数

据源列表框中出现了“ test_dsn_sql” 项, SQL Server 数据库系统DSN配置完成。

接下来我们就讲述一下系统 DSN 的配置过程。

Page 7: 第 8 章  Web 数据库访问技术

8.3 ADO 前面已经简单介绍过, ActiveX数据对象

(ADO) 是允许用户与数据存储进行交互的组件。这意味着只要基于某些数据就可建立一个网页,或一种完全交互的电子商务系统。不论那种方式,都是 ADO 使我们能与数据进行通信。 ADO/OLE DB 是使用 ASP 访问数据库最常用也是最有效的方法,是我们学习的重点内容。

Page 8: 第 8 章  Web 数据库访问技术

8.3.1 ADO 数据访问技术概述

1. OLE DB 和 ADO 的体系结构

OLE DB 和 ADO 是为解决访问数据的方法主要考虑与数据存储保持永久连接的情况下处理数据而设计的,并提供断开连接的记录集 。

2. 消费者与提供者 提供者是提供数据的物体,消费者是使用 (消耗 ) 这些数据的物体。

3. 提供者和驱动程序

提供者与驱动程序的区别

Page 9: 第 8 章  Web 数据库访问技术

8.3.2 ADO 的对象类和对象模型1. Connection 对象 Connection 对象是使我们能与数据存储相连的对象。2. Command 对象 Command 对象是对数据存储执行命令的对象。 3. Recordset 对象 Recordset 对象是 ADO 中使用最为普遍的对象,因为它含有从数据存储中提

取的数据集。4. Record 对象5. Stream 对象 Stream 对象用于访问节点的内容 6. 集合 ADO 对象库中有一些集合,每个集合都有零个或更多个与其关联的对象的拷贝。7. ADO常数 当使用 ADO时,会发现有许多预先定义的用于众多选项的常数,比如定义光

标类型和锁类型的常数。

Page 10: 第 8 章  Web 数据库访问技术

8.4 结构化查询语言 SQL SQL全称是“结构化查询语言 (Structured Query

Language)” ,最早的是 IBM的圣约瑟研究实验室为其关系数据库管理系统 SYSTEM R开发的一种查询语言,它的前身是 SQUARE 语言。 SQL 语言结构简洁,功能强大,简单易学,所以自从 IBM公司 1981年推出以来, SQL 语言,得到了广泛的应用。如今无论是像 Oracle ,Sybase,Informix,SQL server 这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder 这些微机上常用的数据库开发系统,都支持 SQL 语言作为查询语言。

Page 11: 第 8 章  Web 数据库访问技术

8.4.1 SQL 语言概述   Structured Query Language 包含 4 个部分:

• 数据查询语言 DQL-Data Query Language SELECT

• 数据操纵语言 DQL-Data Manipulation Language INSERT, UPDATE, DELETE

• 数据定义语言 DQL-Data Definition Language CREATE, ALTER, DROP

• 数据控制语言 DQL-Data Control Language COMMIT WORK, ROLLBACK WORK

SQL 它的优点1. 非过程化语言 SQL 是一个非过程化的语言,

因为它一次处理一个记录,对数据提供自动导航。

2. 统一的语言 SQL 可用于所有用户的 DB活

动模型,包括系统管理员、数据库管理员、 应用程序员、决策支持系统人员及许多其它类型的终端用户。

3. 是所有关系数据库的公共语言 由于所有主要的关系数据库管

理系统都支持 SQL 语言,用户可将使用 SQL 的技能从一个 RDBMS转到另一个。所有用 SQL 编写的程序都是可以移植的。

Page 12: 第 8 章  Web 数据库访问技术

8.4.2 SQL 数据操作基础1. SQL 语句的特点 SQL 有两个特点:所有数据存储在表中,从 SQL 的角度来说,表中的记录没有顺序。

2. 使用 SQL从表中取记录 SQL 的主要功能之一是实现数据库查询。3. 创建表格 SQL 语言中的 create table 语句被用来建立新的数据库表格。 4. 数据查询 在众多的 SQL命令中, select 语句应该算是使用最频繁的。 select

语句主要被用来对数据库进行查询并返回符合用户查询标准的结果数据。5. 向表格中添加、更新、删除记录 6. 删除数据库表格 在 SQL 语言中使用 drop table命令删除某个表格以及该表格中的所

有记录。

Page 13: 第 8 章  Web 数据库访问技术

8.4.3 SQL 高级应用1. 建立索引 (1) 聚簇索引和非聚簇索引 (2) 索引属性 (3) 用 SQL 建立索引2. 集合函数 Microsoft SQL支持五种类型的集合函数。你可以

统计记录数目,平均值,最小值,最大值,或者求和。当你使用一个集合函数时,它只返回一个数,该数值代表这几个统计值之一。

Page 14: 第 8 章  Web 数据库访问技术

8.5 使用 ASP 访问数据库8.5.1 ASP 与数据库的连接

1. 与 Microsoft Access 数据库建立连接 方法一: 1 - 创建 Connection 对象 2 - 使用 Connection 对象的 Open 方法打开数据库 3 - 使用 Connection 对象的 Close 方法关闭连接 4 - 将 Connection 对象从内存中删除,以释放资源 方法二:用 OLE DB 创建 Microsoft Access 连接 2. 与 SQL Server 数据库建立连接

Page 15: 第 8 章  Web 数据库访问技术

8.5.2 检索数据库内容方法一:只使用 Connection 对象。方法二:通过创建 Recordset 对象。

Page 16: 第 8 章  Web 数据库访问技术

8.5.3 分页技术 前面我们介绍了如何检索数据并输出到浏

览器端,对少量数据而言,那样简单的输出处理是完全可以的,但是若数据量很大,有几百条甚至上千条,一次将如此多的数据全部输出到客户端是不现实的,一来页面从上到下拉得很长,二来客户端等待的时间过长,三来服务器的负载过大。所以采取分页输出非常必要。

Page 17: 第 8 章  Web 数据库访问技术

8.5.4 向数据库中添加新数据方法一:使用 SQL 语句。方法二:使用 Recordset 对象的 Addne

w 方法。

Page 18: 第 8 章  Web 数据库访问技术

8.5.5 修改数据库中已存在的数据方法一:使用 SQL 语句。例 test36.asp ,

程序基本上与 test34.asp类似,这里仅列出关键部分。

方法二:使用 Recordset 对象的 Update 方法。

Page 19: 第 8 章  Web 数据库访问技术

8.5.6 删除数据库中的数据方法一:使用 SQL 语句。例程 test38.a

sp方法二:使用 Recordset 对象的 Delet

e 方法。

Page 20: 第 8 章  Web 数据库访问技术

8.5.7 调用存储过程 在客户端工作站中执行大而复杂的 SQL批处理时,存储过程提供了诸多方便之处:可以在存储过程中利用 Transact-SQL 的强大功能。一个 SQL存储过程可以包含多个 SQL 语句。通过使用变量和条件。能够用存储过程建立非常复杂的查询,以非常复杂的方式更新数据库。

调用存储过程的方法需要使用 ADO 的 Command 对象。

Page 21: 第 8 章  Web 数据库访问技术

8.6 远程教育系统说明—数据库设计与管理模块

本系统的核心功能即是数据库的设计与访问,只有合理且完整的完成数据库功能才能保证系统内部信息的流畅,以及用户便捷的使用。另外,我们也可以从中学习到实际编程中数据库的设计和代码编写技巧。

Page 22: 第 8 章  Web 数据库访问技术

8.6.1 数据库设计1. 总体说明2. 教程与课件表(表名称: T_Tetutorial)3. 教程类别表( T_Tetutorialclass )4. 教师信息表( T_Teacher )5. 用户信息表( T_User )6. 测验表( T_Test )7. 答疑问题表( T_Question )8. 答疑回答表( T_Question )9. 用户学习笔记信息表( T_Note )10. 系统公告表( T_News )11. 资料信息表( T_Book)12. 系统设置表( T_Sysconfig)13. 管理员信息表( T_Admin )14. 留言信息表( T_Admin )

Page 23: 第 8 章  Web 数据库访问技术

8.6.2 教师功能模块1.功能说明2.主要模块说明( 1 )发布教学讯息( 2 )答疑管理( 3 )试题管理

Page 24: 第 8 章  Web 数据库访问技术

8.6.3 管理员功能模块 为管理员用模块,包括学生管理、教师管理、课程管理、资源管理、试题维护、权限管理、报表管理等子模块。

• 1.学生管理 管理学生“个人信息”、“所选课程”、“所在班级”等。

管理员通过WEB 页面输入用户名后,查询用户的基本资料,并可以对用户的信息进行新增、删除、更新操作。

2.教师管理 管理教师 “个人信息”、“所开课程”、“教学状况”等。

3.课程管理 分专业、类型来管理课程,指定授课教师,课程开课班级数目。

Page 25: 第 8 章  Web 数据库访问技术

本章小结 本章主要介绍了 Web 数据库访问技术。• 数据访问技术概:基于 Web 的数据库访问技术是指:在客户端安装 Web 浏览器,作

为用户输入查询条件和显示查询结果的交互界面。• ODBC(Open Database Connectivity ,开放数据库互连 ) 是微软公司开放服务结构

(WOSA , Windows Open Services Architecture) 中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准 API (应用程序编程接口)。这些 API 利用 SQL 来完成其大部分任务。 ODBC 本身也提供了对 SQL 语言的支持,用户可以直接将 SQL 语句送给 ODBC 。

• ActiveX数据对象 (ADO) 是允许用户与数据存储进行交互的组件。这意味着只要基于某些数据就可建立一个网页,或一种完全交互的电子商务系统。不论那种方式,都是 ADO 使我们能与数据进行通信。 ADO/OLE DB 是使用 ASP 访问数据库最常用也是最有效的方法,是我们学习的重点内容。

• SQL全称是“结构化查询语言 (Structured Query Language)” ,最早的是 IBM的圣约瑟研究实验室为其关系数据库管理系统 SYSTEM R开发的一种查询语言,它的前身是 SQUARE 语言。 SQL 语言结构简洁,功能强大,简单易学,所以自从 IBM公司1981年推出以来, SQL 语言,得到了广泛的应用。如今无论是像 Oracle ,Sybase,Informix,SQL server 这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder 这些微机上常用的数据库开发系统,都支持 SQL 语言作为查询语言。

• 使用 ASP 访问数据库• 远程教育系统说明—数据库设计与管理模块:本系统的核心功能即是数据库的设计与访

问,只有合理且完整的完成数据库功能才能保证系统内部信息的流畅,以及用户便捷的使用。另外,我们也可以从中学习到实际编程中数据库的设计和代码编写技巧。