同时,由于面向对象的封装性,使得面向对象数据库在设计程序时天生就已经达到了相当于关系数据库中的第三范式的设计准则。因此面向对象的数据库天生就是低冗余的。
(4)提高软件的可重用性
原因很简单,因为面向对象的设计思想本来就要求你把业务逻辑封装到一个个对象中,并通过给它们传递消息调用业务逻辑计算。这样,你就不得不首先把一些通用的业务逻辑设计在一个个类中,下次使用只需调用它们即可。同时,面向对象方法还有继承该概念,继承使得功能可以从一个类直接扩展到它的子类中。另外,多态,动态联编等技术以及设计模式的应用使得代码的可复用性得到了最大限度的扩展【2】。
3.面向对象方法学在计算机领域中的应用
面向对象数据库系统可以应用于复杂的诸如人工智能等领域,也可以使用于传统的企业级应用。总之,面向对象数据库可以应用在所有关系数据库能够应用的地方,且在许多方面效能更高,比如人工智能和其他较为复杂的应用中。面向对象数据库现在已经存在一些实现,主要是三条路线:
(1)以关系数据库和SQL为基础的扩展关系模型
这种方式的优点是适宜于市场推广,缺点是无法做到纯粹的面向对象性。这个方式已经在各大主流数据库总得到实现,如Oracle、DB2等。
(2)以面向对象程序设计语言为基础
这种方式是以面向对象程序设计语言为基础的,研究持久的程序设计语言。这种方式的优点是它是纯粹的面向对象的,缺点是难以进行市场推广。
(3)建立新的面向对象数据库
这种方式已经有一些实现,如法国O2Technology公司的O2系统。优缺点与第二条路线一致,基于研究的目的,本文中的面向对象数据库的简易实现版本是以这种方式为基础的。
4.面向对象技术和数据库技术的结合沿着三种途径发展【3】:
1)面向对象数据库管理系统(OODBMS)
面向对象数据库管理系统以一种面向对象语言为基础,增加数据库的功能,主要支持持久对象和实现数据共享。利用类来描述复杂对象,利用封装方法来模拟对象行为,利用继承性来实现对象的结构和方法的重用。但是这种纯粹的面向对象数据库管理系统不能支持SQL语言,不能和现有的数据库结合起来,在扩展性和通用性方面受到限制。
2)对象关系数据库管理系统(ORDBMS)
对象关系数据库管理系统既支持SQL语句,也支持面向对象技术,实现了传统数据库技术和面向对象技术的完美结合。全球的数据库生产商争相研发这种数据库产品,数据库生产商竞争的一个焦点是如何在现有的数据库中加入面向对象技术。
3)对象关系映射数据库系统(ORMDBMS)
对象关系映射数据库系统是在对象层和关系层之间建立一个映射层,使得数据源中的关系数据能够进入对象领域,并且作为对象供上层应用使用。
5、面向对象技术在数据库中的实现
将面向对象技术应用到关系数据库中可以有两种方式:
一种方式是把面向对象技术中的对象作为关系数据库系统中的一种新的数据模型。关系表中的属性值包含对象指针,对象数据的操作在关系数据库之外进行。把面向对象数据模型(ODM)和关系数据模型(RDM)结合起来,对关系数据库管理系统进行扩充,但对象查询功能受到一定的限制。
另一种方式是把面向对象接口添加在关系数据库中,在关系数据库系统中增加一个对象至关系转换器,将上层的面向对象模式转化为关系存储模式,存放到关系数据库中。这样,在面向对象的数据库中关系存储模型位于底层,数据库用户可以利用标准的面向对象数据库语言进行查询处理,用户输入的面向对象数据库语言被转换成关系数据库语言,从而对底层的关系存储模式进行查询等处理,同时将操作结果按照对象方式返回给用户。这种实现方式使得数据库管理系统在实现关系模型和面向对象模型之间的模型转换时需要一定的开销,执行效率比直接面向对象数据库要低一些,但这种扩充方式实现比较简单。下面主要介绍一下第二种方式是如何实现的:
面向对象技术通过映射接口和关系数据库相结合,面向对象数据库强调的是对象的属性、方法和对象间的关系,设计这种类型的数据库需要理解对象到关系数据库表的映射方法。这种映射方法通过将对象类生成为SQL语言中的数据定义语言(DDL)来将对象转换成一个好的概念层的数据模型(DDL)【4】。
。
6.结论
随着计算机技术的飞速发展,现有的数据库技术不能满足计算机网络、多媒体技术、CAD/CASE等领域的需要,面向对象技术应用到现有的数据库中应运而生。面向对象技术和数据库技术结合的三种途径以及面向对象技术应用到数据库中的优势,通过在关系数据库中增加一个对象至关系转换器,把面向对象接口添加到关系数据库中来实现面向对象技术在关系数据库中的应用。
参考文献
1 Alex Kriegel and Boris M.Trukhnov.SQL宝典[M].北京:电子工业出版社,2003. 1~200
2 Bruce Eckel.Thinking In Java 4 [M].北京:机械工业出版社,2006.1~600 2/2 首页 上一页 1 2 |