当前位置: 首页 > 学习 > 电脑学习 > 程序设计 > Delphi > 基础教程 > 正文

Delphi 开发数据库应用程序概述(一)

http://www.zk168.com.cn  招考学习网 2006-4-7 9:40:11
-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--

13.1 数据库系统概述 

       数据库系统为我们提供了一种把与我们的工作和生活紧密相关的信息集合在一起的方法,它还提供了在某个集中的地方存储和维护这些信息的方法。数据库系统主要由三大部分组成:数据库管理系统(DBMS:它是专门负责组织和管理数据信息的程序)、数据库应用程序(它使我们能够获取、显示和更新由DBMS存储的数据)、数据库(按一定结构组织在一起的相关数据的集合)。

        一般来说,DBMS和数据库应用程序都驻留在同一台计算机上并在同一台计算机上运行,很多情况下两者甚至结合在同一个程序中,以前使用的大多数数据库系统都是用这种方法设计的。但是随着DBMS技术的发展,目前的数据库系统正向客户/服务器模式发展。客户/服务器数据库将DBMS和数据库应用程序分开,从而提高了数据库系统的处理能力。数据库应用程序运行在一个或多个用户工作站(客户机)上,并且通过网络与运行在其它计算机上(服务器)的一个或多个DBMS进行通信。

  下面是数据库系统中一些概念和述语。 

13.1.1 数据库管理系统(DBMS) 

        数据库管理系统(DBMS)是用于描述、管理和维护数据库的程序系统,是数据库系统的核心组成部分。它建立在操作系统的基础上,对数据库进行统一的管理和控制。其主要功能有:

1. 描述数据库:描述数据库的逻辑结构、存储结构、语义信息和保密要求等。

2.管理数据库:控制整个数据库系统的运行,控制用户的并发性访问,检验数据的安全、保密与完整性,执行数据检索、插入、删除、修改等操作。

3.维护数据库:控制数据库初始数据的装入,记录工作日志,监视数据库性能,修改更新数据库,重新组织数据库,恢复出现故障的数据库。

4.数据通信 :组织数据的传输。

        DBMS主要有四种类型:文件管理系统、层次数据库系统、网状数据库系统和关系数据库系统。因为目前关系数据库系统应用最为广泛,所以我们重点对关系数据库系统中的几个概念进行介绍。

        关系数据库(Relational Database):一个关系数据库是由若干表组成。在Delphi中,数据库概念对应到物理文件上是有一些不同的。对于dBASE、FoxPro、Paradox这三种数据库系统,数据库对应于某一个子目录,而其它类型如MSAccess、Btrieve则是指某个文件。这是因为前者的表为单独的文件,而后者的表是聚集在一个数据库文件中的。

        表(Table):一个表就是一组相关的数据按行排列,象一张表格一样。比如一个班所有学生的期末考试成绩,存在一个表中,每一行对应一名学生,在这一行中,包括学生的学号、姓名以及各门课程的成绩。

        字段(Field):在表中,每一列称为一个字段。每一个字段都有相应的描述信息,如数据类型、数据宽度等。

记录(Record):在表中,每一行称为一条记录。

索引(Index):为了加快访问数据库的速度,许多数据库都使用索引。 

13.1.2 数据库应用程序

         DBMS中存储了大量的数据信息,其目的是为用户提供数据信息服务,而数据库应用程序正是与DBMS进行通信,并访问DBMS中的数据,它是DBMS实现其对外提供数据信息服务这一目的的唯一途径。简单地说,数据库应用程序是一个允许用户插入、修改、删除并报告数据库中的数据的计算机程序。数据库应用程序在传统上是由程序员用一种或多种通用或专用的程序设计语言编写的,但是近年来出现了多种面向用户的数据库应用程序开发工具,这些工具可以简化使用DBMS的过程,并且不需要专门编程。Delphi就是一种强有力的数据库应用程序开发工具。

用来生成数据库应用程序的语言主要分为三大类型:

1.过程化语言

        标准的计算机程序设计语言如Pascal、Basic和C都是过程化语言,这些语言可以通过某种“应用程序接口”(API)来创建数据库应用程序,这种API由一组标准的函数(或调用)组成,这些函数和调用则扩展了语言的功能,使之能访问数据库中的数据。当程序设计人员用过程化语言创建数据库应用时,必须把应用的代码编写成一系列的过程,每个过程执行应用的某一部分的工作,如一个过程查询数据库,而另一过程更新数据库中的数据,然后不同的过程通过其他的用户界面过程(例如菜单系统)联系在一起,并且在应用中的适当地方运行。

       上述这些过程化语言一般用来创建非数据库应用程序,它们通常被称为“第三代语言”(3GL)。还有一些过程化程序设计语言是某种特定的DBMS专用的,这些语言一般被称为“第四代语言”(4GL),即数据库专用语言。常见的数据库专用的过程化语言如dBASE语言,Paradox数据库的PAL语言等等。

2.结构化查询语言(SQL)

       结构化查询语言(Structure Query Language)是基于关系模型的数据库查询语言,它是一种非过程化的程序语言,也就是说,没有必要写出将如何做某事情,只需写出做到什么就可以了。写出的语句可看作是一个问题,称为“查询”(Query),针对这个查询,得到所需的查询结果。下面是一个例子: 

Select Name,Total from Class where Total>600 

        这个查询意为从数据库表Class中将总分(Total)大于600的所有人选出来,并列出他们的姓名(Name)和总分(Total)。

        把SQL描述为子语言更适当一些,因为它没有任何屏幕处理或用户输入/输出的能力。它的主要目的是为了提供访问数据库的标准方法,而不管数据库应用的其余部分是用什么语言编写的,它既是为数据库的交互式查询而设计的(因此被称为动态SQL),同时也可在过程化语言编写的数据库应用程序中使用(因此被称为嵌入式SQL)。

3.其他语言

       用于开发数据库应用程序的语言中,还可以使用目前数常见的“面向对象程序设计”(OOP)语言,如C++、Objact Pascal等,OOP代表了一种完全不同的程序设计方法,在这种程序设计方法中,活动被定义为在“对象”上发生的操作,而不是作为一系列过程来定义的。在数据库应用程序中使用OOP语言的情况正在不断增加。

       开发数据库应用程序使用的另一种语言是“宏”语言。宏语言不是一种完全的程序设计语言,它实际上是一个用户手工输入的表,这个表被输入到应用程序中,以便自动执行一定的任务。对于某个特定应用的高级语言,宏语言通常可以在低档DBMS软件中或数据库服务器的前端中找到。

         最后,还有一种“Query-By-Example”(QBE,范例查询)语言。严格地讲QBE不是一种语言,它是面向用户提供了一个或多个空表的界面,这些空表对应于数据库中的表。用户可以通过键盘选择需要查询的列,并在适当的列中填入条件从而定义查询的检索条件,然后DBMS就把QBE转换成相应的动作,以完成用户要求的查询任务。 

13.2 Delphi的数据库特性及功能简介 

       直到目前为止,计算机软件的开发分为两个不同的体系,其中一个体系是使用传统的程序设计语言(如Pascal、Basic和C等)开发数值控制、数值运算等软件,围绕它们的重点是算术、数据结构以及近年产生的面向对象技术。另一个体系则是通用的数据库管理软件领域(数据库应用程序的开发)。这两个体系的发展都极为迅猛,但是二者并没出现混合渗透迹象。如果使用数据库语言进行传统的算术编程,虽然也能完成相应的功能,但是其编程过程可能极为复杂。如果使用传统的编程语言进行数据库编程,通过调用专用的数据库应用程序接口函数和过程,利用这些函数和过程提供的功能,可能也能做得比较完善,但这做起来大多是极其困难的。而Delphi结合了两个体系的优点,它结合了传统的编程语言ObjectPascal和数据库语言的强大功能,它即可以用于传统的算术编程又可以用于数据库编程,特别是Delphi具有强大的数据库功能,利用Delphi的数据库工具,我们根本不需要编写任何ObjectPascal代码便可以创建一个简单的数据库应用。

        Delphi是Borland公司于1994年底发布的用于开发数据库应用程序的工具,它是面向对象的,它是目前开发客户/服务器数据库应用程序的强有力的工具。Delphi在Window3.1以上版本的系统环境下运行,目前具有两个版本:Delphi的标准版本和客户/服务器版本。标准版本包含一个BorlandDatabase Engine的局部拷贝,它允许用户创建能访问dBASE、Paradox和LocalInterBase 服务器的数据库应用, 它还支持具有 ODBC 接口的数据库。Delphi的客户/服务器版本包括BorlandSQL Link, 它能直接访问 ORACLE 、 SyBase 和Microsoft SQL Server,Informix以及InterBase数据库服务器。

        Delphi可以访问多种数据库管理系统的数据库,凭借窗体(Forms)和报表(Reports),BDE(BorlandDatabase Engine)可以访问诸如Paradox、dBASE、本地InterBase服务器的数据库,也可以访问远程数据库服务器上的数据库(如ORACLE、SyBase、Informix等客户/服务器数据库中的数据库),或任何经ODBC(OpenDatabase Connecticity) 可访问的数据库管理系统中的数据库。 

13.2.1 Delphi的数据库特性 

        跟其他的应用程序一样,Delphi提供了许多部件以方便地创建数据库应用程序。数据库对象的数据成员既可在设计阶段设置,也可在运行阶段通过程序代码进行设置。Delphi的部件板上提供了两页数据库应用程序开发中所要使用的部件:

        数据访问页(Data Access Page)上的部件用于直接访问数据库中的数据库表。

        数据控制页(Data Control Page)上的部件用来与用户交互,显示、修改数据库中的数据。

数据库应用程序首先是利用Delphi提供的数据库部件与BDE建立联系,然后再通过BDE与数据库联系。下图阐述了Delphi的数据库工具和部件、Delphi数据库应用程序与BDE、数据源之间的关系。

下表概括了Delphi的数据库特性: 

表13.1 Delphi的数据库特性

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  工具和部件   主 要 用 途  

────────────────────────────────────── 

 Data Access Components  访问数据库、数据库表、存贮过程等  

────────────────────────────────────── 

 Data Control Components 与用户交互,提供显示、修改数据库中数据的界面  

────────────────────────────────────── 

 Database Desktop(DBD) 建立、索引、查询数据库表以及访问、编辑来自各数据 

   中的数据  

────────────────────────────────────── 

 ReportSmith  建立、浏览和打印数据库表中的数据  

────────────────────────────────────── 

 Borland Database Engine  数据库应用通过BDE访问dBASE Paradox数据库中的数据 

  (BDE)  和本地InterBase数据库服务器中的数据

 

────────────────────────────────────── 

  BDE Configuration  建立和管理BDE与数据库建立连接时所使用的数据库的 

  Utility  别名  

────────────────────────────────────── 

   它是一个单用户、多例程的本地SQL数据库服务器,可  

 Local InterBase Server  在单机环境下用来开发或测试客户/服务器数据库应用 

   程序,然后再将之扩展成一个访问远程数据库服务器如 

   ORACLE、SyBase、Informix等  

────────────────────────────────────── 

 InterBase SQL Link  连接Delphi数据库应用程序一本地InterBase服务器的 

   驱动程序  

Delphi上述这些特性使得我们创建数据库应用程序通过BDE能够很灵活地与dBASE 、Paradox、Local InterBase数据库服务器进行连接并可以方便地访问其中的数据。我们在创建一个简单的数据库应用时通过使用Delphi提供的上述工具和部件甚至可以不需编写任何程序。

BDE被自动地包含在Delphi中,因此,我们在创建数据库应用程序时,不必关心BDE的有关内容。Delphi的安装程序自动为Paradox、dBASE和本地InterBaseServer安装相应的驱动程序,并建立了有关的配置,DBE Configuration Utility可以建立应用程序与数据库的连接信息,还可以为数据库设置别名。

下表列出了Delphi开发Client/Server应用程序的有关特性,这些特性扩展了Delphi访问远程数据库的功能,如SQL数据库服务器(ORACLE、SyBase、Informix、Microsoft SQL Server、InterBase)。 

表13.2 Delphi Client/server数据库特性

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

工 具   主 要 用 途

─────────────────────────────────

 SQL Drivers中的SQL link和ReportSmith为

SQL Drivers  Delphi数据库应用程序提供了访问远程SQL

 服务器的驱动程序,如访问ORACLE、SyBase、

 Microsoft SQL server、Informix、Intermix

─────────────────────────────────

Visual Query Builder 以可视化的方式建立SQL语句对数据库表和表

 中的记录进行操作

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

 

SQL links使得Delphi数据库应用程序利用SQL语言访问驻留在远程服务器上的数据,这些服务器包括ORACLE、Sybase、MicrosoftSQL Server、Informix、InterBase。 当安装SQL Link驱动程序之后,SQL语句便可以直接操作服务器上的数据。

-----------------------------------------------------------[交流]-[打印]-[发送]-[收藏]--
最新入库:
 
·实质、过程及意义——阿多尔诺“否定的辩证法”探微
·从Ontology的译名之争看哲学术语的翻译原则
·论马克思主义哲学经典的解释——解释学方法及其在马克
·中国哲学当前的核心与周边问题
·和合学与21世纪文化价值和科技
·中国文化的和合精神与21世纪
·宗教之间理当相互宽容
·上半个世纪的自由主义
·殷周至春秋时期神人关系之演进
·大学之道:构建以“三纲八目”为核心的道德修养体系
相关内容:
 
·电子商务网站平台3p设计技术与网络数据库
·ASP技术访问WEB数据库 2
·利用工具进行数据库数据的复杂查询
·多数据库系统互联机制的设计与实现
·基于Web的交互式数据库查询技术
·Foxpro DBF数据库转换成SQL Server 6.5表的几种方法
·ASP技术访问WEB数据库
·电子商务网站平台3p设计技术与网络数据库
·数据库之法律保护
·论数据库著作权保护中的独创性问题
网友点评:
 
会员名称:
密码:匿名 ·注册·忘记密码?
评论内容:
(最多300个字符)
  查看评论
友情提醒:
 1.库中的资料大都来自互联网、网友上传、各类书籍,在录入的过程中难免会出现错误,恳请网
 友来信指正!
 2.如果网友在本库中未能找到所需要的材料,请登陆到我们的论坛《招考学习网》版块!
 3.考友想加入招考学习网的编辑部,请发信到XueXiWang#Gmail.com(#改为@)附带个人简历
 4.如需转载请注明出处及作者,谢谢合作!
 5.如果您有更好的建议或意见请EMAIL:XueXiWang#Gmail.com (#改为@)
 6.凡标题中有注有“[NO]”字样均不含答案且答案整理中.
 7.如本库中转载文章涉及版权等问题,请相关网站或作者在两周内发邮件通知(EMAIL:  XueXiWang#Gmail.com (#改为@))我们,我们接到通知后立即删除该文章及链接!
你问我答 更多>>