VB提供的数据库引擎叫Jet。VB提供了两种与Jet数据库引擎接口的方法:Data控件(Data Control)和数据访问对象(DAO)。Data控件只提供了有限的不需编程就能访问现存数据库的功能,而DAO模型则是全面控制数据库的完整编程接口。这两种方法不是互斥的,实际上,它们可以同时使用。
VB中的数据库编程就是创建数据访问对象,这些数据访问对象对应于被访问的物理数据库的不同部分,如Database(数据库)、Table(表)、Field(字段)和Index(索引)对象。用这些对象的属性和方法来实现对数据库的操作。VB通过DAO和Jet引擎可以识别三类数据库:
1. VB数据库:也称为本地数据库,这类数据库文件使用与Microsoft Access相同的格式。Jet引擎直接创建和操作这些数据库并且提供了最大程度的灵活性和速度。
2. 外部数据库:VB可以使用几种比较流行的“索引顺序访问文件方法(ISAM)”数据库,包括:dDase III、dBase IV、FoxPro 2.0和2.5以及Paradox 3.x和4.x。在VB中可以创建和操作所有这些格式的数据库,也可以访问文本文件数据库和Excel或Lotus l-2-3电子表格文件。
VB数据库体系结构
VB提供了基于Microsoft Jet数据库引擎的数据访问能力,Jet引擎负责处理存储、检索、更新数据的结构,并提供了功能强大的面向对象的DAO编程接口。
1. VB数据库应用程序的组成
VB数据库应用程序包含三部分,如图9.1所示。
用户界面 Jet引擎 数据库
图9.1 VB数据库应用程序的组成
数据库引擎位于程序和物理数据库文件之间。这把用户与正在访问的特定数据库隔离开来,实现“透明”访问。不管这个数据库是本地的VB数据库,还是所支持的其他任何格式的数据库,所使用的数据访问对象和编程技术都是相同的。
(1)用户界面和应用程序代码
用户界面是用户所看见的用于交互的界面,它包括显示数据并允许用户查看或更新数据的窗体。驱动这些窗体的是应用程序的VB代码,包括用来请求数据库服务的数据访问对象和方法,比如添加或删除记录,或执行查询等。
(2)Jet引擎
Jet引擎被包含在一组动态链接库(DLL)文件中。在运行时,这些文件被链接到VB程序。它把应用程序的请求翻译成对.mdb(Access文件后缀)文件或其他数据库的物理操作。它真正读取、写入和修改数据库,并处理所有内部事务,如索引、锁定、安全性和引用完整性。它还包含一个查询处理器,接收并执行SQL查询,实现所需的数据操作。另外,它还包含一个结果处理器,用来管理查询所返回的结果。
(3)数据库
数据库是包含数据库表的一个或多个文件。对于本地VB或Access数据库来说,就是.mdb文件。对于ISAM数据库,它可能是包含.dbf(dBASE文件后缀)文件或其他扩展名的文件。或者,应用程序可能会访问保存在几个不同的数据库文件或格式中的数据。但无论在什么情况下,数据库本质上都是被动的,它包含数据但不对数据作任何操作。数据操作是数据库引擎的任务。
2.数据库应用程序的存放
数据库应用程序的这三个部分可以被分别放置在不同的位置上。可以把它们都放在一台计算机上,供单用户应用程序使用,也可以放置在通过网络连接起来的不同计算机上。例如,数据库可以驻留在中央服务器上,而用户界面(即应用程序)则驻留在几个客户机上,让许多用户访问相同的数据。
脱离开应用程序本身,将数据存放在另一台机器上的数据库应用程序,有远程数据库和客户机/服务器数据库两种结构。它们的不同点如图9.2所示。
客户机/服务器 远程服务器
数据库引擎 数据库 用户界面
图9.2 客户机/服务器数据库与远程数据库的存放
在客户机/服务器系统中,数据库引擎和数据库一起被放置在服务器上。数据库引擎可以同时对多个客户机的应用程序提供服务、操作数据库并对每个本地应用程序返回所请求的记录。在远程系统中,数据库引擎与用户应用程序在相同的计算机上,只有数据库驻留在远程计算机上。
评论