数据库应用技术 天津电大 翟迎建
第6章 数据库应用系统开发 【学习要求】 了解:嵌入式SQL的概念和机理 了解:C/S和B/S体系结构的机制、优缺点 第6章 数据库应用系统开发 【学习要求】 了解:嵌入式SQL的概念和机理 了解:C/S和B/S体系结构的机制、优缺点 掌握:C/S应用系统的开发方法 2019/11/11 第6章 数据库应用系统开发
6.1 数据库应用系统开发概述 6.1.1数据库应用系统开发的基本思路 SQL语言与编程语言结合使用 6.1 数据库应用系统开发概述 6.1.1数据库应用系统开发的基本思路 SQL语言与编程语言结合使用 SQL语言的优点在于与数据库打交道,VB、Delphi、C之类的计算机语言的优势在于过程控制。 将SQL语言嵌入到某种高级语言中使用,SQL语句负责操纵数据库,高级语言负责控制程序流程,从而完成各种复杂的数据库应用处理。 2019/11/11 第6章 数据库应用系统开发
6.1 数据库应用系统开发概述 6.1.2嵌入式SQL SQL在使用方式上的分类 6.1 数据库应用系统开发概述 6.1.2嵌入式SQL SQL在使用方式上的分类 SQL是一种双重式语言,从使用方式上可分为: 交互式SQL(Interactive SQL)和 嵌入式SQL(Embedded SQL)。 例如:在查询分析器中使用交互式SQL,在数据库应用开发中使用嵌入式SQL。 嵌入式SQL就是将SQL语句直接嵌入到(宿主语言)程序的源代码中,与其他程序设计语言语句混合。 一般形式:EXEC SQL <SQL语句> 2019/11/11 第6章 数据库应用系统开发
6.1 数据库应用系统开发概述 嵌入式SQL的特点:数据库管理系统DBMS一般会采用预编译的处理办法,即由DBMS的预处理程序对源程序进行扫描,识别出SQL语句,把它们转换成宿主语言调用语句,以使宿主语言编译程序能够识别它,最后再由宿主语言的编译程序将整个源程序编译成目标码。嵌入SQL语句完成的功能也可以通过应用程序接口(API)实现,此方法不需要专用的预编译程序。 嵌入式SQL的用途:它是数据库应用程序的一种开发方法,是一种应用程序进行数据库访问时所采取的编程式数据库语言。 2019/11/11 第6章 数据库应用系统开发
6.1 数据库应用系统开发概述 6.1.3数据库应用系统开发模式 C/S模式(结构)、B/S模式(结构) 6.1 数据库应用系统开发概述 6.1.3数据库应用系统开发模式 C/S模式(结构)、B/S模式(结构) 1. C/S(客户机/服务器)体系结构 C/S 两层结构 第一层在客户机上结合表示层与业务层逻辑; 第二层通过网络在服务器上结合数据库服务器; 由客户应用程序和服务器的数据库构成。 客户机具有一定的数据处理和存储能力 适于在用户数目不多的局域网内应用 2019/11/11 第6章 数据库应用系统开发
6.1 数据库应用系统开发概述 优点 缺点 不依赖外网环境,即无论企业是否能够上网,都不影响应用。 交互性强 存取模式更安全 6.1 数据库应用系统开发概述 优点 不依赖外网环境,即无论企业是否能够上网,都不影响应用。 交互性强 存取模式更安全 缺点 应用程序的维护、移植和互操作变得复杂。 2019/11/11 第6章 数据库应用系统开发
6.1 数据库应用系统开发概述 2. B/S(浏览器/服务器)体系结构 B/S模式本质是三层结构的C/S模式 6.1 数据库应用系统开发概述 2. B/S(浏览器/服务器)体系结构 B/S模式本质是三层结构的C/S模式 工作原理:浏览器向Web服务器提出访问数据库请求, Web服务器将接收到的请求转化为SQL,并交给数据库服务器,数据库服务器验证请求合法性并进行数据处理,将处理结果返回给Web服务器, Web服务器将得到的结果转化为HTML文档,并转发给客户端浏览器,以Web页面形式显示。 2019/11/11 第6章 数据库应用系统开发
6.1 数据库应用系统开发概述 优点 B/S占有优势的是其异地浏览和信息采集的灵活性。 任何时间、任何地点、任何设备,只要可以使用 浏览器上网,就可以成为B/S系统的终端。 B/S系统开发、维护、升级等工作集中在服务器端, 减轻异地用户的使用成本。 缺点 采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。 2019/11/11 第6章 数据库应用系统开发
6.1 数据库应用系统开发概述 3. 两种模式的比较 (1)安全性 C/S较高(点对点、局域网) (2)执行效率 C/S较快(没有中间层) 6.1 数据库应用系统开发概述 3. 两种模式的比较 (1)安全性 C/S较高(点对点、局域网) (2)执行效率 C/S较快(没有中间层) (3)界面设计 C/S较好(效果丰富、形式多样) (4)通用性 B/S较好(服务器端升级) 2019/11/11 第6章 数据库应用系统开发
6.1 数据库应用系统开发概述 (5)系统的性能 B/S访问灵活,C/S两端负载均衡。 (6)系统的开发 6.1 数据库应用系统开发概述 (5)系统的性能 B/S访问灵活,C/S两端负载均衡。 (6)系统的开发 各有特点,互相融合。 C/S技术成熟,B/S不断发展。 (7)系统的升级维护 B/S有优势 2019/11/11 第6章 数据库应用系统开发
6.2 VB应用系统开发方法 任何一个实际的数据库应用系统,均是由增加(Insert)、删除(Delete)、修改(Update)、查询(Select)这四种操作的组合体,属于一种非常典型的前后台软件结构;前台就是应用程序(如VB应用),后台则是数据库管理系统(如SQL Server)。 前后台之间进行通信的主要机制称为数据库引擎。 2019/11/11 第6章 数据库应用系统开发
6.2 VB应用系统开发方法 6.2.1 利用VB开发数据库应用程序的基本框架 1.通常要声明一个全局数据库连接对象 2.一般要创建Main子过程,并将它设置为启动对象。 其中顺序完成以下操作: (1)以非模态方式显示飞溅窗。 (2)创建全局数据库连接对象,并连接SQL Server或Access等数据库。 (3)以模态方式显示登录窗,等待用户登录。 (4)登录成功后,以非模态方式显示主窗体,否则退出程序。 2019/11/11 第6章 数据库应用系统开发
6.2 VB应用系统开发方法 3. 主窗体一般均提供增加、删除、修改、查询等对数据库的管理功能,所有操作均使用全局数据库连接对象作为与数据库交互的通道,通过SQL语句对数据进行处理,其中包括增加功能、删除功能、修改功能和查询功能。 4. 其他功能。例如据库备份和恢复功能、用户权限管理功能等。 2019/11/11 第6章 数据库应用系统开发
6.2 VB应用系统开发方法 6.2.2 ADO对象模型(参见教材P107) 1. 数据库访问引擎 1. 数据库访问引擎 数据库访问引擎是应用程序与数据库之间的数据通道。 VB提供了三种数据库访问引擎,即: Jet引擎、 ODBC、 OLE DB,目前主要使用OLE DB。 2. 数据访问对象 VB采用面向对象技术将数据库引擎封装在数据对象中,即:DAO(Data Access Objects)、 RDO(Remote Data Objects)、 ADO(ActiveX Data Objects) ;其中最常用的是ADO。 VB可以利用ADO实现与后台数据库之间的通信。 2019/11/11 第6章 数据库应用系统开发
6.2 VB应用系统开发方法 3. ADO内部对象(参见教材P108) ADO数据库访问对象包括7个对象:Connection、Command、Recordset、Parameter、Property、Field和Error。 以“够用为度”的原则,只介绍Connection对象、RecordSet对象和Field对象,这三个对象分别对应于SQL Server中的数据库、表和字段。 ① 声明并创建连接对象 Dim ADOcn As New Connection ② 利用Connection对象的Open方法建立数据库连接 ADOcn.Open 连接字符串 连接SQL Server数据库的常用连接字符串形式 “Provider=SQLOLEDB;Server=服务器名\数据库实例名;User ID=登录账号; Password=登录口令;Database=数据库名” 2019/11/11 第6章 数据库应用系统开发
6.2 VB应用系统开发方法 ③ 利用Connection对象的Execute方法对数据表进行增加、删除、更新等不返回结果集的操作。 ADOcn.Execute SQL语句字符串 例如:学生成绩表 (学号,课程号,成绩) 删除学生成绩表中学号为001的记录,实现语句如下: ADOcn.Execute “delete from 学生成绩表 where 学号= ‘001’” 增加学生成绩表中学号为20070008的记录,实现语句如下: ADOcn.Execute “insert into 学生成绩表 (学号,课程号,成绩) value(‘20070008’,’101’,’85’)” 修改学号为20070008学生课程号为101的成绩为89 ADOcn.Execute “Update 学生成绩表 Set 成绩=89 Where 学号= ‘20070008’ and 课程号=’101’ ” 2019/11/11 第6章 数据库应用系统开发
6.2 VB应用系统开发方法 ④ 利用Recordset、Field对象对数据表进行查询操作,返回的 结果集保存在Recordset对象中。 ADOrs.Open Select语句字符串 Dim ADOcn As New Connection ‘创建数据库连接对象ADOcn Dim ADOrs As New Recordset ‘创建记录集对象 ADOrsADOrs.ActiveConnetion = ADOcn ‘ADOrs与ADOcn建立关联 ‘执行Select操作,并将查询结果集保存在记录集ADOrs中 ADOrs.Open “Select * From 学生成绩表” ‘访问结果集ADOrs中的数据 Dim strNO As String strNO =ADOrs.Fields(“学号”) ‘简写形式:strNO = ADOrs(“学号”) ADOrs.Close ‘关闭记录集ADOrs对象 2019/11/11 第6章 数据库应用系统开发
6.2 VB应用系统开发方法 6.2.3 VB程序开发实例 1. 数据库设计 建立数据表、插入数据 2. 界面设计 主窗体、添加信息的窗体、修改信息的窗体、 删除信息的窗体、查询信息的窗体 3. 代码编写 在启动模块连接数据库、在主窗体工具栏设置窗体间调用关系、其它每个窗体的装入程序、单击按钮响应程序等。 2019/11/11 第6章 数据库应用系统开发
6.2 VB应用系统开发方法 6.2.4 VB报表功能开发 1. 常用报表设计工具 利用Data Reports报表设计器 、 利用Excel生成报表 、 利用第三方报表控件。 2. Data Reports应用实例 (参见教材P118、119) 2019/11/11 第6章 数据库应用系统开发
6.2 VB应用系统开发方法 6.2.5 数据库连接字符串的生成 1. 文本编辑 注意大小写、空格等字符格式 2. VB6.0集成工具 “工程—添加Data Environment” (参见教材P120) 2019/11/11 第6章 数据库应用系统开发