您好,欢迎访问三七文档
第9章数据库应用程序设计本章主要内容:•数据库基础知识•数据库应用程序结构•Delphi7中的ADO组件简介•如何为应用程序建立数据库连接9.1数据库基础知识9.1.1数据库的基本概念1.数据数据(Data)是数据库中存储的基本对象。所谓数据,就是能被计算机识别与处理的符号。数据的种类很多,如数字、文字、表格、图形、图像、声音等都属于数据。2.数据库数据库(Database,简称为DB)就是以一定的组织方式存储在计算机存储介质中的互相关联的数据的集合。它能以最佳方式、最少重复、最大独立性为多种应用提供共享服务。一个数据库常包含许多数据表、索引信息以及其他相关信息。9.1数据库基础知识3.数据库管理系统数据库管理系(DatabaseManagementSystem,简称为DBMS)是支持人们建立、使用和修改数据库的软件系统。它是位于用户和操作系统之间层面的数据管理软件。它为用户或应用程序提供访问数据库的方法,包括数据库的建立、查询、更新及各种数据控制。DBMS可以分为层次型、网状型、关系型和面向对象型等几种类型。数据库在建立、使用和维护时由数据库管理系统统一管理,统一控制。数据库管理系统使用户方便地定义数据和操作数据,并能够保证数据的安全性、完整性、并发性及发生故障后的系统恢复。通常DBMS包括以下主要功能:9.1数据库基础知识(1)数据定义功能(2)数据操纵功能(3)数据库的运行管理(4)数据库的建立和维护功能(5)数据库通信功能4.数据库系统数据库系统(DataBaseSystem,简称为DBS)是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统及其开发工具、应用系统构成。如图9-1所示。9.1数据库基础知识应用系统应用开发工具软件DBMS编译系统操作系统硬件图9-1DBS的层次结构9.1数据库基础知识数据库系统从最终用户角度看,分为单用户结构、主从式结构、分布式结构和客户/服务器结构。(1)单用户结构整个数据库系统(包括应用程序、DBMS、数据)都装在一台微机上,由一个用户独占,不同机器之间不能共享数据。(2)主从式结构此结构指一个主机带多个终端的多用户结构,数据库系统(包括应用程序、DBMS、数据)都集中存放在主机上,所有处理任务都由主机完成,各个终端用户并发地存取数据库,共享数据资源。(3)分布式结构9.1数据库基础知识分布式结构的数据库系统是地理上(或物理上)分散而逻辑上集中的数据库系统。(4)客户/服务器结构随着工作站功能的增加和广泛使用,人们开始把DBMS功能和应用分开,网络中专门用于执行DBMS功能的计算机称为数据库服务器(简称服务器Server),其他安装DBMS的外围应用开发工具、且支持用户应用的计算机称为客户机(Client),这就是客户/服务器结构的数据库系统(Client/Server结构,简称C/S结构),它是目前普遍使用的数据库系统。9.1数据库基础知识5.关系数据库关系数据库(RelationalDatabase)是以关系模型作为数据的组织存储方式。关系数据库通常包含多张表,表由记录组成,记录由字段组成。表(Table):一个表就是一组相关的数据按行排列,象一张表格一样。字段(Field):在表中,每一列称为一个字段。每一个字段都有相应的描述信息,如数据类型、数据宽度等。记录(Record):在表中,每一行称为一条记录。索引(Index):索引是按照指定字段建立的顺序链表,能加快访问数据库的速度。9.1数据库基础知识6.数据库应用程序的设计数据库应用程序的设计包括两个部分:(1)数据库设计(2)应用程序设计。9.1.2数据库产品简介VFoxPro、Access、Paradox等属于单用户版数据库产品。这类数据库的数据被按照一定格式储存在磁盘里,使用时由应用程序通过相应的驱动程序甚至直接对数据文件进行读取。MSSQLServer、OracleUniversalServer、Informix-UniversalServer等属于大型数据库。这类数据库的数据集中存放服务器上,统一由运行在服务器上的数据库服务程序管理,用户使用客户端软件通过网络访问数据库服务程序。9.1数据库基础知识客户/服务器数据库系统结构这类型数据库的特点是:适合于网络应用,可以同时被多个用户所访问,数据库管理系统可以赋予不同的用户以不同的安全访问权限,支持的数据量大,能完全地支持SQL语言。9.1数据库基础知识9.1.3常用SQL语句1.SELECT语句SELECT语句可以从数据库中按用户要求检索数据,并将查询结果以表格的形式返回。SELECT语句的语法形式如下:SELECT[ALL|DISTINCT][TOPn[PERCENT]]字段列表[INTO新表]FROM源表[WHERE搜索条件][GROUPBY分组字段][HAVING搜索条件][ORDERBY排序字段[ASC|DESC]]9.1数据库基础知识(1)基本查询SELECTau_fname,au_lname,phoneFROMauthors该查询是把表中指定内容列出来。(2)条件查询SELECTau_fname,au_lname,phoneASTelephoneFROMauthorsWHEREstate='CA'仅返回state为‘CA’的行。(3)对查询结果排序:SELECTau_fname,au_lname,phoneASTelephoneFROMauthorsWHEREstate='CA'andau_lname'McBadden'ORDERBYau_lnameASC9.1数据库基础知识2.INSERT语句将新行添加到表或视图中。INSERT语句的语法形式如下:INSERT[INTO]表名[(字段1[,...字段n])]VALUES({DEFAULT|NULL|字段值1}[,...字段值n])下面的例子中,通过Insert语句增加了一行记录到publishers表中。INSERTpublishers(pub_id,pub_name,city,state)VALUES('9998','San','wash','wa')字段名与字段值必须对应,且数据类型一致。9.1数据库基础知识3.DELETE语句DELETE语句用来从表中删除数据。其语法为:DELETE[FROM]表名[WHERE搜索条件]从publishers中删除pub_id为‘9998’的记录记录的例子。DELETEpublishersWHEREpub_id='9998'如果没有指定WHERE子句,表示删除所有记录。从employee表中删除所有记录的例子。DELETEfromemployee9.1数据库基础知识4.UPDATE语句UPDATE语句用以更新表中一列或多列数据值。其语法如下:UPDATE表名SET字段名={表达式|DEFAULT|NULL}[,..n][WHERE搜索条件]下面的语句把pub_id为9998的记录的state字段修改为'NY'。UPDATEpublishersSETstate='NY'WHEREpub_id='9998'如果不加上WHERE子句,则UPDATE语句会修改表中的每一行数据。9.1数据库基础知识5.CREATETABLE语句用CREATETABLE语句创建表快捷明了。其语法如下:CREATETABLE表名(字段1类型(长度[,小数位数]){[DEFAULT默认值]|[NULL]}[,...n])下例显示了创建jobs表的定义。CREATETABLEjobs(job_idsmallint,job_descvarchar(50)NOTNULLDEFAULT'NewPosition',min_lvltinyintNOTNULL,max_lvltinyintNOTNULL)9.1数据库基础知识6.ALTERTABLE语句ALTERTABLE语句可以添加或删除表的列。其语法如下:ALTERTABLE表名{ADD[列名类型(长度[,小数位数])][,...n]|DROPCOLUMN列名[,...n]}下例添加一个允许空值的列,而且没有通过DEFAULT定义提供值。各行的新列中的值将为NULL。ALTERTABLEdoc_exaADDcolumn_bVARCHAR(20)NULL下例从一中删除字段column_b。ALTERTABLEdoc_exaDROPCOLUMNcolumn_b9.1数据库基础知识7.DROPTABLE语句删除表定义及该表的所有数据、索引、触发器、约束和权限规范。DROPTABLE表名表名:是要删除表的名称。例如:删除employee表。DROPTABLEemployee9.2数据库应用程序结构9.2.1OLEDBOLEDB可提供对存储在不同信息源的数据进行统一访问的能力,它是微软开发的一种底层数据库访问技术。常用OLEDB提供者有:MicrosoftJet4.0OLEDBProvider用于微软Access数据库。MicrosoftOLEDBProviderforODBCDrivers用于ODBC数据源。MicrosoftOLEDBProviderforOracle用于Oracle数据库。MicrosoftOLEDBProviderforSQLServer用于微软SQLServer数据库。9.2数据库应用程序结构9.2.2ADO(ActiveXDataObjects)ADO是MicrosoftActiveXDataObjects的缩写,也是微软开发的适用于Windows操作系统的数据库访问技术。它位于OLEDB的上层,封装了OLEDB的所有功能,为那些不能直接访问OLEDB的语言(如VisualBasic和脚本语言)提供编程接口。9.2数据库应用程序结构OLEDB、ADO与编程语言和数据存储的关系9.2数据库应用程序结构9.2.3ODBCODBC(OpenDatabaseConnectivity)即开放的数据库连接技术。ODBC是微软和一些数据库厂商联合制定的,它通过应用程序接口API提供了一种跨平台的,用来访问关系数据库中数据的手段,是访问数据库的通用方法。9.2数据库应用程序结构9.2.4数据库应用程序结构在Delphi7的数据库应用程序中,最基本的构成是3类组件:数据控制组件、数据集组件和数据源组件。(1)数据控制组(DataControl)件用于显示和修改数据库中的信息,为用户操作数据库提供一个可视化的界面,常用的组件有TDBEdit、TDBText、TDBGrid、TDBGrid。(2)数据集组件(DataSet)一方面通过ADO与实际的数据库相连接,另一方面通过TDataSource组件与数据库控制组件相连,常用的有TADODataSet、TADOTable、TADOQuery组件。(3)数据源组件(DataSource)负责将数据集组件和数据控制组件连接起来,。9.2数据库应用程序结构使用ADO组件编写的应用程序通常具有以下结构:图9-8基于ADO的数据库应用程序结构9.3Delphi7中的ADO组件Delphi对ADO技术的支持,是通过将ADO常用对象封装进Delphi的ADO组件中,并结合Delphi本身的开放式数据库组件结构实现的。使用ADO组件,可以迅速实现数据库连接,建立数据库应用,使用ADO组件更利于我们升级和维护开发的系统。通过ADO连接的数据库应用程序分发时不需要进行额外配置,Windows系统中已默认安装了ADO的支持组件MDAC。Delphi的ADO组件共有7个,位于ADO面板上,分别是:TADOConnection、TADODataSet、TADOTableTADOQuery、TADOStoredProc、TADOCommand和RDSConnection。其中后面的6个组件可以直接连接到数据库,但更为常用的方式是通过TADOConnection组件连接到数据库。9.3Delphi7中的ADO组件常用组件的作用如下:TADOConnection:该组件用于建立数据库的连接。TADOData
本文标题:数据库应用程序设计
链接地址:https://www.777doc.com/doc-3974756 .html