1、Delphi数据库开发工具范文第12章 delphi数据库开发工具 本章要点: 数据库系统的基本概念 学会使用delphi数据库开发工具12.1 数据库系统概述12.1.1 数据库系统的基础知识数据库系统(DBS 即Database System)是以数据库为核心,并以管理为目的的计算机系统称为数据库系统(Data Base System,简称DBS)。数据库系统狭义地讲是由数据库、数据库管理系统和用户构成、广义地讲是由计算机硬件、操作系统、数据库管理系统以及在它支持下建立起来的数据库、应用程序、用户和维护人员组成的一个整体。数据库系统同其他计算机系统类似,是由计算机硬件和软件两部分组成。计算
2、机硬件资源包括主机和输入/输出设备。数据库系统的硬件应要求有足够大和安全的磁盘等直接存储设备,用于安全地存储庞大的数据;要求有较高的通讯能力,以提高数据传送率;要求系统支持联网,实现数据共享。数据库系统的软件包括操作系统、数据库管理系统(编译系统)和应用程序系统。1. 数据库2. 数据库管理系统3. 应用程序系统应用程序系统是指数据库应用程序系统,它是针对某一个管理对象(应用)而设计的一个面向用户的软件系统,是建立在DBMS基础上的,而且具有良好的交互操作性和用户界面。数据库应用程序与DBMS进行通信,并访问DBMS中的数据,它是DBMS实现其对外提供数据信息服务这一目的的唯一途径。简单地说,
3、数据库应用程序是一个允许用户插入、修改、删除并报告数据库中的数据的计算机程序。 如学生选课管理系统、人事管理系统、财务管理系统等均为一个数据库应用程序系统。它与数据库管理系统和数据库一同构成数据库软件系统。这种实用数据库系统也常常称为管理信息系统(Management Information System,简称MIS)。4. 数据库用户严格地说,一个完整的数据库系统还应该包含数据库用户。数据库用户根据他们的工作内容可分成以下三类人员。 终端用户:这类人员一般是不要求精通计算机的各级管理人员,他们一般使用应用程序提供的菜单来操作数据库、生成报表等。 设计与开发人员:这类人员是负责设计和编制应用程
4、序的人员。系统分析员:负责应用系统的需求分析和规范说明,确定系统的软、硬件配置,参与数据库系统的概要设计数据库设计人员:参与需求调查和系统分析,负责数据库中数据的确定,各级模式的设计应用程序员:负责设计和编写系统的程序模块,并进行调试和安装 数据库管理员:这类人员是指全面负责数据库系统的管理维护,保证系统能够正常使用的人员。在数据库系统环境下,有两类共享资源。一类是数据库,另一类是数据库管理系统软件。因此需要有专门的管理机构来监督和管理数据库系统。职责1:数据库要存放哪些信息,DBA要参与决策。因此DBA要与其它人员一起搞好数据库设计,参与数据库设计的全过程。职责2:DBA根据应用要求,和数据
5、库设计人员一起共同决定数据的存储结构和存取策略,以求获得较高的存取效率和存储空间利用率。例如:针对数据库的应用主要是查询,还是更新,数据库中数据的存储方式有多种选择。?职责3:确定用户的存取权限、数据的保密级别、完整性约束条件职责4:及时处理数据库系统运行过程中出现的问题,周期性的转储数据、维护日志文件。职责5:在系统运行期间监控系统的空间利用率、处理效率等性能指标,对运行情况进行记录、统计分析,根据实际运行环境和工作经验不断改进数据库设计。在运行过程中,由于大量数据的不断插入、删除,时间一长会影响系统的性能。因此,要定期对数据库进行重组,以提高系统的性能。当用户的需求发生改变和增加时,要重新
6、构造数据库,修改部分结构。但是,对规模较小的数据库系统,数据库用户除应用程序员外,只有一个终端用户,而这个终端用户也就兼任数据库管理员的工作。12.1.2 数据库系统的开发数据库系统设计是在现成的数据库管理系统上建立数据库应用系统的过程。应包括软硬件的选择和数据库应用系统的设计两部分。通常所称的数据库系统设计(或数据库设计)主要是指数据库应用系统设计,它是指在具备了DBMS、系统软件、操作系统和硬件(含网络)的环境后,开发人员使用这一环境,利用各种开发工具,设计出用户满意的数据结构和相应的数据处理程序,建立数据库应用系统的过程。数据库应用系统设计可以分为需求分析、软件设计、测试、运行与维护四个
7、阶段,还可以进一步细分为数据分析、功能分析、数据库设计、应用程序设计、测试、运行和维护七个内容与步骤。在软件设计阶段有两个重要的设计内容,即数据库设计和应用程序设计。数据库设计又称数据结构设计,应用程序设计又称处理程序设计,这两个内容是数据库应用系统设计的核心,两者相互支持又相互制约。处理是对数据的加工,不同的用户有不同的要求,其设计与用户的具体要求密切相关。数据是处理加工的对象,对数据库而论,它是所有数据的综合,面向全体用户。12.1.3 数据库系统的体系结构数据库应用程序在逻辑上通常由两部分组成:一是数据库访问链路,二是用户界面。这就是数据库系统应用程序的体系结构。数据库应用程序的体系结构
8、包括单层、两层和多层。Delphi应用程序能存取各类数据文件服务器或本地的桌面数据表及远程数据库。Delphi程序通过BDE(Borland Database Engine)或者ADO(Active Data Object)来访问各种数据源。其中BDE是Borland公司开发的数据库引擎,它的基本思想是把应用程序开发接口部分与连接数据库的部分分开。这样用户就可以按照自己的意愿把应用程序前端部分代码得编写通用,而数据源改变也不用重新编码,只要重新设置BDE就可以。ADO数据访问接口是Microsoft公司处理数据库信息的最新技术。它是一种ActiveX对象,采用OLE DB的数据访问模式,是数据
9、访问对象DAO、远程数据对象RDO和开放数据库互联ODBC三种方式的扩展。ADO已成为访问数据库的新标准。数据库分为本地数据库和远程数据库两种。例如Paradox、dBase、FoxPro和Access等,这些数据库被称为本地数据库,一般用于编写单层的数据库应用程序,即本地数据库应用程序。另一种是远程数据库服务器,如InterBase、Oracle、Sybase、Informix、Microsoft Sql Server和DB2等,一般用于编写多层次的数据库应用程序,即C/S(客户/服务器Client/Server)数据库应用程序和多层数据库应用程序。Delphi数据库应用程序通过BDE或者A
10、DO获取它们所需的数据。Delphi所支持的数据库种类一般包括以下几种。1. dBase数据库(.DBF)2. Paradox数据库3. ASCII文件(.TXT)4. 本地InterBase服务器(.GDB)5. Access数据库(.MDB)6. 各种数据库服务器7. 可以通过ODBC与其他数据库建立链接12.1.4 Delphi的数据库辅助工具 Delphi提供了几个数据库辅助工具为数据库的开发提供了强大的数据管理功能,本节主要介绍常用几个的数据库辅助工具: Database Desktop(数据库工作平台) BDE Administrator(数据库引擎管理器):利用它建立数据库别名,
11、实现数据库应用程序与相应的数据库的连接。 ODBC(开放数据库链路):提供对于Delphi不支持的数据库连接。 SQL Explorer(数据库管理器):主要用来浏览数据库。 Data Pump(数据转移):实现本地数据库或SQL数据库间的基表及其数据的转移。12.2 Database Desktop12.2.1 Database Desktop概述Database Desktop(数据库工作平台)是Delphi数据库应用程序开发常用的工具之一,使用Database Desktop可以建立数据库表的结构,并能修改数据库表的结构,完成对数据库表的数据的输入、修改、删除及查询等,比较简单方便,通用
12、性较强。12.2.2 设定工作目录和私有目录1. 设定工作目录Working Directory(工作目录)菜单在Database Desktop窗口下的“File”菜单下,可以在Working Directory编辑框中输入一个已经建立的目录作为工作目录。 2. 设定私有目录Private Directory菜单用于建立一个专用的私有目录来保存建立的临时基表,可以使用系统设置的默认私有目录,也可以重新建立一个私有目录。12.2.3 用Database Desktop建立数据库表使用Database Desktop创建数据库表的步骤如下: 执行菜单FileNewTable,弹出Create T
13、able对话框,提示建立数据库的类型,缺省情况下为Paradox 7,如果建立其他类型表格,可以从下拉框中选择,单击OK确定。在Create Paradox 7 Table的对话框中建立一个信息系学生数据库,过程如下:1. 定义字段在Field Name中输入第一个字段的名称SNO,用来表示学生的学号;在 Type列单击右健,为SNO选择数据类型,定义为Alpha(字符串类型);即在Key列上单击或按任意健,该列上出现一个*号,表示定义该字段为关键字。2.定义其他字段定义完一个字段后,按Enter键或向下的方向键定义下一个字段,按照同样的方法定义该字段。3. 保存保存数据库表单击“Save A
14、s”按钮,在出现的对话框中选择一个数据库别名,然后输入一个文件名,比如“学生表_”,保存该数据库表。并返回到Database Desktop的主界面。4. 创建其他数据库表按照上述3个步骤建立其他数据库表格。12.2.4 编辑数据在Database Desktop种,单击FileOpenTable选项,弹出要选择数据库表的信息框,如选中“学生表_”,单击“打开”按钮即可打开该表。单击菜单命令TableEdit Data,就可以编辑表中的数据,也可以使用F9键,完成编辑命令操作。 12.2.5 数据库表的各种属性在Table Properties下拉列表框中提供了一个属性列表,可以对数据库表的各
15、种属性进行设置,比如有效性检查、第二索引、口令等。各种属性的设置如下:1. Validity Checks(有效性检查)进行有效性设置。Required Field属性表示该字段不能为空;Mininum Value表示输入字段的最小值;Maxinum Value表示输入字段的最大值;Defaut Value表示输入值短的默认值;Picture表示字段的图像显示方式。2. Table Lookup(参照完整性设置)定义“子表”和“主表”的参照完整性。即“子表”中的一个字段或者一组字段必须在“父表”存在,数据库只接受那些存在于“父表”的字段的值作为“子表”中所指定的字段的正确值,并且只能在由匹配值
16、的字段之间建立参照完整性检查。3. Secondary Indexes(第二索引属性)设置数据库表格的第二索引属性。单击Define按钮,弹出定义第二索引对话框。在Fields列表框中显示数据表格的所有字段。选择需要定义的字段,添加到Indexed fields列表框中。该字段就定义为数据表格的第二索引字段。4. Referential Integrity(引用完整性)本属性用于维护父表与子表之间的引用完整性。5. Password Security(数据表格的密码属性)用来定义数据库表格的密码。选择Password Security选项,单击Define按钮,弹出设置密码对话框。 12.2.
17、6 建立其它型数据库表使用Database Desktop除了建立Paradox 7类型的表格外,还可以建立其他类型的表格。12.2.7 使用SQL查询和QBE查询SQL查询和QBE查询是Database Desktop提供的两种查询工具,SQL查询是使用SQL语句执行的查询方法,是一种常用的高级查询方法,QBE查询是一种形式化查询的方法,比较直观方便,它直接产生SQL语句。下面分别介绍:1. 使用SQL查询单击FileNewSQL File选项,打开一个新的SQL语句窗口,可以直接在SQL窗口中输入语句。 此时Database Desktop的主菜单中将增加Search和SQL两项,同时增加
18、了几个加速按钮来完成查询功能。执行SQLSQL Run,即可执行相应的查询操作。2. 使用QBE查询依次单击FileNewQBE Query选项,选择数据库表并打开。根据查询条件选中要查询的字段,也可以对某字段做出限定,字段选中后有一个对勾。然后选择菜单上QueryRun Query或执行查询命令,也可以选择QueryShow SQL,显示系统自动生成的SQL代码,然后运行该查询。 12.3 BDE AdministratorBDE Administrator(数据库引擎管理器)是BDE的配置程序,它主要对Delphi数据库应用程序使用的别名进行管理,配置驱动程序等信息。利用它是限于相应数据库
19、应用程序的连接。运行BDE Administrator有两种方式:单击Windows的“开始”菜单,执行“程序”Borland Delphi 6BDE Administrator命令,就可以打开BDE Administrator;另一种打开方法为:在“控制面板”中,打开“BDE Administrator”图标。 1. 别名管理不同的数据库有不同的信息,为了使数据库应用程序不需修改的情况下,能与多个数据库建立连接,BDE Administrator提供了建立数据库别名的功能。Database选项卡中列出的是已经存在的数据库别名,选中某个别名后,其信息将显示在窗格中。建立新的数据库别名的方法:选
20、择一个数据库对象,单击鼠标右健,从弹出的菜单中选择“New”选项,弹出“New Database Alias”对话框,选择数据库驱动程序,然后进行参数配置。2. 驱动程序的管理在Configuration选项卡中,Drivers选项中列出了支持的数据库格式,其中Native选项下是本地数据库格式;ODBC可以用来连接Delphi不支持的数据库。System选项中用于设置有关系统的配置。12.4 ODBC(开放数据库链路)ODBC的英文全称是Open Database Connectivity, ODBC内含的驱动程序与具体数据库相关,一个驱动就是一个支持ODBC调用的函数模块,用户通过调用驱动
21、程序提供的接口函数来访问数据库,要使用不同类型的数据库只需要调整ODBC数据库连接。这里只介绍通过控制面板进行配置的方法。(1) 双击控制面板中的 ODBC Data Sources(32 bit),打开ODBC Data Source Administrator窗口,单击“Add”按钮,打开新建数据源的窗口,提示用户选择数据源的驱动程序。(2) 从驱动程序列表中选择驱动程序,这里选择“Microsoft Access Driver(*.mdb)”为例,单即“完成”按钮,弹出“ODBC Microsoft Access安装” 窗口,设定数据源名,单击“选择”按钮,弹出“选择数据库” 窗口,进行
22、配置数据库(已存在的),单击“确定”按钮,返回到“ODBC Microsoft Access安装”窗口,单击“确定”,返回到“ODBC Data Source Administrator”窗。单击“确定”按钮,完成了对数据源的配置。12.5 SQL Explorer(数据库管理器)12.5.1 数据库的管理数据库资源管理器是一个功能强大的数据库浏览工具,通过该工具可以查看、编辑、修改、查询数据库中的数据记录,也可以创建、编辑、修改、删除数据库别名。1. 浏览数据库与建立数据库在Database选项卡中,选中任一个数据库,就可以浏览数据库的定义。右击任一个数据库,会弹出一个菜单,执行菜单中的“N
23、ew”命令,出现New Database Alias对话框,进行选择数据库的驱动程序,然后单击“OK”。完成操作后,右击Database选型卡中的数据库别名,在弹出的菜单中执行“Apply”命令,完成建立数据别名操作。2. 修改数据库在Database选项卡中选中该数据库,右侧窗格“Definition”中显示格参数的配置;可以对其进行修改;修改完后,在Database选项卡中单击鼠标右键,执行“Apply”命令,就完成了对数据库的修改。3. 删除数据库在要删除的数据库名上单击鼠标右健,在弹出的菜单中执行“Delete”命令,然后在Database选项卡中单击鼠标右键,执行“Apply”命令,
24、就完成了数据库的删除操作。12.5.2 数据库的访问1. 加密双击“Database”选项卡中的一个数据库,将弹出“Database Login”对话框。其中要求输入用户名和口令。从而进行加密。2. 访问数据库的内容双击“Database”选项卡中的一个数据库,或执行“Open”后,进入数据库。 12.6 Data Pump(数据转移)Data Pump(数据转移)可以实现数据库间的基表及其数据的转移,即从源数据库的基表中读取数据,然后移动到目标数据库的基表中,在移动过程中源基表的数据类型会根据目标数据库的数据类型进行相应的变化。 12.7 数据库工具的综合实例为掌握本章的数据开发工具,设置综
25、合实例如下:(1)使用Database Desktop创建3张Paradox7的数据表,用来描述学生借书的信息。表的结构见P225表12-3、表12-4、表12-5。(2)设置Record表中的studentno、bookno的参照完整性(3) 编辑数据库表。(4) 建立索引:在表三中分别studengtno和bookno建立第二索引。 (4) 使用BDE Administrator设置该数据库别名为book。OLE DB的概念与编程OLE DB 的概念简单地说,OLE DB 是一种技术标准,目的是提供一种统一的数据访问接口,这里所说的“数据”,除了标准的关系型数据库中的数据之外,还包括邮件数
26、据、Web 上的文本或图形、目录服务(Directory Services),以及主机系统中的IMS 和VSAM 数据。OLE DB 标准的核心内容就是要求以上这些各种各样的数据存储(Data Store)都提供一种相同的访问接口,使得数据的使用者(应用程序)可以使用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类型。OLE DB 标准的具体实现是一组C+ API 函数,就像ODBC 标准中的ODBC API 一样,不同的是,OLE DB 的API 是符合COM 标准、基于对象的(ODBC API 则是简单的C API)。使用OLE DB API,可以编写能够访问符合OLE DB
27、 标准的任何数据源的应用程序,也可以编写针对某种特定数据存储的查询处理程序(Query Processor)和游标引擎(Cursor Engine),因此OLE DB 标准实际上是规定了数据使用者和提供者之间的一种应用层的协议(Application-Level Protocol)。即将发布的微软最新数据库产品SQL Server 7.0 的查询处理程序就是使用OLE DB API 编写的,所以在SQL Server 7.0 的Transact-SQL 语法中,可以支持异种数据库的查询,当然,这些异种数据库必须也提供相应的OLE DB 访问接口。OLE DB 标准中定义的新概念OLE DB 将
28、传统的数据库系统划分为多个逻辑组件,这些组件之间相对独立又相互通信。这种组件模型中的各个部分被冠以不同的名称:数据提供者(Data Provider)。提供数据存储的软件组件,小到普通的文本文件、大到主机上的复杂数据库,或者电子邮件存储,都是数据提供者的例子。有的文档把这些软件组件的开发商也称为数据提供者。数据服务提供者(Data Service Provider)。位于数据提供者之上、从过去的数据库管理系统中分离出来、独立运行的功能组件,例如查询处理器和游标引擎(Cursor Engine),这些组件使得数据提供者提供的数据以表状数据(Tabular Data)的形式向外表示(不管真实的物理
29、数据是如何组织和存储的),并实现数据的查询和修改功能。SQL Server 7.0 的查询处理程序就是这种组件的典型例子。业务组件(Business Component)。利用数据服务提供者、专门完成某种特定业务信息处理、可以重用的功能组件。分布式数据库应用系统中的中间层(Middle-Tier)就是这种组件的典型例子。数据消费者(Data Consumer)。任何需要访问数据的系统程序或应用程序,除了典型的数据库应用程序之外,还包括需要访问各种数据源的开发工具或语言。OLE DB 与ODBC 的关系由于OLE DB 和ODBC 标准都是为了提供统一的访问数据接口,所以曾经有人疑惑:OLE D
30、B 是不是替代ODBC 的新标准?答案是否定的。实际上,ODBC 标准的对象是基于SQL 的数据源(SQL-Based Data Source),而OLE DB 的对象则是范围更为广泛的任何数据存储。从这个意义上说,符合ODBC 标准的数据源是符合OLE DB 标准的数据存储的子集。符合ODBC 标准的数据源要符合OLE DB 标准,还必须提供相应的OLE DB 服务程序(Service Provider),就像SQL Server 要符合ODBC 标准,必须提供SQL Server ODBC 驱动程序一样。现在,微软自己已经为所有的ODBC 数据源提供了一个统一的OLE DB 服务程序,叫做
31、ODBC OLE DB Provider。ODBC OLE DB Provider 发布之后,有人又担心:ODBC Provider 是不是在ODBC 之上的新的层次(Layer)?如果是,那么使用OLE DB 访问ODBC 数据源是否将影响性能?答案也是否定的。实际上,ODBC Provider 的作用,是替换ODBC Driver Manager,作为应用程序与ODBC 驱动程序之间的桥梁,理论上不会增加任何开销。ADO 的概念我们已经知道,OLE DB 标准的API 是C+ API,只能供C+ 语言调用(这也是OLE DB 没有改名为ActiveX DB 的原因,ActiveX 是与语言无关的组件技术)。为了使得流行的各种编程语言都可以编写符合OLE DB 标准的应用程序,微软在OLE DB API 之上,提供了一种面向对象、与语言无关的(Language-Neutral)应用编程接口,这就是ActiveX Data Objects,简称ADO。与DAO、RDO 等类似,ADO 实际上是一种对象模型,不过这个对象模型相对简单,示意如下:在这个对象模型中,Connection 类似于RDO 的rdoConnection 或者DAO 的Database,Command 类似于RDO 的rdoPrepare
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1