Delphi数据库开发工具范文Word下载.docx
《Delphi数据库开发工具范文Word下载.docx》由会员分享,可在线阅读,更多相关《Delphi数据库开发工具范文Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
严格地说,一个完整的数据库系统还应该包含数据库用户。
数据库用户根据他们的工作内容可分成以下三类人员。
①终端用户:
这类人员一般是不要求精通计算机的各级管理人员,他们一般使用应用程序提供的菜单来操作数据库、生成报表等。
②设计与开发人员:
这类人员是负责设计和编制应用程序的人员。
系统分析员:
负责应用系统的需求分析和规范说明,确定系统的软、硬件配置,参与数据库系统的概要设计
数据库设计人员:
参与需求调查和系统分析,负责数据库中数据的确定,各级模式的设计
应用程序员:
负责设计和编写系统的程序模块,并进行调试和安装
③数据库管理员:
这类人员是指全面负责数据库系统的管理维护,保证系统能够正常使用的人员。
在数据库系统环境下,有两类共享资源。
一类是数据库,另一类是数据库管理系统软件。
因此需要有专门的管理机构来监督和管理数据库系统。
职责1:
数据库要存放哪些信息,DBA要参与决策。
因此DBA要与其它人员一起搞好数据库设计,参与数据库设计的全过程。
职责2:
DBA根据应用要求,和数据库设计人员一起共同决定数据的存储结构和存取策略,以求获得较高的存取效率和存储空间利用率。
例如:
针对数据库的应用主要是查询,还是更新,数据库中数据的存储方式有多种选择。
?
职责3:
确定用户的存取权限、数据的保密级别、完整性约束条件
职责4:
及时处理数据库系统运行过程中出现的问题,周期性的转储数据、维护日志文件。
职责5:
在系统运行期间监控系统的空间利用率、处理效率等性能指标,对运行情况进行记录、统计分析,根据实际运行环境和工作经验不断改进数据库设计。
在运行过程中,由于大量数据的不断插入、删除,时间一长会影响系统的性能。
因此,要定期对数据库进行重组,以提高系统的性能。
当用户的需求发生改变和增加时,要重新构造数据库,修改部分结构。
但是,对规模较小的数据库系统,数据库用户除应用程序员外,只有一个终端用户,而这个终端用户也就兼任数据库管理员的工作。
12.1.2数据库系统的开发
数据库系统设计是在现成的数据库管理系统上建立数据库应用系统的过程。
应包括软硬件的选择和数据库应用系统的设计两部分。
通常所称的数据库系统设计(或数据库设计)主要是指数据库应用系统设计,它是指在具备了DBMS、系统软件、操作系统和硬件(含网络)的环境后,开发人员使用这一环境,利用各种开发工具,设计出用户满意的数据结构和相应的数据处理程序,建立数据库应用系统的过程。
数据库应用系统设计可以分为需求分析、软件设计、测试、运行与维护四个阶段,还可以进一步细分为数据分析、功能分析、数据库设计、应用程序设计、测试、运行和维护七个内容与步骤。
在软件设计阶段有两个重要的设计内容,即数据库设计和应用程序设计。
数据库设计又称数据结构设计,应用程序设计又称处理程序设计,这两个内容是数据库应用系统设计的核心,两者相互支持又相互制约。
处理是对数据的加工,不同的用户有不同的要求,其设计与用户的具体要求密切相关。
数据是处理加工的对象,对数据库而论,它是所有数据的综合,面向全体用户。
12.1.3数据库系统的体系结构
数据库应用程序在逻辑上通常由两部分组成:
一是数据库访问链路,二是用户界面。
这就是数据库系统应用程序的体系结构。
数据库应用程序的体系结构包括单层、两层和多层。
Delphi应用程序能存取各类数据——文件服务器或本地的桌面数据表及远程数据库。
Delphi程序通过BDE(BorlandDatabaseEngine)或者ADO(ActiveDataObject)来访问各种数据源。
其中BDE是Borland公司开发的数据库引擎,它的基本思想是把应用程序开发接口部分与连接数据库的部分分开。
这样用户就可以按照自己的意愿把应用程序前端部分代码得编写通用,而数据源改变也不用重新编码,只要重新设置BDE就可以。
ADO数据访问接口是Microsoft公司处理数据库信息的最新技术。
它是一种ActiveX对象,采用OLEDB的数据访问模式,是数据访问对象DAO、远程数据对象RDO和开放数据库互联ODBC三种方式的扩展。
ADO已成为访问数据库的新标准。
数据库分为本地数据库和远程数据库两种。
例如Paradox、dBase、FoxPro和Access等,这些数据库被称为本地数据库,一般用于编写单层的数据库应用程序,即本地数据库应用程序。
另一种是远程数据库服务器,如InterBase、Oracle、Sybase、Informix、MicrosoftSqlServer和DB2等,一般用于编写多层次的数据库应用程序,即C/S(客户/服务器Client/Server)数据库应用程序和多层数据库应用程序。
Delphi数据库应用程序通过BDE或者ADO获取它们所需的数据。
Delphi所支持的数据库种类一般包括以下几种。
1.dBase数据库(.DBF)
2.Paradox数据库
3.ASCII文件(.TXT)
4.本地InterBase服务器(.GDB)
5.Access数据库(.MDB)
6.各种数据库服务器
7.可以通过ODBC与其他数据库建立链接
12.1.4Delphi的数据库辅助工具
Delphi提供了几个数据库辅助工具为数据库的开发提供了强大的数据管理功能,本节主要介绍常用几个的数据库辅助工具:
Ø
DatabaseDesktop(数据库工作平台)
BDEAdministrator(数据库引擎管理器):
利用它建立数据库别名,实现数据库应用程序与相应的数据库的连接。
ODBC(开放数据库链路):
提供对于Delphi不支持的数据库连接。
SQLExplorer(数据库管理器):
主要用来浏览数据库。
DataPump(数据转移):
实现本地数据库或SQL数据库间的基表及其数据的转移。
12.2DatabaseDesktop
12.2.1DatabaseDesktop概述
DatabaseDesktop(数据库工作平台)是Delphi数据库应用程序开发常用的工具之一,使用DatabaseDesktop可以建立数据库表的结构,并能修改数据库表的结构,完成对数据库表的数据的输入、修改、删除及查询等,比较简单方便,通用性较强。
12.2.2设定工作目录和私有目录
1.设定工作目录
WorkingDirectory(工作目录)菜单在DatabaseDesktop窗口下的“File”菜单下,可以在WorkingDirectory编辑框中输入一个已经建立的目录作为工作目录。
2.设定私有目录
PrivateDirectory菜单用于建立一个专用的私有目录来保存建立的临时基表,可以使用系统设置的默认私有目录,也可以重新建立一个私有目录。
12.2.3用DatabaseDesktop建立数据库表
使用DatabaseDesktop创建数据库表的步骤如下:
执行菜单File→New→Table,弹出CreateTable对话框,提示建立数据库的类型,缺省情况下为Paradox7,如果建立其他类型表格,可以从下拉框中选择,单击OK确定。
在CreateParadox7Table的对话框中建立一个信息系学生数据库,过程如下:
1.定义字段
在FieldName中输入第一个字段的名称SNO,用来表示学生的学号;
在Type列单击右健,为SNO选择数据类型,定义为Alpha(字符串类型);
即在Key列上单击或按任意健,该列上出现一个*号,表示定义该字段为关键字。
2.定义其他字段
定义完一个字段后,按〈Enter〉键或向下的方向键〈↓〉定义下一个字段,按照同样的方法定义该字段。
3.保存
保存数据库表单击“SaveAs”按钮,在出现的对话框中选择一个数据库别名,然后输入一个文件名,比如“学生表_”,保存该数据库表。
并返回到DatabaseDesktop的主界面。
4.创建其他数据库表
按照上述3个步骤建立其他数据库表格。
12.2.4编辑数据
在DatabaseDesktop种,单击File→Open→Table选项,弹出要选择数据库表的信息框,如选中“学生表_”,单击“打开”按钮即可打开该表。
单击菜单命令Table→EditData,就可以编辑表中的数据,也可以使用〈F9〉键,完成编辑命令操作。
12.2.5数据库表的各种属性
在TableProperties下拉列表框中提供了一个属性列表,可以对数据库表的各种属性进行设置,比如有效性检查、第二索引、口令等。
各种属性的设置如下:
1.ValidityChecks(有效性检查)
进行有效性设置。
RequiredField属性表示该字段不能为空;
MininumValue表示输入字段的最小值;
MaxinumValue表示输入字段的最大值;
DefautValue表示输入值短的默认值;
Picture表示字段的图像显示方式。
2.TableLookup(参照完整性设置)
定义“子表”和“主表”的参照完整性。
即“子表”中的一个字段或者一组字段必须在“父表”存在,数据库只接受那些存在于“父表”的字段的值作为“子表”中所指定的字段的正确值,并且只能在由匹配值的字段之间建立参照完整性检查。
3.SecondaryIndexes(第二索引属性)
设置数据库表格的第二索引属性。
单击Define按钮,弹出定义第二索引对话框。
在Fields列表框中显示数据表格的所有字段。
选择需要定义的字段,添加到Indexedfields列表框中。
该字段就定义为数据表格的第二索引字段。
4.ReferentialIntegrity(引用完整性)
本属性用于维护父表与子表之间的引用完整性。
5.PasswordSecurity(数据表格的密码属性)
用来定义数据库表格的密码。
选择PasswordSecurity选项,单击Define按钮,弹出设置密码对话框。
12.2.6建立其它型数据库表
使用DatabaseDesktop除了建立Paradox7类型的表格外,还可以建立其他类型的表格。
12.2.7使用SQL查询和QBE查询
SQL查询和QBE查询是DatabaseDesktop提供的两种查询工具,SQL查询是使用SQL语句执行的查询方法,是一种常用的高级查询方法,QBE查询是一种形式化查询的方法,比较直观方便,它直接产生SQL语句。
下面分别介绍:
1.使用SQL查询
单击File→New→SQLFile选项,打开一个新的SQL语句窗口,可以直接在SQL窗口中输入语句。
此时DatabaseDesktop的主菜单中将增加Search和SQL两项,同时增加了几个加速按钮来完成查询功能。
执行SQL→SQLRun,即可执行相应的查询操作。
2.使用QBE查询
依次单击File→New→QBEQuery选项,选择数据库表并打开。
根据查询条件选中要查询的字段,也可以对某字段做出限定,字段选中后有一个对勾。
然后选择菜单上Query→RunQuery或<
F8>
执行查询命令,也可以选择Query→ShowSQL,显示系统自动生成的SQL代码,然后运行该查询。
12.3BDEAdministrator
BDEAdministrator(数据库引擎管理器)是BDE的配置程序,它主要对Delphi数据库应用程序使用的别名进行管理,配置驱动程序等信息。
利用它是限于相应数据库应用程序的连接。
运行BDEAdministrator有两种方式:
单击Windows的“开始”菜单,执行“程序”→BorlandDelphi6→BDEAdministrator命令,就可以打开BDEAdministrator;
另一种打开方法为:
在“控制面板”中,打开“BDEAdministrator”图标。
1.别名管理
不同的数据库有不同的信息,为了使数据库应用程序不需修改的情况下,能与多个数据库建立连接,BDEAdministrator提供了建立数据库别名的功能。
Database选项卡中列出的是已经存在的数据库别名,选中某个别名后,其信息将显示在窗格中。
建立新的数据库别名的方法:
选择一个数据库对象,单击鼠标右健,从弹出的菜单中选择“New”选项,弹出“NewDatabaseAlias”对话框,选择数据库驱动程序,然后进行参数配置。
2.驱动程序的管理
在Configuration选项卡中,Drivers选项中列出了支持的数据库格式,其中Native选项下是本地数据库格式;
ODBC可以用来连接Delphi不支持的数据库。
System选项中用于设置有关系统的配置。
12.4ODBC(开放数据库链路)
ODBC的英文全称是OpenDatabaseConnectivity,ODBC内含的驱动程序与具体数据库相关,一个驱动就是一个支持ODBC调用的函数模块,用户通过调用驱动程序提供的接口函数来访问数据库,要使用不同类型的数据库只需要调整ODBC数据库连接。
这里只介绍通过控制面板进行配置的方法。
(1)双击控制面板中的ODBCDataSources(32bit),打开ODBCDataSourceAdministrator窗口,单击“Add”按钮,打开新建数据源的窗口,提示用户选择数据源的驱动程序。
(2)从驱动程序列表中选择驱动程序,这里选择“MicrosoftAccessDriver(*.mdb)”为例,单即“完成”按钮,弹出“ODBCMicrosoftAccess安装”窗口,设定数据源名,单击“选择”按钮,弹出“选择数据库”窗口,进行配置数据库(已存在的),单击“确定”按钮,返回到“ODBCMicrosoftAccess安装”窗口,单击“确定”,返回到“ODBCDataSourceAdministrator”窗。
单击“确定”按钮,完成了对数据源的配置。
12.5SQLExplorer(数据库管理器)
12.5.1数据库的管理
数据库资源管理器是一个功能强大的数据库浏览工具,通过该工具可以查看、编辑、修改、查询数据库中的数据记录,也可以创建、编辑、修改、删除数据库别名。
1.浏览数据库与建立数据库
在Database选项卡中,选中任一个数据库,就可以浏览数据库的定义。
右击任一个数据库,会弹出一个菜单,执行菜单中的“New”命令,出现NewDatabaseAlias对话框,进行选择数据库的驱动程序,然后单击“OK”。
完成操作后,右击Database选型卡中的数据库别名,在弹出的菜单中执行“Apply”命令,完成建立数据别名操作。
2.修改数据库
在Database选项卡中选中该数据库,右侧窗格“Definition”中显示格参数的配置;
可以对其进行修改;
修改完后,在Database选项卡中单击鼠标右键,执行“Apply”命令,就完成了对数据库的修改。
3.删除数据库
在要删除的数据库名上单击鼠标右健,在弹出的菜单中执行“Delete”命令,然后在Database选项卡中单击鼠标右键,执行“Apply”命令,就完成了数据库的删除操作。
12.5.2数据库的访问
1.加密
双击“Database”选项卡中的一个数据库,将弹出“DatabaseLogin”对话框。
其中要求输入用户名和口令。
从而进行加密。
2.访问数据库的内容
双击“Database”选项卡中的一个数据库,或执行“Open”后,进入数据库。
12.6DataPump(数据转移)
DataPump(数据转移)可以实现数据库间的基表及其数据的转移,即从源数据库的基表中读取数据,然后移动到目标数据库的基表中,在移动过程中源基表的数据类型会根据目标数据库的数据类型进行相应的变化。
12.7数据库工具的综合实例
为掌握本章的数据开发工具,设置综合实例如下:
(1)使用DatabaseDesktop创建3张Paradox7的数据表,用来描述学生借书的信息。
表的结构见P225表12-3、表12-4、表12-5。
(2)设置Record表中的studentno、bookno的参照完整性
(3)编辑数据库表。
(4)建立索引:
在表三中分别studengtno和bookno建立第二索引。
(4)使用BDEAdministrator设置该数据库别名为book。
OLEDB的概念与编程
OLEDB的概念
简单地说,OLEDB是一种技术标准,目的是提供一种统一的数据访问接口,这里所说的“数据”,除了标准的关系型数据库中的数据之外,还包括邮件数据、Web上的文本或图形、目录服务(DirectoryServices),以及主机系统中的IMS和VSAM数据。
OLEDB标准的核心内容就是要求以上这些各种各样的数据存储(DataStore)都提供一种相同的访问接口,使得数据的使用者(应用程序)可以使用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类型。
OLEDB标准的具体实现是一组C++API函数,就像ODBC标准中的ODBCAPI一样,不同的是,OLEDB的API是符合COM标准、基于对象的(ODBCAPI则是简单的CAPI)。
使用OLEDBAPI,可以编写能够访问符合OLEDB标准的任何数据源的应用程序,也可以编写针对某种特定数据存储的查询处理程序(QueryProcessor)和游标引擎(CursorEngine),因此OLEDB标准实际上是规定了数据使用者和提供者之间的一种应用层的协议(Application-LevelProtocol)。
即将发布的微软最新数据库产品SQLServer7.0的查询处理程序就是使用OLEDBAPI编写的,所以在SQLServer7.0的Transact-SQL语法中,可以支持异种数据库的查询,当然,这些异种数据库必须也提供相应的OLEDB访问接口。
OLEDB标准中定义的新概念
OLEDB将传统的数据库系统划分为多个逻辑组件,这些组件之间相对独立又相互通信。
这种组件模型中的各个部分被冠以不同的名称:
数据提供者(DataProvider)。
提供数据存储的软件组件,小到普通的文本文件、大到主机上的复杂数据库,或者电子邮件存储,都是数据提供者的例子。
有的文档把这些软件组件的开发商也称为数据提供者。
数据服务提供者(DataServiceProvider)。
位于数据提供者之上、从过去的数据库管理系统中分离出来、独立运行的功能组件,例如查询处理器和游标引擎(CursorEngine),这些组件使得数据提供者提供的数据以表状数据(TabularData)的形式向外表示(不管真实的物理数据是如何组织和存储的),并实现数据的查询和修改功能。
SQLServer7.0的查询处理程序就是这种组件的典型例子。
业务组件(BusinessComponent)。
利用数据服务提供者、专门完成某种特定业务信息处理、可以重用的功能组件。
分布式数据库应用系统中的中间层(Middle-Tier)就是这种组件的典型例子。
数据消费者(DataConsumer)。
任何需要访问数据的系统程序或应用程序,除了典型的数据库应用程序之外,还包括需要访问各种数据源的开发工具或语言。
OLEDB与ODBC的关系
由于OLEDB和ODBC标准都是为了提供统一的访问数据接口,所以曾经有人疑惑:
OLEDB是不是替代ODBC的新标准?
答案是否定的。
实际上,ODBC标准的对象是基于SQL的数据源(SQL-BasedDataSource),而OLEDB的对象则是范围更为广泛的任何数据存储。
从这个意义上说,符合ODBC标准的数据源是符合OLEDB标准的数据存储的子集。
符合ODBC标准的数据源要符合OLEDB标准,还必须提供相应的OLEDB服务程序(ServiceProvider),就像SQLServer要符合ODBC标准,必须提供SQLServerODBC驱动程序一样。
现在,微软自己已经为所有的ODBC数据源提供了一个统一的OLEDB服务程序,叫做ODBCOLEDBProvider。
ODBCOLEDBProvider发布之后,有人又担心:
ODBCProvider是不是在ODBC之上的新的层次(Layer)?
如果是,那么使用OLEDB访问ODBC数据源是否将影响性能?
答案也是否定的。
实际上,ODBCProvider的作用,是替换ODBCDriverManager,作为应用程序与ODBC驱动程序之间的桥梁,理论上不会增加任何开销。
ADO的概念
我们已经知道,OLEDB标准的API是C++API,只能供C++语言调用(这也是OLEDB没有改名为ActiveXDB的原因,ActiveX是与语言无关的组件技术)。
为了使得流行的各种编程语言都可以编写符合OLEDB标准的应用程序,微软在OLEDBAPI之上,提供了一种面向对象、与语言无关的(Language-Neutral)应用编程接口,这就是ActiveXDataObjects,简称ADO。
与DAO、RDO等类似,ADO实际上是一种对象模型,不过这个对象模型相对简单,示意如下:
在这个对象模型中,Connection类似于RDO的rdoConnection或者DAO的Database,Command类似于RDO的rdoPrepare