第12章Delphi数据库开发工具数据库应用程序是项目开发中的一个重要的部分。在众多管理系统中都要用到数据库应用程序,使用数据库来实现对信息的存储、管理及维护,本章主要讲述Delphi的几个数据库工具。12.1数据库系统概述12.2DatabaseDesktop12.3BDEAdministrator12.4ODBC(开放数据库链路)12.5SQLExplorer(数据库管理器)12.6DataPump(数据转移)12.7数据库工具的综合实例12.1数据库系统概述数据库系统提供了管理、存储和维护信息的方法,采用不同的方式管理信息:采用数据库来组织相关的具有一定结构的数据;使用数据库管理系统来管理数据信息即数据库;前台使用数据库应用程序对数据库管理系统存储的数据进行获取、显示、插入、删除等操作。12.1.1数据库管理系统(DBMS)数据库管理系统(DBMS)是提供建立、描述、管理和维护数据库的程序系统,是数据库系统的核心组成部分。它的目标是使用户能科学地组织和存储数据,能从数据库中获取需要的数据,能方便的对数据进行处理,从而实现对数据库进行统一的管理和控制。12.1.1数据库管理系统(DBMS)其主要提供以下四个方面的功能有:1.数据定义功能2.数据操纵功能3.数据库的建立和维护4.数据通信12.1.1数据库管理系统(DBMS)DBMS主要有四种类型:文件管理系统、层次数据库系统、网状数据库系统和关系数据库系统。因为目前关系数据库系统应用最为广泛,所以我们重点对关系数据库系统中的几个概念进行介绍。关系数据库(RelationalDatabase):一个关系数据库是由若干表组成。12.1.1数据库管理系统(DBMS)字段(Field):在表中,每一列称为一个字段,如学号。记录(Record):在表中,每一行称为一条记录,如学号为200401的一条记录。索引(Index):索引是基本表的目录,为了加快访问数据库的速度,一个基本表可以建立多个索引,提供多种存取路径。关键字:关键字是唯一能确定表的一行的属性或属性组。12.1.2数据库应用程序DBMS中存储了大量的数据信息,其目的是为用户提供数据信息服务,而数据库应用程序正是与DBMS进行通信,并访问DBMS中的数据,它是DBMS实现其对外提供数据信息服务这一目的的唯一途径。简单地说,数据库应用程序是一个允许用户插入、修改、删除并报告数据库中的数据的计算机程序。12.1.2数据库应用程序数据库应用程序开发的三个基本步骤如下。(1)系统分析与设计。(2)应用软件的实现。(3)程序运行及维护。在这三个基本步骤中,都包含着数据库的开发和应用程序界面的开发两大类任务。12.1.3Delphi的数据库辅助工具Delphi提供了几个数据库辅助工具为数据库的开发提供了强大的数据管理功能,本节主要介绍常用几个的数据库辅助工具:DatabaseDesktop(数据库工作平台)BDEAdministrator(数据库引擎管理器):利用它建立数据库别名,实现数据库应用程序与相应的数据库的连接。ODBC(开放数据库链路):提供对于Delphi不支持的数据库连接。SQLExplorer(数据库管理器):主要用来浏览数据库。DataPump(数据转移):实现本地数据库或SQL数据库间的基表及其数据的转移。12.2DatabaseDesktopDatabaseDesktop(数据库工作平台)是Delphi数据库应用程序开发常用的工具之一,使用DatabaseDesktop可以建立数据库表的结构,并能修改数据库表的结构,完成对数据库表的数据的输入、修改、删除及查询等,比较简单方便,通用性较强。12.2.1DatabaseDesktop概述单击Windows的“开始”菜单,执行“程序”→“BorlandDelphi6”→“DatabaseDesktop”命令,就可以打开DatabaseDesktop;另一种打开方法为:在Delphi6的集成开发环境中单击“Tools”→“DatabaseDesktop”。其窗口如图12-1所示。图12-1DatabaseDesktop界面12.2.2设定工作目录和私有目录1.设定工作目录WorkingDirectory(工作目录)菜单在DatabaseDesktop窗口下的“File”菜单下,如图12-2所示,可以在WorkingDirectory编辑框中输入一个已经建立的目录作为工作目录。图12-2设置DatabaseDesktop的工作目录12.2.2设定工作目录和私有目录2.设定私有目录PrivateDirectory菜单用于建立一个专用的私有目录来保存建立的临时基表,可以使用系统设置的默认私有目录,也可以重新建立一个私有目录建立私有目录的对话框如图12-3所示。图12-3设置私有目录12.2.3用DatabaseDesktop建立数据库表使用DatabaseDesktop创建数据库表的步骤如下:执行菜单File→New→Table,弹出CreateTable对话框如图12-4所示,提示建立数据库的类型,缺省情况下为Paradox7,如果建立其他类型表格,可以从下拉框中选择,单击OK确定。图12-4CreateTable对话框12.2.3用DatabaseDesktop建立数据库表在CreateParadox7Table的对话框中建立一个信息系学生数据库,过程如下:1.定义字段在FieldName中输入第一个字段的名称SNO,用来表示学生的学号;在Type列单击右健,为SNO选择数据类型,定义为Alpha(字符串类型);即在Key列上单击或按任意健,该列上出现一个*号,表示定义该字段为关键字。12.2.3用DatabaseDesktop建立数据库表2.定义其他字段定义完一个字段后,按〈Enter〉键或向下的方向键〈↓〉定义下一个字段,按照同样的方法定义该字段。定义完的学生表格如图12-6所示。图12-6定义好的学生表对话框12.2.3用DatabaseDesktop建立数据库表3.保存保存数据库表单击“SaveAs”按钮,再出现的对话框中选择一个数据库别名,然后输入一个文件名,比如“学生表_”,保存该数据库表。并返回到DatabaseDesktop的主界面。4.创建其他数据库表按照上述3个步骤建立其他数据库表格。12.2.4编辑数据在DatabaseDesktop种,单击File→Open→Table选项,弹出要选择数据库表的信息框,如选中“学生表_”,单击“打开”按钮即可打开该表,如图12-7所示。图12-7执行“打开”后的学生表对话框单击菜单命令Table→EditData,就可以编辑表中的数据,也可以使用〈F9〉键,完成编辑命令操作。12.2.5数据库表的各种属性在图12-6右边的TableProperties下拉列表框中提供了一个属性列表,可以对数据库表的各种属性进行设置,比如有效性检查、第二索引、口令等。各种属性的设置如下:1.ValidityChecks(有效性检查)进行有效性设置。RequiredField属性表示该字段不能为空;MininumValue表示输入字段的最小值;MaxinumValue表示输入字段的最大值;DefautValue表示输入值短的默认值;Picture表示字段的图像显示方式。12.2.5数据库表的各种属性2.TableLookup(参照完整性设置)定义“子表”和“主表”的参照完整性。即“子表”中的一个字段或者一组字段必须在“父表”存在,数据库只接受那些存在于“父表”的字段的值作为“子表”中所指定的字段的正确值,并且只能在由匹配值的字段之间建立参照完整性检查。12.2.5数据库表的各种属性3.SecondaryIndexes(第二索引属性)设置数据库表格的第二索引属性。单击Define按钮,弹出定义第二索引对话框。在Fields列表框中显示数据表格的所有字段。选择需要定义的字段,添加到Indexedfields列表框中。该字段就定义为数据表格的第二索引字段。4.ReferentialIntegrity(引用完整性)本属性用于维护父表与子表之间的引用完整性。5.PasswordSecurity(数据表格的密码属性)用来定义数据库表格的密码。选择PasswordSecurity选项,单击Define按钮,弹出设置密码对话框,如图12-11所示。12.2.6建立其它型数据库表使用DatabaseDesktop除了建立Paradox7类型的表格外,还可以建立其他类型的表格,其中建立SQL型数据库表的步骤如下:1.建立新表.在DatabaseDesktop中,单击File→New→Table,在弹出的CreateTable对话框中选择MSSQL,单击OK按钮,就打开建立表的对话框。2.定义索引.单击DefineIndex按钮,打开DefineIndex对话框。12.2.7使用SQL查询和QBE查询SQL查询和QBE查询是DatabaseDesktop提供的两种查询工具,SQL查询是使用SQL语句执行的查询方法,是一种常用的高级查询方法,QBE查询是一种形式化查询的方法,比较直观方便,它直接产生SQL语句。下面分别介绍。12.2.7使用SQL查询和QBE查询1.使用SQL查询单击File→New→SQLFile选项,打开一个新的SQL语句窗口,可以直接在SQL窗口中输入语句。此时DatabaseDesktop的主菜单中将增加Search和SQL两项,同时增加了几个加速按钮来完成查询功能。执行SQL→SQLRun,即可执行相应的查询操作。12.2.7使用SQL查询和QBE查询2.使用QBE查询依次单击File→New→QBEQuery选项,选择数据库表并打开。根据查询条件选中要查询的字段,也可以对某字段做出限定,字段选中后有一个对勾。然后选择菜单上Query→RunQuery或F8执行查询命令,也可以选择Query→ShowSQL,显示系统自动生成的SQL代码,然后运行该查询,如图12-17所示。12.3BDEAdministratorBDEAdministrator(数据库引擎管理器)是BDE的配置程序,它主要对Delphi数据库应用程序使用的别名进行管理,配置驱动程序等信息。利用它是限于相应数据库应用程序的连接。运行BDEAdministrator有两种方式:单击Windows的“开始”菜单,执行“程序”→BorlandDelphi6→BDEAdministrator命令,就可以打开BDEAdministrator;另一种打开方法为:在“控制面板”中,打开“BDEAdministrator”图标。12.3BDEAdministrator1.别名管理不同的数据库由不同的信息,为了使数据库应用程序能不需修改的情况下,能与多个数据库建立连接,BDEAdministrator提供了建立数据库别名的功能。。12.3BDEAdministrator•Database选项卡中列出的是已经存在的数据库别名,选中某个别名后,其信息将显示在由窗格中。建立新的数据库别名的方法:选择一个数据库对象,单击鼠标右健,从弹出的菜单中选择“New”选项,弹出“NewDatabaseAlias”对话框,选择数据库驱动程序,然后进行参数配置2.驱动程序的管理在Configuration选项卡中,Dirvers选项中列出了支持的数据库格式,其中Native选项下是本地数据库格式;ODBC可以用来连接Delphi不支持的数据库。System选项中用于设置有关系统的配置。12.4ODBC(开放数据库链路)ODBC的英文全称是OpenDatabaseConnectivity,ODBC内含的驱动程序与具体数据库相关,一个驱动就是一个支持ODBC调用的函数模块,用户通过调用驱动程序提供的接口函数来访问数据库,要使用不同类型的数据库只需要调整ODBC数据库连接。12.4ODBC(开放数据库链路)这里只介绍通过控制面板进行配置的方法。(1)双击控制面板中的ODBCDataSource