打印本文 打印本文 关闭窗口 关闭窗口
数据访问接口体系及数据对象模型探讨(Beat1.0)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数778  更新时间:2009/4/22 23:21:51  文章录入:mintao  责任编辑:mintao
                                                   全文,请链接      
               
http://members.lycos.co.uk/magicthink/



---------注:以下为文章的开头部分----------


                 序言:回首历史

    80年代初, Vulcan(dBaseII的前身)成为第一个在微机上实现的数据库系统而且广为流行.随后的著名的Xbase家族(dBase系列、FoxBase系列、低版本FoxPro等) 、Paradox、Clipper从某种意义上说属于低级的数据库系统(从语义上讲,此处用数据库系统来表达是合适的.然而从性能、系统的设计来讲用数据库管理系统来描述更合适.那时的数据库管理系统更像是为管理大量信息而研发的"应用级"程序).而Oracle、DB2等此时尚没有微机版本.这时的系统远不及现代数据库系统的复杂.当然这是由系统的目标或者说是用户需求决定的.用户对数据库的操作基于XBase及其它一些非标准的各数据库系统自己的数据操纵语言(最初虽然它们亦拥有函数库等程序设计语言的特征但它们更像操作命令.直到这些系统提供了编译或伪编译能力<注1::>才真正可看作一种语言).
      注1::= 从下面的记事表来看,关于编译的问题在各数据库系统中有不同的表现,关键在于它们基于的数据库交互语言:是否为SQL.另一方面在于数据库系统的定位.个人认为:XBase、Paradox、Clipper等系列产品一定程度上实现了分布式但一直都未实现C/S结构而更多的局限于本地数据库的使用与Oracle、Sybase SQL Server、Sybase System、DB2、Informix等数据库系统的定位是不同的.它们秉承了先前的设计理念,还有更重要的一点是:C/S结构的出现自然导致了较现代(当然目前的商业应用开发模式应说是多层分布式)的数据系统开发模式(以当时客户端开发工具PowerBuilder、Visual Basic、Dephil及辅助设计软件产品的出现为见证)同时DBMS的功能明细而以前的数据库系统的外围软件产品可以在客户端工作甚至集成于客户端开发工具之中.以前的终端-服务器(HOST系统)数据库系统结束.可以"篡夺"数据服务器系统诸多能力的客户端出现.这当中数据系统应用程序的出现应是关键,它使数据的使用、表现、甚至是数据库的管理等起了巨大的变化.而XBase、Paradox等系统自从实现不同程度的编译能力更看出它们集本地数据库管理、设计和数据系统应用程序开发等于一身,它们作为DBMS体现的功能并不同实现C/S体系结构的DBMS.还是那句话秉承了先前的设计理念.

      虽然我们探讨的数据访问接口体系应该是针对C/S结构和更先进的数据库系统体系结构,然而我先前已经提到这篇文章的最终目标是帮助程序设计者设计更好的数据应用系统.这样我们有必要关注一下早先的数据库管理系统与其它的语言(汇编,C,Cobol,Pascal,Fortran等)交互的情况.前前后后(92年以前,详见下面<<美国著名数据库产品记事>>),各著名数据库系统产品根据自己的结构体系和定位都实现了SQL(当中的实现情况自然各有不同.XBase家族、Parodox等增加了SQL交互界面且实现了XBase语言和SQL的混合使用.而Oracle、Sybase、Informix等系统把SQL根据各自系统的需要扩展形成了自己的数据操纵语言)和编译或伪编译或预编译能力或调用库.上面所述的两种能力的实现对数据库系统和应用程序的交互起了很大的影响.但那时的交互不同于现在程序设计者意识中应用程序与数据库系统的关系.总体来说那时数据库系统与应用程序交互可能有几种情况:一,数据库管理系统提供访问应用程序的途径以增强数据库管理系统的功能. 二,应用程序利用格式转化后的数据库文件.当然也可以通过其它的方法访问未经转化的数据库文件. 三,数据操纵语言嵌入其它的程序设计语言(称为宿主语言).其实早在1969年实现的IBM-IMS数据库系统(数据操纵语言为DL/I)中已经具有这种功能.自然系统需要提供预编译接口. 四,在应用程序中使用数据库系统提供的调用库(如Oracle的OCI Library,值得一提的是OCI Library在最新的接口体系中还使用着).再从现在数据系统程序设计者的角度看,在你的程序中可以利用的无非是数据库文件.在利用数据库文件的两条途径中,一条是不需要你掌握数据库文件格式结构的.自然,上面列出的四种情况是从不同的数据库系统归纳出来的.


.........................................

.........................................................................................................
 

打印本文 打印本文 关闭窗口 关闭窗口