您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页面向对象数据库技术探讨

面向对象数据库技术探讨

来源:华佗健康网
网络技术 计算机与网络创新生活 面向对象数据库技术探讨 朱永昌 (金昌市武威路派出所甘肃金昌737100) 【摘要】面向对象的数据库极有可能是数据库发展的方向,关系型数据库已显得力不从心,面向对象技术已经渗透到了数 据库领域,把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一 致。面向对象数据库的技术机理并不高深,但它的设计思想却极有价值。 【关键词】数据库中图分类号: 面向对象技术 文章编号:1008—1739(2010)07—63—3 文献标识码:A Discussing Obj ect-oriented database technology ZHUYong——chang (Jinchang Municipal Public Security Bureau,Jingchang Gamu 737100,China) Abstract:Object—oriented database May be direction of the daatbase development.It is not efifcient enough of relational database for he tcomplicated applications.Hopefully,Object—oriented technology has pene ̄ated into the database field,combining to The ob— ject-oriented methods and atdabase technology will make the database system analysis and design to Consistent Maximumly With people S undentanding of the objecitve world.Mechanism of object—oriented database tecnolhogy is not profound,but its design ideas is much valuable. Key words:Daatbase Object—oriented Relational atdabase technology 2面向对象数据库技术概述 1引言 面向对象是当前计算机界关心的重点,面向对象是一种 随着应用的日趋复杂和智能化.传统的关系数据库的缺 点一点点的暴露出来,人们迫切希望产生一种新的数据库解 决方案来适应这些复杂需求。一种新的解决方案呼之欲出。而 新的方法学,也是一种认知方法学。它是一种支持模块化设计 和软件重用的实际可行的编程方法。它把程序间的逻辑活动 建立在对象间的消息传递之上,且设计上更加符合现实世界, 更加自然,所以面向对象方法得到了更广泛的应用。 这个解决方案极有可能就是面向对象数据库技术。面向对象 数据库的技术机理并不高深。但它的设计思想却极有价值。在 传统的面向对象应用开发中,由于传统的关系数据库开发风 面向对象数据库系统是为了满足新的数据库应用需要而 产生的新一代数据库系统。在数据库中提供面向对象的技术 格完全不同于面向对象风格。使得许多程序员难以从复杂的 SQL编程中解脱出来(尽管已经有一些成熟的ORM技术框 架,如Hibernate,但程序员仍需要做大量的数据库代码工作), 从而也无法从实质上提高工作效率。 是为了满足特定应用的需要。随着许多基本设计应用(如 MACD和ECAD)中的数据库向面向对象数据库的过渡,面向 对象思想也逐渐延伸到其它涉及复杂数据的应用中.其中包 括辅助软件工程(CASE1、计算机辅助印81](CAP)*I]材料需求计  ̄1](MRP)。这些应用如同设计应用一样在程序设计方面和数 据类型方面都是数据密集型的,它们需要识别于类型关系的 定稿日期:2010-02-26 2010年第07期《计算机与网络》 : I ̄JlIIPI,IIII,]I [t,lli*lRO]l+l+ 1『r 兽 帆 _1 删 臻 例 新 年 / 存储技术,并能对相近数据备份进行调整。 还有许多应用要求多媒体数据库。它们要求以集成方式 和文本或图形信息一起处理关系数据,这些应用包括高级办 查询语言实现太复杂的逻辑因为它将导致开发和维护困难, ,提升成本。在数据库中使用数据库查询语言实现复杂的基于 面向对象的业务逻辑是面向对象数据库的一大亮点。这不仅 公室系统的其它文档管理系统。面向对象数据库从面向程序 设计语言的扩充着手使之成为基于面向对象程序设计语言的 面向对象数据库。例如:ONTOS、ORION等,它们均是c++ 的扩充,熟悉c++的人均能很方便地掌握并使用这类系统。 面向对象数据库研究的另~个进展是在现有关系数据库中加 使得程序的开发和维护变得简单,而且执行性能也得到了提 升(因为在数据中实现的逻辑总比在应用中实现的逻辑快那 么一两步)。 (3)低冗余性和高效性 在关系数据库中,低冗余和高效一直是鱼和熊掌不可兼 入许多纯面向对象数据库的功能。在商业应用中对关系模型 的面向对象扩展着重于性能优化,处理各种环境的对象的物 得的状态。低冗余往往会使得查询困难并最终导致数据库效 率降低(因为将产生可观的笛卡尔集或者生成复杂的查询优 理表示的优化和增加SQL模型以赋予面向对象特征。如 UNISQL、02等,它们均具有关系数据库的基本功能。采用 化方案,从而降低效率)。而在面向对象数据库中,查询将变成 对对象ID和消息的传递(也就是方法调用),从而消除了大范 类似于SQL的语言,用户很容易掌握。 围的笛卡尔集带来的困扰,提高数据库的访问效率。同时,由 于面向对象的封装性,使得面向对象数据库在设计程序时天 3面向对象数据库的优点 面向对象数据库是数据库技术与面向对象程序设计方法 相结合的产物,由于同是面向对象方法学,所以其具有了所有 生就已经达到了相当于关系数据库中的第三范式的设计准 则。因此面向对象的数据库天生就是低冗余的。 (4)提高软件的可重用性 原 很简单,因为面向对象的设计思想本来就要求你把 面向对象的优点。同时,由于数据库主要操作的是集合(而不 业务逻譬封装到一个个对象中,并通过给它们传递消息调用 是单个数据),所以其又具有自身的特点和优点。 (1)提高数据库开发效率 由于面向对象本身的亲和性,使得人们可以使用更自然 的方式来开发数据库,而不必像关系数据库那样考虑到方方 面面诸如规范到第几范式等等问题,大大的提高了开发效率。 同时.由于面向对象开发的流行.人们往往更热衷于使用面向 业务逻辑计算。这样,你就不得不首先把一些通用的业务逻辑 设计在一个个类中,下次使用只需调用它们即可。同时,面向 对象方法还有继承该概念,继承使得功能可以从一个类直接 扩展到它的子类中。另外,多态,动态联编等技术以及设 模 式的应用使得代码的可复用性得到了最大限度的扩展嘲。 对象的方式思考问题。这也无形中提高了数据库系统的开发 4面向对象方法学在计算机领域中的 效率。再有,应用于数据库间的交互将变得更加直接和方便,J立用 因为加入应用也是面向对象的,那么可以将面向对象数据库 中的对象直接映射到应用程序的对象中。比如当前J2EE开发 中流行的EJB以及开源的Hibernate等框架技术就是在关系 面向对象数据库系统可以应用于复杂的诸如人工智能等 领域也可以使用于传统的企业级应用。总之,面向对象数据 ,数据数据库与面向对象间搭桥方面做了积极的工作。而对于 面向对象数据库来数,EJB和Hibernate等中间技术将显得无 库可以应用在所有关系数据库能够应用的地方。。且在许多方 面效能更高比如人工智能和其他较为复杂的应用中。面向对 用,人们可以直接将数据库中的信息转换到基于面向对象技 术应用程序的对象中,而且效率更高(因为无需中间层的转 化)。程序员可以彻底的从持久层复杂的开发逻辑中出 象数据库现在已经存在一些实现主要是三条路线: ,(1)以关系数据库和SQL为基础的扩展关系模型 这种方式的优点是适宜于市场推广,缺点是无法做到纯 来,投入跟为重要的业务逻辑开发中,而且再也不用写复杂的 SQL语句,因为应用中的编程和数据库中的编程是一致的Ⅲ。 (2)数据库本身可以完成复杂的逻辑 由于使用了面向对象方法学,在数据库中编写复杂的逻 粹的面向对象性.。这个方式已经在各大主流数据库总得到实 现如Orade、DB 2等。 (2)以面向对象程序设计语言为基础 这种方式是以面向对象程序设计语言为基础的,研究持 辑变得简单了,于是,人们可以在数据库中加入复杂的逻辑, 而且可以和在应用中添加的逻辑相互衔接。目前,主流数据库 久的程序设计语言,。这种方式的优点是它是纯粹的面向对象 的缺点是难以进行市场推广。 都提供了过程化查询语言,但毕竟还是过程化的,它天生就不 如面向对象方法高效简单,因此人们往往并不想使用过程化 \ (3)建立新的面向对象数据库 这种方式已经有一些实现,如法国02 Tecllll0logy公司 《计算机与厨络>2010年第07期 网络技术 七卜 笛 素n.量 l弼 络 囱l塞 士: 活__.Ⅲ,.m旧r啊a日 :——, 的02系统。优缺点与第二条路线一致,基于研究的目的,本 文中的面向对象数据库的简易实现版本是以这种方式为基础 的。 关系数据库系统中增加一个对象至关系转换器,将上层的面 向对象模式转化为关系存储模式.存放到关系数据库中。这 样,在面向对象的数据库中关系存储模型位于底层.数据库用 户可以利用标准的面向对象数据库语言进行查询处理.用户 5面向对象技术和数据库技术的结合 输入的面向对象数据库语言被转换成关系数据库语言,从而 沿着三种途径发展 喜 暑 薹茎墨 在实现关系模型和面向对象模型之间的模型转换时需要一定 (1)面向对象数据库管理系统(ooDBMs) 的开销,执行效率比直接面向对象数据库要低一些.但这种扩 面向对象数据库管理系统以一种面向对象语言为基础, 充方式实现比较简单。下面主要介绍一下第二种方式是如何 增加数据库的功能,主要支持持久对象和实现数据共享。利用 实现的: 类来描述复杂对象,利用封装方法来模拟对象行为,利用继承 面向对象技术通过映射接口和关系数据库相结合。面向 性来实现对象的结构和方法的重用。但是这种纯粹的面向对 对象数据库强调的是对象的属性、方法和对象间的关系,设计 象数据库管理系统不能支持SQL语言,不能和现有的数据库 这种类型的数据库需要理解对象到关系数据库表的映射方 结合起来,在扩展性和通用性方面受到。 法。这种映射方法通过将对象类生成为SQL语言中的数据定 (2)对象关系数据库管理系统(oRDBMs) 义语言(DDL)来将对象转换成一个好的概念层的数据模型 对象关系数据库管理系统既支持SQL语句,也支持面向(DDL)。 对象技术,实现了传统数据库技术和面向对象技术的完美结 产商竞争的一个焦点是如何在现有的数据库中加入面向对象 曼 竺兰7结束语 ’ … 技术。 (3)对象关系映射数据库系统(oRMDBMs) 随着计算机技术的飞速发展,现有的数据库技术不能满 对象关系映射数据库系统是在对象层和关系层之间建立 足计算机网络、多媒体技术、CAD/CASE等领域的需要,面向 一个映射层,使得数据源中的关系数据能够进入对象领域。并 对象技术应用到现有的数据库中应运而生。面向对象技术和 且作为对象供上层应用使用。 数据库技术结合的三种途径以及面向对象技术应用到数据库 中的优势,通过在关系数据库中增加一个对象至关系转换器. 6面向对象技术在数据库中的实现 蠹 茎 三 关系数据库中来实现面向对象技术在 将面向对象技术应用到关系数据库中可以有两种方式: 一种方式是把面向对象技术中的对象作为关系数据库系统中 参考文献 的一种新的数据模型。关系表中的属性值包含对象指针,对象 [1】AIex Kriege1 and Boris M.Trukhn0v.SQL宝典【M】.北 数据的操作在关系数据库之外进行。把面向对象数据模型 京:电子工业出版社,2003. (oDM)和关系数据模型(RDM)结合起来,对关系数据库管 【2】Bruce Ecke1.Thinking In Java 4th[M】.北京:机械工 理系统进行扩充,但对象查询功能受到一定的。 业出版社.2006. 另一种方式是把面向对象接口添加在关系数据库中.在 微软推Visual Studio2010软件能驱动世界 据国外媒体报道,微软在12日发布最新的Visual Studio 我们所使用的设备以及与之交流的系统就知道了。所有的东 2010软件开发平台及.Net Framework 4,并宣称软件将驱动整 西都有软件驱动,开发者仅仅是使得这一切发生的人而已。正 个世界,开发者不过是软件背后的引擎而已。 如我所说,软件驱动这个世界,意味着开发者就是驱动这个世 据悉,这两项技术经过开发者一个很长的试用期,在12 界的弓I擎 日终于正式面对用户。 微软高层还盛赞Visual Studio 2010基于代码编辑器的 微软服务器及开发工具部门总裁鲍勃・穆格里亚(Bob Windows Presentation Foundation。微软公司高层指出。Visual Muglia)在拉斯维加斯Visual Studio 2010的揭幕仪式中说: Studio 2010能够构建其它微软技术的利用能力。例如share一 “毫无疑问,软件将驱动整个世界。看看你的周围所有的事物、Point协作平台、Windows 7 OS以及Silver1ight技术等。 2010年第07期《计算机与两络》 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务