数据访问接口体系及对象模型的详细介绍

数据访问接口体系及对象模型的详细介绍

数据访问接口体系及数据对

数据访问接口体系及数据对象模型探讨(Beat 1.0)

81_RedStar81@163.com

TomHornson.student@www.sina.com.cn

个人文集:

http://www.csdn.net/develop/author/netauthor/RedStar81/

文章索引:

:概念

序言:回首历史

一、 数据访问接口体系探讨

1. Open Client/Open Server

2. ODBC(Open DataBase Connectivity : 开放数据库连接)

3. OLE DB(ObjectLinkandEmbeddingDataBase)

4. JDBC(Java DataBase Connectivity : Java数据库连接)

二、数据对象模型探讨(待续)
附录:美国著名数据库产品记事(参考)

 

研究数据库理论是为了设计更好的数据库系统。弄清数据访问接口体系及数据对象模型的发展、特征、相互之间的区别有助于开发更好的数据应用系统。

:概念

数据库: 满足一个或多个组织、多个用户的信息要求的集成数据存储库.(定义了一组数据库要素:集成、共享、存储、信息)

数据库管理系统(DBMS): 目标为处理所有用户对数据库存取要求的软件系统(它有两个主要的部分:数据库控制子系统和数据库存储子系统)

数据库系统: 以数据库应用为基础的软硬件系统的总和.(主要包含数据库、DBMS<DBMS软件>::<集成数据库管理软件>::)

<DBMS软件>:: = DBMS协同工作但是不属于DBMS的功能部件.主要包含:操作系统、程序设计语言及相应的编译系统、数据通信系统、各种应用程序(与数据库管理系 统交互以服务于用户).

<集成数据管理软件>:: = 辅助和配合DBMS工作的功能部件,一般不独立使用,总是与DBMS集成, DBMS的基础上开发的.譬如自动报表生成程序、数据库应用开发 程序、 数据库测试程序、数据库辅助设 计程序、数据转换设施等等.

分布式数据库系统: 数据库被划分成逻辑关联而物理地分散于不同场地的数据子集,并提供了充分操作这些子集 的数据存取能力的数据库系统.

序言:回首历史

80年代初, Vulcan(dBaseII的前身)成为第一个在微机上实现的数据库系统而且广为流行.随后的著名的Xbase家族(dBase系列、FoxBase系列、低版本FoxPro) ParadoxClipper从某种意义上说属于低级的数据库系统(从语义上讲,此处用数据库系统来表达是合适的.然而从性能、系统的设计来讲用数据库管理系统来描述更合适.那时的数据库管理系统更像是为管理大量信息而研发的"应用级"程序).OracleDB2等此时尚没有微机版本.这时的系统远不及现代数据库系统的复杂.当然这是由系统的目标或者说是用户需求决定的.用户对数据库的操作基于XBase及其它一些非标准的各数据库系统自己的数据操纵语言(最初虽然它们亦拥有函数库等程序设计语言的特征但它们更像操作命令.直到这些系统提供了编译或伪编译能力<1::>才真正可看作一种语言).

1::= 从下面的记事表来看,关于编译的问题在各数据库系统中有不同的表现,关键在于它们基于的数据库交互语言:是否为SQL.另一方面在于数据库系统的定位.个人认为:XBaseParadoxClipper等系列产品一定程度上实现了分布式但一直都未实现C/S结构而更多的局限于本地数据库的使用与OracleSybase SQL ServerSybase SystemDB2Informix等数据库系统的定位是不同的.它们秉承了先前的设计理念,还有更重要的一点是:C/S结构的出现自然导致了较现代(当然目前的商业应用开发模式应说是多层分布式)的数据系统开发模式(以当时客户端开发工具PowerBuilderVisual BasicDephil及辅助设计软件产品的出现为见证)同时DBMS的功能明细而以前的数据库系统的外围软件产品可以在客户端工作甚至集成于客户端开发工具之中.以前的终端-服务器(HOST系统)数据库系统结束.可以"篡夺"数据服务器系统诸多能力的客户端出现.这当中数据系统应用程序的出现应是关键,它使数据的使用、表现、甚至是数据库的管理等起了巨大的变化.XBaseParadox等系统自从实现不同程度的编译能力更看出它们集本地数据库管理、设计和数据系统应用程序开发等于一身,它们作为DBMS体现的功能并不同实现C/S体系结构的DBMS.还是那句话秉承了先前的设计理念.

虽然我们探讨的数据访问接口体系应该是针对C/S结构和更先进的数据库系统体系结构,然而我先前已经提到这篇文章的最终目标是帮助程序设计者设计更好的数据应用系统.这样我们有必要关注一下早先的数据库管理系统与其它的语言(汇编,C,Cobol,Pascal,Fortran)交互的情况.前前后后(92年以前,详见下面<<美国著名数据库产品记事>>),各著名数据库系统产品根据自己的结构体系和定位都实现了SQL(当中的实现情况自然各有不同.XBase家族、Parodox等增加了SQL交互界面且实现了XBase语言和SQL的混合使用.OracleSybaseInformix等系统把SQL