Welcome

首页 / 软件开发 / Delphi / 第十三章-Delphi开发数据库应用程序概述(二)(2)

第十三章-Delphi开发数据库应用程序概述(二)(2)2007-05-0713.3.3 数据库窗体专家和数据库操作台(DBD)

Delphi为用户开发简单的数据库应用程序提供了一个开发工具叫做“数据库窗体专家”(Database Form Expert),在Delphi系统菜单Tool菜单下可以找到。

数据库窗体专家能够自动生成简单的数据库应用程序中所必须完成的许多任务,它还可以生成基于单个数据库表的应用程序窗体或基于主要──明细型多个数据库表的应用程序窗体,数据库窗体专家能够自动完成的任务如下:

● 放置数据库部件到窗体中(TDataSource部件)

● 为数据集部件(TTable、TQuery)和磁盘上的数据库建立连接

● 建立数据源(TDataSource)与数据控制部件的连接,数据源(TDataSource)与 数据访问部件(TTable、TQuery)的连接

● 为TQuery部件编写SQL语句

● 为窗体中的部件定义Tab顺序

数据库操作台(DBD)是数据库维护和数据定义工具,程序设计人员利用它可以查询、连接、建立、重构、索引、修改和拷贝数据库表,包括Pà€aradox和dBASE文件和基于 SQL语言的数据库表。而且在使用DBD操作Paradox或dBASE的表时,用户不必拥有 Paradox 或dBASE数据库管理系统。DBD还可以把一种格式的数据和数据字典拷贝成另一种格式,例如,你可以将一个dBASE的表拷贝到远程的SQL服务器上的一个数据库中去。有关DBD详细描述,请参看“数据库操作台(DBD)的使用”。

13.4 Delphi数据库应用程序的开发方法和步骤

13.4.1 概述

用Derphi用开数据库应用程序,虽然与开发其他应用程序有相似之处,但是也有一些重要的区别,我们必须要加以注意。

利用Delphi的客户/服务器功能,程序设计者可以在本地数据库上或远程数据库服务器上开发客户/服务器模式的应用程序。Delphi 的一个强有力的功能之一是可以将基于本地桌面数据库系统的应用程序很容易地修改成客户/服务器模式的应用。一个Delphi 数据库应用程序访问的是本地数据库还是远程SQL数据库服务器上的数据库,这对于最终用户是完全透明的。即数据库的物理位置对最终用户是透明的,当数据库的物理位置发生变化时,用户界面不必随之变化。

因为数据库应用程序的是依赖于它所访问的数据库的,所以在开发数据库应用程序之前必须要建立一个完善的数据库即数据定义,数据定义应当是开发数据库应用程序的一部分,但它超出了书本的范围,有关数据定义的内容,请参看关系数据库设计方面的资料。在我们用Derphi开发一个数据库应用程序时,可能有下列四种情况。

1、数据库不存在或者必须要重新定义。使用DBD为本地数据库定义Paradox或dBASE 数据库表。使用Delphi提供的服务器开发工具如Windows ISQL或DBD定义本地或远程SQL数据库务器上的数据库。

2、数据库在桌面数据库系统中或局域网上(如Paradox或dBASE),而且BDE、数据库和应用程序在同一台机器上,这是典型的独立应用。

3、数据库在桌面数据库系统中,但是用户要把它改变到SQL数据库服务器中去,这种情况我们在附录C中详细讨论。

4、数据库在SQL数据库服务器中,而且应用程序将到SQL数据库服务器中去访问数据库,这是一个标准的客户/服务器应用。

有关开发客户/服务器应用程序的详细内容,参看“客户/服务器应用”一章。

13.4.2 数据库应用程序的开发步骤

数据库应用程序的最终目标就是为用户提供一个满足其长期需要的软件产品,因此,成功地开发一个数据库应用程序的关键之一是要详细地定义用户的需求,然后再围绕用户的需求进行开发,数据库应用程序的一般开发的三个基本步骤如下。

● 系统设计

● 系统实现

● 系统运行和维护

在这个三个基本步骤中,都包含着数据库的开发和应用程序界面的开发两大类任务,对于一个客户/服务器模式的应用,数据库和应用界面的区别就更明显一些,因为它们运行在不同的平台之上,而且使用的操作系统都常常不一样,如(一个Unix环境的服务器和Windows环境的客户机)。

1、系统设计

系统设计阶段应当根据用户的需求,明确地描述数据库(数据库服务器端)和应用界面(客户机端)实现的功能,即决定哪些功能由服务器端实现,哪些功能由客户机端实现,对于客户/服务器应用程序,许多功能既可以在服务器端实现又可以在客户端实现的,例如一个复杂的数学变换功能既可以由客户端的应用程序实现,也可以由服务器端的存贮过程实现。服务器和客户端应用程序功能的划分往往取决于应用程序运行的硬件环境,例如:如果客户端是低档的PC机,服务器端是高档的工作站,那么大量的计算由服务器完成是比较理想的。

2、系统实现

系统实现阶段的主要任务是使用Delphi提供的工具和部件以及Pascal语言实现系统设计阶段的设想,并进行调试。

在系统实现阶段,最好使用数据库的一个备份数据库,这个备份的数据库与原数据库具有相同的结构,但其中的数据库只是原数据库中的一部分,至所以不在原数据库上开发应用程序,是因为考虑到没有调试好的应用程序可能会破坏数据库中的数据或者妨碍数据库的正常操作。

如果应用程序是基于远程SQL数据库服务器的,在系统实现阶段可以采用两种方法:

● 在本地InterBase服务器上,使用数据库的备份数据库进行开发和调试

● 在远程服务器上,使用数据库的备份数据库进行开发和调试

第一种方法优越性在于,它是独立于服务器的,而不至于影响服务器的其它的操作,而且不消耗服务器的资源不增加网络的负担。它的不利的方面是开发出来的应用程序只能在标准的SQL服务器上使用和调试。第二种方法能够使程序设计人员直接感受到服务器的特性,但它在调试阶段要消耗网络和服务器的资源,这种方法具有一定的危险性,程序中的错误可能会导致服务器的瘫痪。