SQL与对象技术的融合发展
一、对象技术对SQL和关系数据库的挑战
在过去十年左右,SQL和关系数据库管理的主导地位面临着来自面向对象技术崛起的严峻挑战。面向对象编程语言(如C++和Java)、面向对象开发工具以及面向对象网络(包括对象请求代理和最近的Web服务)已成为现代软件开发的基础技术。起初,对象技术在构建具有图形用户界面(GUI)的个人计算机应用程序中广受欢迎,如今其影响力不断扩大,被用于构建大型企业的基于网络的应用程序,并将这些应用程序连接在一起。
20世纪90年代初,一群获得风险投资的面向对象数据库公司成立,旨在将面向对象原则应用于数据库管理。这些公司坚信,他们的面向对象数据库将像关系模型取代早期数据模型一样,取代过时的关系数据库。然而,面对根深蒂固的关系技术和SQL,他们在市场上的成功有限。作为对面向对象挑战的回应,许多关系数据库供应商积极将对象技术嫁接到其关系系统中,创建了混合的对象 - 关系模型。
二、面向对象数据库的发展与特点
2.1 发展历程
过去十年,学术界对数据库技术的研究主要集中在新的后关系数据模型上,目标是开发能克服关系模型某些缺点的新数据模型,重点是将面向对象编程和设计原则与传统数据库特性(如持久存储和事务管理)相结合。
20世纪90年代初至中期,大量风险资本投入到一批初创软件公司,这些公司以面向对象程序用于管理内存数据的对象数据结构为基础,将其扩展到基于磁盘的存储和多用户访问。早期的商业产品包括Gemstone、Gbase和Vbase等,90年代中期推出的产品有ITASCA、Jasmine、Objectivity/DB等。尽管这些面向对象数据库(OODBs)的热情支持者坚信它们将