数据库应用系统开发工具(PB).ppt
《数据库应用系统开发工具(PB).ppt》由会员分享,可在线阅读,更多相关《数据库应用系统开发工具(PB).ppt(181页珍藏版)》请在三一办公上搜索。
1、,引言 Power Builder(以下简称PB)是广泛使用于C/S体系结构下的面向对象的数据库应用程序的客户端开发工具。其优秀的面向对象特性,特别是其具有一个功能强大的智能对象数据窗口,使得开发人员利用它操作关系数据库时无需编写SQL语句,能迅速简单地建立复杂的图形应用,来访问本地或网络服务器上的数据库数据。同时它也可用于分布式和B/S体系结构的应用程序的开发。,数据库应用系统开发工具PB,学习要求 应用程序的体系结构;利用PB开发数据库应用程序的全过程;能将前面所学知识与PB结合开发C/S方式的应用系 统。,第9章 数据库应用系统开发工具PB,目前,应用程序的开发主要可选择三种体系结构:客
2、户/服务器(C/S)、分布式和B/S(或WEB)体系结构。C/S应用程序是传统开发人员普遍采用的应用程序体系结构。随着INTERNET和INTRANET的不断普及和应用程序业务逻辑的复杂化,C/S体系结构的应用程序带来一些问题。为解决这些问题,分布式和WEB体系结构应运而生。,9.1 应用程序体系结构,9.1.1 C/S体系结构9.1.2 分布式体系结构9.1.3 WEB体系结构,9.1 应用程序体系结构,C/S体系结构将整个系统划分为两层:一层驻留在客户端,一般由应用程序及相应的数据库连接程序构成,另一层安装在服务器端,通常是某个数据库系统,包括数据库和服务器组件。客户端软件的主要功能是处理
3、与用户的交互、按照某种业务逻辑进行处理以及与数据库进行交互,服务器端数据库系统根据客户端的请求进行数据库操作,然后将结果传送给客户端。客户端与服务器端(数据库)软件之间的交互通过SQL语句进行。,9.1.1 C/S体系结构,C/S结构具有以下优点:(1)采用该体系结构可缩短软件系统的开发周期。C/S体系结构将处理权力下放到客户端,因此客户端用户拥有强大的处理能力,这在很大程度上激发了终端用户的积极性,提高了工作效率。(2)提高系统性能。在该体系结构下,处理是分布式的,由众多的CPU参与处理,从而提高了整个系统的效率。(3)采用该体系结构开发的系统具有柔性。从组织运营和技术两方面提高了组织的柔性
4、。,9.1.1 C/S体系结构,产生的问题:(1)维护困难。(2)缺乏安全性。(3)客户机负荷过重。(4)网络传输负担过重。(5)不适应INTERNET环境的要求。,9.1.1 C/S体系结构,1.客户端开发工具可以完成的工作(1)设计窗口和定义窗口的控件(2)生成菜单(3)生成数据窗口(4)在程序中直接书写SQL语句操作数据库(5)可以方便地生成和维护数据库(6)在图形方式下生成数据查询。用户即使不会使用SQL语句也可以在此环境下生成复杂的查询,并将其作为一类对象保存。(7)实现数据库之间数据的转换,9.1.1 C/S体系结构,2.数据库可以完成的工作 数据库是C/S应用系统的核心,从客户端
5、开发工具来看,它的作用主要有:(1)接收SQL指令,执行SQL指令,并将指令的执行结果返回给客户端。(2)查询优化。(3)事务处理(4)并发处理(5)存取权限管理(6)数据库规则,9.1.1 C/S体系结构,(7)相关完整性约束(8)存储过程(9)触发器(10)视图(11)序号生成器,9.1.1 C/S体系结构,9.1.1 C/S体系结构,查询优化 客户端发出的SQL指令,数据库要先对其进行语法和句法分析,然后进行查询优化。查询优化分为两类:一类是基于语法的优化,这类优化是根据SQL语句的写法而进行的,相同的查询不同的写法会导致完全不同的查询效率。另一类是基于成本的优化,这类优化与SQL语句的
6、写法无关,仅与要完成的工作有关。基于成本的优化技术降低了对开发人员的要求,可以使开发人员更专心地解决应用中的问题。,9.1.1 C/S体系结构,事务处理 数据库的特点是数据的集中管理和共享,在通常情况下总是有若干个事务并发地运行,这些并行的事务可能并发地存取相同的数据。因此,数据库的一个重要任务是要有一种机制去保证这种并发的存取和修改不破坏数据的完整性,确保这些事务能正确地运行并取得正确的结果。,9.1.1 C/S体系结构,并发处理 若不加控制的话,事务并发执行将导致不正确的结果和数据库状态的不一致。为保证数据库正确地反映所有事务的更新,以及在一事务修改数据库中的数据时,其它事务不能同时修改这
7、些数据,数据库必须用锁来控制对数据的并发存取。并发处理是数据库最重要的问题之一,解决的办法是加锁。大多数数据库都有自动加锁功能。当数据库认为必要时,会在相关对象上加上一个适当的锁。但自动加锁并不一定都恰当,有时需要编程进行干预。,9.1.1 C/S体系结构,数据库规则 规则是加在数据库表列上的约束条件,是在数据库上设定的。主要有限制列的取值范围、唯一性、是否非空等。如果列的输入值不满足约束条件时,则数据库会给出错误信息,数据库只接收满足约束条件的数据。,9.1.1 C/S体系结构,触发器 触发器是一种特殊类型的存储过程,它在插入、删除或修改特定表中的数据时起作用。触发器可以维持表间数据的一致性
8、,保证数据的相关完整性。触发器的优点是不管什么原因造成数据库数据变化时都能自动响应。,9.1.1 C/S体系结构,视图 视图是一个或多个表中数据的一种表现形式,可将视图看作为一个移动的窗口,通过它可看到感兴趣的数据。视图看起来非常象表,对它的查询和操作与表相同。使用视图有以下优点:看到的是所需要的。视图允许用户集中在他们感兴趣的数据或他们负责的数据上进行工作。那些对特定用户或与特定工作无关的数据可以被排除在视图之外。简化数据操作。视图不仅可简化用户对数据的理解,而且可以简化他们的操作。那些被经常使用的查询可以定义为视图,从而使用户不必为以后的操作每次指定全部查询条件。,9.1.1 C/S体系结
9、构,视图允许用户以不同的方式查询同样的数据。安全性。通过视图用户只能查询或修改他们所能见到的数据。通过使用视图和有选择的授权,用户可被限制在使用数据的不同子集上。逻辑数据独立性。视图可帮助用户屏蔽真实表结构带来的影响,使应用程序和数据库结构相互独立,互不影响。,3 C/S应用系统开发应考虑的问题及解决方案 开发C/S应用系统时主要应考虑两个问题:(1)客户端开发工具主要是应用前台的问题,数据库主要是应用后台的问题。由于数据库和客户端开发工具的功能都在不断增强,客户端开发工具在向数据库方向上延伸,数据库的功能在向客户端开发工具方向延伸,一些功能是相互交叉的,所以有些问题用客户端开发工具和数据库都
10、能解决。对于应用中的某些特定问题,使用客户端开发工具还是数据库来解决,用数据库解决该问题的好处是什么,用客户端开发工具的好处又是什么?(2)对于非数据库莫属的工作,客户端开发工具表现特征怎样?客户端开发工具如何针对它们编程?,9.1.1 C/S体系结构,应用系统开发中的一些解决方案:(1)维护体现企业规则的表间关系可用客户端开发工具编程完成,也可用数据库触发器来控制。这种表间的关系是随着企业规章制度的变化而变化的。如果用客户端开发工具编程来实现,则程序的维护将是很困难的。原则上,此类问题应该用触发器来解决,用触发器来实现具有以下优点:企业规则可以在数据库中集中控制。如果企业规则发生变化,只需修
11、改相应数据库触发器的内容,无需修改客户端应用程序,系统容易维护。客户端应用程序编程变得更简单。系统运行效率会提高。但过多地滥用触发器反而会使系统的效率降低。,9.1.1 C/S体系结构,(2)体现企业规则的数据运算可用客户端开发工具编程完成,也要用存储过程完成。(3)事务是由数据库管理的最小逻辑工作单元,在一个事务中所有对数据库的更新操作要么全部成功,要么全部失败。(4)并发处理是多人同时更新数据库中相同数据时的处理方式,数据库可以自动加锁,但这种自动加锁方式不一定适合实际需要。在实际的并发条件下会出现很多难以预料的复杂情况,“恰当”地加锁是客户端开发工具的任务,也是一个较难的问题。(5)序号
12、生成。应该由数据库来完成。,9.1.1 C/S体系结构,(6)视图是数据库中原始数据的某种变换。有时候,这种变换可以用开发工具来完成。但视图的许多优良特性是客户端开发工具所不具有的。哪些工作应由开发工具来完成,哪些工作应由视图来完成,是数据库设计人员和开发人员要认真研究的问题。(7)数据库表列的约束既可以在数据库中完成,又可使用开发工具编程实现。在这一点上它们功能完全重叠,但它们的特性差异较大。在数据库中定义的约束条件只有把数据送到数据库时才起作用,屏幕上录入数据正确与否,数据库无法在录入时知道。而在开发工具中定义的约束只有在屏幕录入时才起作用,数据库不管它的对与错。因此两种约束同样重要。哪些
13、约束用数据库完成,哪些约束在客户端应用程序完成,哪些约束两种都要做是需要认真研究与解决的问题。,9.1.1 C/S体系结构,分布式应用体系结构将应用系统分为三层:表示层、业务逻辑层和数据访问层。表示层应用程序安装在客户机上或从网络上下载到客户机上,它负责用户界面并与用户进行交互。数据访问层是数据源,通常是数据库系统。业务逻辑层是指程序中做出智能决策的那一部分功能,业务逻辑层应用程序驻留在应用服务器上,该层也称为中间层。分布式应用程序体系结构有如下优点:(1)逻辑封装性。将应用系统划分为不同逻辑块,层次清楚。(2)痩客户机。减少甚至消除了传统C/S体系结构中的“胖客户机”的功能负担,使其消肿为“
14、痩客户机”。,9.1.2 分布式体系结构,(3)提高系统性能。将复杂的应用和业务逻辑分离出来并由一台或多台应用服务器进行处理,不仅可提高应用程序的执行速度,而且可减少网络通信流量。(4)提高安全性。由于所有业务逻辑集中驻留在应用服务器上,系统管理人员可方便监控服务器的运行状况,容易控制访问服务器和与服务器打交道的人员数量,从而减少系统管理人员管理系统和维护的工作量,确保系统安全可靠地运行。(5)零客户管理工作。当需要动态改变应用程序的业务逻辑时,只要改变应用服务器的相应应用程序,客户机上的应用程序几乎不需要改变。,9.1.2 分布式体系结构,WEB应用程序体系结构是分布式应用程序体系结构的变种
15、。在此体系结构中,客户端软件是通用的WEB浏览器,应用服务器软件有WEB服务器和其它逻辑服务器。在此体系结构中,客户端通过浏览器向WEB服务器发出请求,WEB服务器将此请求转换成对其它应用服务器或数据库服务器的请求,当其它应用服务器或数据库服务器返回数据给WEB服务器后,WEB服务器生成数据(网页),并将其传回给客户机上的浏览器。详细实现过程我们将在WEB数据库一章中讨论。,9.1.3 WEB体系结构,9.2.1 PB应用开发流程9.2.2 PB对象概述,9.2 PB基础,在此我们以PB8.0为例说明PB应用程序开发过程。(1)系统分析和设计 在此阶段主要完成系统需求分析,理解系统要完成的任务
16、。(2)建立工作空间 工作空间(Workspace)是PB中组织各种开发资源的一个概念,类似于其它高级语言中的工程概念,但又有所不同。工作空间是对软件资源进行管理的有效手段,其作用是方便对各种软件对象进行分类管理。(3)建立应用对象 要建立应用程序必须在工作空间下建立应用对象(Application),应用对象下管理的是项目的所有软件资源。,9.2.1 PB应用开发流程,(4)建立各种对象 完整的PB应用是由多种对象组合在一起构成的,这些对象包括窗口(Window)、数据窗口(Data window)、类(Class)、菜单(Menu)、函数(Function)等,它们类似于积木,通过Powe
17、r Script语言将这些对象组合起来就构成了一个完整的PB应用程序。(5)编写事件处理程序 在各种对象设计完成后,需要使用Power Script编写对象或控件的事件处理程序,在这些程序中可嵌入标准SQL语句,从而实现对数据库的操作。,9.2.1 PB应用开发流程,(6)运行调试 通过上述步骤设计的应用程序,要经过不断的运行调试、查找错误,最后运行成功后才打包生成可执行文件。(7)打包生成可执行程序 利用PB提供的打包功能,生成并发布应用程序,脱离PB环境独立运行。,9.2.1 PB应用开发流程,1.对象、属性和事件 PB的对象是由PB提供的,可用来构造PB应用程序的一些部件。PB为这些对象
18、约定了属性(properties)和事件。属性决定了事件的特征,而事件是外部作用于对象上的“动作”,这一动作可触发一段程序的执行。每个PB对象包含以下组成部分:(1)每一个对象都包含一个属性集来描述对象的特征,可以通过程序读取或设置这些属性值。(2)每一对象可有一组相关事件,每一个事件对应一个事件处理程序,当对象指定事件发生时就会触发相应事件的处理程序。,9.2.2 PB对象概述,9.2.2 PB对象概述,(3)每一对象可有若干个函数供对象中的脚本(Script)调用。(4)每个对象可有若干结构。(5)每一对象可以有若干脚本代码,每一段脚本代码与对象的某一事件相对应,对应事件发生时自动执行其脚
19、本代码。脚本代码也称为事件处理函数或事件处理程序。开发人员可以为对象的属性指定特定的值,为对象或控件的事件编写特定的程序,也可为对象定义新的事件(即用户自定义事件)。当对象的事件发生时,将驱动一特定的程序段完成其操作,因此在学习PB时我们应该了解对象的事件何时触发、事件触发的先后顺序等。,9.2.2 PB对象概述,2.PB库文件 PB的所有对象存储在PB的库文件(扩展名为PBL)中。一个PB的应用程序有一个或多个库文件。在建立PB应用对象时系统会提示开发者指定一个文件名。当PB库文件过大时会影响应用程序的执行效率,我们可以建立新的库文件,将PB对象存储在不同的库文件中。建立一个工作空间将产生一
20、个扩展名为PBW的文件,它记录有关工作空间的信息。在一个工作空间中可建立多个目标,每一目标对应于一个扩展名为PBT的文件,其中记录了有关目标的信息。每一个目标实际上是一个应用程序,它可对应一个或多个库文件。,3.应用对象 PB的应用程序是从应用对象开始执行的。应用程序对象定义应用程序的特征,如当前应用的库文件、缺省字体字型等。应用对象常使用的事件是Open事件和Close事件,当执行一个应用程序时,应用对象的Open事件被触发,在Open事件中必须有一条打开主窗口的语句,还可有一些与数据库连接有关的语句等。当用户结束应用时,应用对象的Close事件被触发,此事件是关闭数据库。4.窗口对象 窗口
21、是用户和PB应用程序间的主要界面,它可以显示信息,接收用户的信息,响应用户的操作等。窗口由属性、事件和控件构成。其中属性定义了窗口的外形和特征,如窗口的大小、标题等。最常用的事件是Open 和Close事件。控件是窗口用来控制应用的部件,如命令按钮。,9.2.2 PB对象概述,5.数据窗口对象 数据窗口对象用于数据库或其它数据源的数据检索和数据操作。它可根据用户的需求设计成不同的显示风格,也可以对每一列定义显示格式、编辑格式和合法性检验规则等。数据窗口的数据源可以是表、视图、存储过程或外部数据。一个窗口可以有多个数据窗口,不同的数据窗口可以对应不同的数据源甚至不同的数据库系统。6.查询对象 一
22、个查询(Query)是用一个名字保存的一条Select语句,使其可以重复用于数据窗口对象的数据源。由于查询可以一次编码,重复使用,因此使用它可提高开发效率。,9.2.2 PB对象概述,7.菜单对象 菜单是用户操作应用程序的主要界面或工具。用户通过选择菜单项可执行相关的命令或任务。开发者可为用户定制菜单,为菜单项定义快捷键或图标。PB定制的菜单类似于Word的菜单,它可分为多个层次,一个菜单项可弹出一个下拉式菜单,一个下拉式菜单项又可弹出一个级联菜单等。8.用户对象 在PB应用程序中,有一些对象具有类似的特征并重复出现或使用时,我们可以定义用户对象(User object)。用户对象一经定义,就
23、和PB自身对象一样使用。PB有两类用户对象:可视用户对象和类用户对象。,9.2.2 PB对象概述,9.工程对象 建立可执行程序、动态连接库或其它系统应用的组件时需要建立工程(Project)对象。PB允许在可执行文件或动态连接库中包含附加资源(如位图和图标等),也可将附加资源单独分发。10.函数 PB可以定义两种类型的函数:(1)对象级函数。为指定对象定义的函数,这类函数封装在指定对象之内,如窗口函数。(2)全局函数。它不封装在其它对象之内,而是作为独立的对象存储。这些函数主要是一些通用的函数,如数学运算函数。,9.2.2 PB对象概述,11.结构 结构(Structure)对象类似于C语言中
24、的结构,是由一个或多个相关的变量构成,这些变量可以有相同或不同的变量类型。使用结构可以将一组相关的数据项作为一个数据实体来处理。PB有两类结构:(1)对象级结构。它是与特定对象相关的结构,这些结构可用于对象自己的程序代码中,也可以被其它对象的程序引用。(2)全局结构。它不与任何对象有关,可以在应用程序的任何程序代码中说明结构实例和对此结构进行引用。,9.2.2 PB对象概述,PB通过两类数据库接口软件与不同的数据库相连,即通用的ODBC(Open Database Connectivity)接口软件与专用的数据库接口软件。ODBC开放式数据库互接标准接口允许应用存取以SQL做为查询语言的数据库
25、管理系统,PB提供了到ODBC的接口软件,通过这一接口软件,PB可以连接到任何支持ODBC的数据库上。专用接口软件是专为某种数据库设计,通过更换PB到数据库的接口软件以及数据库到网络的接口软件,可以使PB连接到不同的数据库上,与不同的数据库构成客户/服务器体系结构的客户端或B/S模式的WEB服务器端。,9.3 PB与数据库接口,9.3.1 ODBC9.3.2 PB中ODBC数据源及数据库连接参数的配置9.3.3 PB与Oracle连接9.3.4 应用程序与Oracle数据库连接,9.3 PB与数据库接口,ODBC是一种访问数据库的统一界面,已被数据库界广泛接受和采用。从逻辑上看,ODBC由两部
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用 系统 开发 工具 PB
链接地址:https://www.31ppt.com/p-2870021.html