已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 8章 数据库应用程序设计 导读 8.1 数据库系统概述 8.2 Delphi数据库应用程序体系结构 8.3 数据库设计 8.4 常用数据库组件 8.5 数据库应用程序综合实例 小结 习题导读 Delphi 8 for .NET提供了一整套数据库解决方案:包括建立数据库、连接数据库、 SQL操作、保存、编辑和显示数据集等。利用Delphi提供的数据库组件,可以快速开发出功能强大的数据库应用程序。同时 Delphi支持多种分布式应用模式的开发,既可以方便地建立客户机 /服务器结构的两层分布式应用,又可以方便地建立客户机 /应用服务器 /数据库服务器结构的三层分布式应用。本章主要介绍 Delphi数据库应用程序开发技术。 学习目标: 了解数据库常用术语及基本概念 了解 Delphi数据库应用程序的体系结构 掌握数据库设计方法 熟练掌握常用数据库组件的用法 掌握 Delphi数据库应用程序的开发方法8.1 数据库系统概述 数据库系统涉及很多方面的专业知识,在讲解 Delphi中的数据库技术之前,首先介绍一些数据库最常用的术语和基本概念。 8.1.1 基本概念 1数据 数据( Data)是数据库中存储的基本对象。所谓数据,就是能被计算机识别与处理的符号。数据的种类很多,如数字、文字、表格、图形、图像、声音等,都属于数据。8.1 数据库系统概述 2数据库 所谓数据库( Database,简称 DB)是长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 数据库的性质是由数据库采用的数据模型决定的。常用的数据模型有:层次模型、网状模型、关系模型和面向对象模型。实际开发中使用的数据库几乎都是关系数据库,关系数据库是采用关系模型组织数据,即按照二维表格的方式组织数据的数据集合。二维表格由行和列组成,表中的行称为元组,对应存储文件中的一个记录;列称为属性,一个对象具有若干个属性,对应存储文件中记录的字段或数据项。对二维表格的操作一般有选择、投影和连接等。8.1 数据库系统概述 3数据库管理系统 数据库管理系统( DataBase Management System,简称 DBMS)是一个以统一的方式管理、维护数据库中数据的一系列软件集合。DBMS是位于用户应用程序和操作系统之间的数据库管理系统软件,用来对数据库进行统一的管理和控制。它的主要功能如下: ( 1)数据定义功能。 DBMS提供数据定义语言( Data Description Language,简称 DDL),用户通过它可以方便地对数据库中的数据对象进行定义。 ( 2)数据操纵功能。 DBMS还提供数据操纵语言( Data Manipulation Language,简称 DML),用户可以使用 DML操纵数据,实现对数据库的基本操作,如查询、插入、删除等。8.1 数据库系统概述 ( 3)数据库的运行管理。数据库建立、应用和维护时由数据库管理系统进行统一管理、统一控制,以保证数据的安全性、完整性、并发性以及发生故障后的系统恢复。 ( 4)数据库的建立和维护功能。它包括数据库初始数据的输入转换功能、数据库的转储和恢复功能、数据库的重组织功能和性能监视、分析功能等。 ( 5)数据库通信功能。数据库通信功能是指远程操作和管理数据库的能力。 目前关系型数据库管理系统( Relational DataBase Management System,简称 RDBMS)应用最为广泛,而且其技术也已相当成熟。 4数据库系统 数据库系统( DataBase System,简称 DBS)是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统和数据库应用程序组成。数据库的建立、使用和维护等工作只靠一个 DBMS远远不够,还要由专门的人员来完成,这些人被称为数据库管理员( DataBase Administrator,简称 DBA)。8.1 数据库系统概述 8.1.2 Delphi的数据库特性 Delphi提供了许多组件以方便地创建数据库应用程序。它可以访问多种类型的数据库,数据库对象的数据成员既可在设计阶段设置,也可在运行阶段通过程序代码进行设置。 Delphi的组件面板上提供了数据库应用程序开发中需要使用的组件。 在 Delphi中提供了两种机制访问数据库,分别是 BDE( Borland Database Engine)和 ADO.NET( Active Data Object)。 BDE是一个 32位的数据库引擎,所有的数据集组件都通过该引擎来访问物理实体上的数据库。 BDE向用户提供了访问不同格式数据库标准一致的 API接口。 BDE能实现与其他开发工具(如 C+等)的数据共享,能在网络上存取相同的数据库。 ADO.NET组件是由微软公司所开发的组件,也是微软公司完整的互联网数据库存取解决方案, ADO.NET组件非常容易使用而且运行效率较佳,且占用非常少的系统资源,本书主要介绍 BDE的数据库访问机制,表 8-1概括了与 BDE有关的 Delphi的数据库特性。8.1 数据库系统概述 Delphi上述的这些特性使得在创建数据库应用程序时,通过BDE能够很灵活地与 dBASE、 Paradox、 Local InterBase数据库服务器进行连接,并可以方便地访问其中的数据。对于创建一个简单的数据库应用程序,可以通过使用上述的工具和组件甚至可以不需要编写任何代码来实现。 Delphi在开发客户 /服务器数据库应用程序方面也是一个强有力的工具。表 8-2列出了 Delphi开发客户 /服务器数据库应用程序的有关特性,这些特性扩展了 Delphi访问远程数据库的功能,如 SQL Server数据库服务器。 SQL links使得 Delphi数据库应用程序可利用 SQL语言访问驻留在远程服务器上的数据,这些服务器包括 Oracle、 Sybase、Microsoft SQL Server、 Informix、 InterBase。当安装 SQL Links驱动程序之后, SQL语句便可以直接操作服务器上的数据。8.1 数据库系统概述 8.1.3 Delphi可以使用的数据源 Delphi数据库应用程序可以通过 BDE获取它们所需的数据,BDE可以与不同类型的数据源打交道, BDE可以使用的数据源如表 8-3所示。数据源 特性描述dBASE数据库 数据库表是通过 dBASE数据库管理系统或 DBD建立的,每一个表是一个独立的 .dbf文件Paradox数据库 数据库表是通过 Paradox数据库管理系统或 DBD建立的,每一个表是一个独立的 .db文件ASCII文件 表是通过 Database Desktop建立的,每个 .txt表是一个独立的文件本地 InterBase服务器 数据库是通过 InterBase数据库管理系统建立的,多个表包含在一个数据库文件 .gbd中数据源 特性描述远程数据库服务器数据库通过数据库服务器 (例如 Oracle、 Sybase、 Informix等 )建立,也可以通过标准 SQL语句创建,提供远程访问功能。ODBC数据源 主要是指那些具有 ODBC接口的数据库系统,如 Microsoft Access、 Btrieve等数据库8.2 Delphi数据库应用程序体系结构 一个数据库应用程序往往包括两部分:数据库访问部分和用户界面。数据库访问部分直接或间接访问数据库,它为数据库应用程序和数据库之间提供接口;而用户界面主要是为了方便用户使用,尽量要设计友好的界面,方便用户操作。 在编写数据库应用程序时,一般把数据库访问部分和用户界面分别封装到不同的模块中。在 Delphi中提供了数据模块(Data Module)这种容器,在编写数据库应用程序时把数据库访问部分的内容放在数据模块中,这样就便于数据库应用程序数据存取的一致性,便于程序的调试和后期维护。 数据库应用程序的体系结构主要由两方面决定,一方面是使用的数据库类型(即是本地数据库还是远程数据库),另一方面是同时访问数据库的用户数以及数据库中需要存储哪些类型的信息。由此,数据库应用程序结构可以分为三种:单层结构、两层结构和多层结构。8.2 Delphi数据库应用程序体系结构 8.2.1 单层结构 在单层数据库应用程序中,应用程序和数据库共享同一个文件系统,它们使用本地数据库或文件来存取数据。一个单层的数据库应用程序同时包含了用户界面和数据访问机制(可能是通过 BDE,也可能是通过文件)。单层数据库应用程序的体系结构如图 8-1所示。在此结构中,可以通过基于 BDE的数据集组件从本地数据库中获取数据,再通过数据源(TDataSource)组件向用户提供数据。BDE数据集组件数据库数据源用户接口窗体BDE引擎数据模块8.2 Delphi数据库应用程序体系结构 8.2.2 两层结构 在两层数据库应用程序中,客户程序提供用户界面,通过 BDE或 ADO.NET从远程数据库服务器获取数据。两层数据库应用程序的体系结构如图 8-2所示。BDE/ADO.NET数据集组件数据库数据源用户接口窗体BDE引擎/OLEDB数据模块8.2 Delphi数据库应用程序体系结构 8.2.3 多层结构 多层数据库应用程序是为了适应网络技术的飞速发展而发展起来的一种新技术。它把整个应用程序分为多个单元,所有单元相互配合完成对数据库的管理。它是建立在两层数据库应用基础上的,只要深刻理解了两层数据库模型,就能很好地掌握多层结构数据库应用程序的开发。 在多层结构数据库应用程序中,客户程序、应用服务器和远程数据库服务器通常分布在不同的机器上。客户程序主要提供用户界面,它向应用服务器请求数据和申请更新数据,再由应用服务器向远程数据库服务器请求数据和申请更新数据。8.3 数据库设计 数据库应用程序的设计包括两个部分:数据库设计和应用程序设计。在开发数据库应用程序之前,必须进行需求分析,对数据库的概念结构、逻辑结构和物理结构进行规范设计,这是决定数据库应用程序开发成败的关键。通常数据库所包含的大量信息以表的形式存储。数据库中有的表是独立的,有的表之间存在一定的关系,设计数据库就是将大量信息经过分析和归纳,分别存储到多个表中,确定表之间的相互关系。 数据库管理系统有许多种,下面介绍几种常见的Delphi可以访问的数据库。8.3 数据库设计 8.3.1 常用数据库 在 Delphi 中要开发数据库应用程序,首要的任务就是访问数据库。 Delphi 可以访问多种数据库,如 Paradox、 Access等小型数据库,以及 Oracal、 Infomix、Microsoft SQL Server等大型数据库。对这些数据库的访问可以通过 BDE、 ADO.NET组件中的 OLE DB方式进行访问。8.3 数据库设计 1 Paradox Paradox是一个小型桌面数据库,其安装和使用极为方便,所以利用 Delphi 开发小型的桌面数据库系统应用程序时,它是一个比较好的选择。 Paradox数据库、表的建立与维护,均可通过 Delphi提供的数据库设计工具 Database Desktop来完成,但在 Delphi 8中,该数据环境需独立安装,本书数据库应用程序开发中所使用的数据库主要以 Paradox数据库为主。8.3 数据库设计 2 Access Access是 Microsoft Office套件中提供的一个桌面型数据库,版本有 Access 97, Access 2000和 Access XP等,它是在 Windows环境下开发的一种关系型数据库系统,具有某些大型数据库的基本功能,如支持事务处理、具有用户组和多用户管理功能、具有一定的安全性和完整性保护功能等。在 Delphi 8中访问 Access数据库往往采用 ADO.NET方式。8.3 数据库设计 3大型数据库 常用的大型数据库有 InterBase、 Oracle、 Sybase、Infomix、 DB2和 Microsoft SQL Server等。 InterBase是Borland公司开发的一个大型数据库管理系统,安装Delphi 8时可以选择将它安装到系统中。 InterBase提供了数据库管理工具,利用它可以方便地进行数据库的建立和维护操作。 Oracle、 Sybase、 Infomix、 DB2和Microsoft SQL Server等都是提供了完善的数据库操作和维护功能的关系数据库系统,其中 Microsoft SQL Server具有操作方便、占用资源较少和功能较为完善等特点,已被广泛应用于 Windows平台下的中小型数据库应用系统的开发中。8.3 数据库设计 8.3.2 数据库、数据库表的创建与维护 本节介绍 Paradox中数据库、数据库表的创建与维护方法,以人事管理系统中的数据库、数据库表操作为例。数据库名为 Rsgl,包括两个表:部门表(Department)、雇员表( Employees)。字段名 数据类型 长度 字段说明bmh A 3 部门号bmmc A 10 部门名称fzr A 8 负责人dhhm A 11 电话号码8.3 数据库设计字段名 数据类型 长度 字段说明zgh A 6 职工号xm A 8 姓名xb A 2 性别csrq D 8 出生日期hf L 1 婚否zc A 10 职称zw A 10 职务jbgz $ 6 基本工资bmh A 3 部门号jl M 100 简历8.3 数据库设计 1创建数据库 BDE通过别名来管理数据库,所谓别名是指为数据库指定的名称。通过 Delphi 所提供的 BDE Administrator可对别名所对应的数据库的相关属性进行配置,配置的参数将被保存在名为IDAPI32.cfg的配置文件中。 BDE使用别名对数据库进行管理的优点是,可使应用程序在开发和运行时不必关心所使用的后台数据库类型。对于桌面型数据库系统,如 Paradox,数据库对应的是一个文件夹,在该文件夹下存放数据库的各个表;而 Access则是一个数据库对应一个文件,各个表不单独以文件形式存储。8.3 数据库设计 【 例 8-1】 在 BDE中创建别名为 Rsgl的数据库。 操作方法如下: ( 1)建立与 Rsgl数据库对应的文件夹,设该文件夹名为 E:代码 第八章。 ( 2)启动 BDE Administrator配置 Paradox数据库,进行中文支持设置。选择开始 所有程序 Borland Delphi 8 BDE Administrator,启动 BDE Administrator,其界面如图 8-3所示。在左边的树状结构中选择 Configuration选项卡,依次选择Driver Native PARADOX;在参数列表中选择 LANGDRIVER属性,将该参数值设为 Paradox China 936,如图 8-3所示。 ( 3)创建名为 Rsgl的数据库。选择 BDE Administrator窗口左边的 Databases选项卡,单击鼠标右键,弹出快捷菜单,选择New选项,如图 8-4所示。再在所弹出的选择数据库驱动程序对话框(如图 8-5所示)中选择 STANDARD,单击 OK按钮。8.3 数据库设计 ( 4)为所创建的数据库命名,并配置 Rsgl数据库的属性参数,如图 8-6所示,可设置的参数有如下几种: DEFAULT DRIVER:默认的数据库驱动程序。在选择STANDARD类型的情况下, Delphi提供对 Paradox、 dBase、FoxPro和文本文件的驱动支持,可根据实际情况选择,本例选择 PARADOX。 ENABLE BCD:是否支持对数字进行 BCD编码。 PATH:设置数据库对应的路径。本例设置路径为: E:代码 第八章。 ( 5)保存所创建的数据库及配置信息。选择 BDE Administrator主菜单下的 Object Rename,在弹出的对话框中输入数据库名 Rsgl,单击 OK按钮,再选择 Object Apply菜单项,将弹出保存数据库确认对话框,单击 OK按钮。8.3 数据库设计 2创建表 为了方便使用以前 Delphi版本的用户,仍沿用 Database Desktop 7数据库桌面。创建表的方法, Database Desktop在Delphi 8中需单独安装 【 例 8-2】 在 Database Desktop中创建表 Department,其表结构见表 8-4。 步骤如下: ( 1)运行 Database Desktop。选择开始 程序 Borland Delphi 7 Database Desktop,其界面如图 8-7所示。 ( 2)创建新表。选择 Database Desktop的 File New Table菜单命令,将弹出选择创建表类型的对话框,如图 8-8所示,选择 Paradox 7,单击 OK按钮,将弹出 Create Paradox 7 Table对话框,如图 8-9所示。8.3 数据库设计 ( 3)输入字段信息。在 Create Paradox 7 Table对话框中的左边是字段信息输入区,用来输入字段名( Field Name)、数据类型( Type)、长度( Size)、是否为关键字( Key)等信息;右边是字段属性编辑区,用来设置字段的最小值、最大值、默认值及对应的图片文件等。 Field Name:可输入最多 25个字符作为字段名,由于 Paradox汉化时汉字内码与英文字符在编码时的差异,建议读者将字段名称全部设置为英文字母字符。 Type:可直接输入数据类型的缩写字母(如字符串类型输入 A、数值型输入 N等),也可以单击鼠标右键,在弹出式菜单中选择数据类型,如图 8-10所示。 Size:设定字段的长度,有些类型的数据长度需要设定,如 Alpha类型,有些类型数据的长度是由系统确定的,如 Number类型。 Key:设定字段是否为关键字,双击字段所在行的该列,来设定该字段是否为关键字,若为关键字,该列显示 *号。8.3 数据库设计 ( 4)保存新建的表。输入字段信息后,单击 Save As按钮,将出现 Save Table As对话框。在对话框中选择表的保存路径、保存的数据库类型和表所属的数据库名,并输入表名。本例将表名 Department的表保存在 E:代码 第八章文件夹下,数据库类型为 Paradox,表所属数据库名为 Rsgl。 ( 5)按上述操作方法创建表 Employees。8.3 数据库设计 3修改表结构 在创建表后,如果需要修改表的结构,如改变字段名、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年晋中市寿阳县保安员招聘考试题库附答案解析
- 2025年衡水市故城县保安员招聘考试题库附答案解析
- 2022~2023安全监察人员考试题库及答案第59期
- 2025年茂名市电白县保安员招聘考试题库附答案解析
- 2020贵州公务员考试行测真题及答案
- 公职人员考试时事政治考试题库(附答案)2025年
- 2025年注册会计师考试审计真题汇编试卷(含答案)
- 2025年抚顺市顺城区保安员招聘考试题库附答案解析
- 2025年建筑工程施工管理师专业技术考核试题及答案解析
- 多旋翼无人机操控理论考试题库及答案
- 2025年洛阳市城乡一体化示范区招聘城市管理辅助人员130名笔试考试参考试题及答案解析
- 企业所得税汇算清缴申报表电子表格版(带公式-自动计算)
- 国家食源性疾病监测工作手册模板
- 急诊医学PPT课件急性意识障碍
- SB/T 11082-2014单用途商业预付卡发卡企业信用评价标准
- GB/T 19188-2003天然生胶和合成生胶贮存指南
- 部编版语文九年级上册第五单元写作《论证要合理》课件
- 景物描写穿插在记叙文中课件
- 齐鲁工业大学-大学物理(下)期末复习总结
- 陶瓷太阳能集热板
- 宫角妊娠Microsoft-PowerPoint-演示文稿
评论
0/150
提交评论