版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象技术和数据库 摘要本文简要回顾了面向对象技术和数据库技术结合的发展历程和方向,探讨面向对象技术和数据库技术的结合的三种方式的基本特征、优势、劣势,着重介绍面向对象数据库和以应用面向对象技术的后关系型数据库Caché,以其为例分析面向对象技术和数据库技术结合的现状,并展望面向对象技术和数据库技术结合发展前景。关键词面向对象、SQL 、MUPUS 语言、Caché、ORM (对象关系映射)前言在当今软件的世界里,面向对象技术一统天下,渗透到几乎所有软件设计领域、应用领域和工程领域。与此同时,在数据库领域中,虽然关系数据库占据了绝大部分的市场份额,Oracle 、DB2、
2、SQLServer 、Infomix 成为数据库中的霸主,但关系数据库究竟还是是数据的一种存储方式,它不属于面向对象领域。当以关系数据库为数据存储方式时,由于关系概念与面向对象概念是完全不同的两个概念,它们之间存在严重的“阻抗失谐(Impedance Mismatch )”。为了解决这个问题,面向对象技术和数据库技术自然而然开始交流和结合,应用上层的面向对象要求渗透到数据库,甚至是数据库底层,并开始影响未来数据库的发展。面向对象技术和数据库技术的结合,开拓出多种结合方式,出现了许多新兴的概念,创造出来许多优秀的产品,下面就让我们一起来疏理其脉络,管窥其机理,展望其发展。发展八十年代以来, 不同
3、领域的应用提出了许多新的数据管理需求, 传统数据库技术遇到了巨大的挑战。在这种挑战之下,第三代数据库应运而生,并和诸多新技术相结合(比如分布处理技术、并行计算技术、人工智能技术、多媒体技术、模糊技术),广泛应用于多个领域(商业管理、GIS 、计划统计等),由此也衍生出多种新的数据库技术。其中一个重要的方向就是数据库的面向对象技术,在面向对象技术和数据库技术相结合的过程中,基本上是沿着下面几种途径发展的:一种是建立纯粹的面向对象数据库管理系统(即OODBMS ),这种途径往往是以一种面向对象语言为基础,增加数据库的功能,主要是支持持久对象和实现数据共享。面向对象的数据库不仅在处理多媒体等数据类型
4、时可以做到游刃有余,而且在应用系统开发速度和维护等方面有着极大的优越性。面向对象数据库系统产生于80年代后期,它利用类的设施来描述复杂对象,利用类中封装的方法来模拟对象的复杂行为,利用继承性来实现对象的结构和方法的重用。面向对象数据库系统对一些特定应用领域(例如CAD 等),能较好地满足了其应用需求。但是,这种纯粹的面向对象数据库系统并不支持SQL 语言,在通用性方面失去了优势,因而其应用领域受到了很大的局限。另一种途径是从传统的关系数据库加以扩展,增加面向对象的特性,把面向对象技术与关系数据库相结合,建立对象关系数据库管理系统(ORDBMS ),这种系统既支持已经被广泛使用的SQL ,具有良
5、好的通用性,又具有面向对象特性,支持复杂对象和复杂对象的复杂行为,是对象技术和传统关系数据库技术的最佳融合。1997年,对象关系数据库的出现和发展应该算是数据库技术的一次革命,对象技术和关系技术珠联壁的优点,吸引着全球数据库厂商竞相研究开发。如何在现有的关系型数据库产品中加入对象技术,即开发面向对象的关系型数据库成为数据库软件厂商竞争的一个焦点。第三种就是最近两年中,在开源领域中最为炙热的ORM (对象关系映射)。解决“阻抗失谐(Impedance Mismatch )”矛盾的办法是在对象层和关系层间建立一个映射层(Mapping Layer),通过这种方式数据源中的关系数据才能进入对象领域,
6、以对象的面貌出现,供上层应用使用。最后一种来自于MUMPS 领域M 技术数据库。MUMPS 语言,简称:M 技术算起来也是一种古老的语言了,与FORTRAN 和COBOL 属于同时代的语言。它在医学、商业和教育领域中的用处正在日益扩大。M 技术应用于数据库领域产生一个数据库分支M 数据库,其中的佼佼者Caché是将M 技术和面向对象技术融合得到的后关系型数据库,在医疗领域的绝对占有率。在面向对象技术和数据库技术结合的大环境下,这种技术可以说是剑走偏锋,又锐利难当。 面向对象数据库 面向对象和关系数据库一样,都支持数据库的持久性、二次存储管理、并发控制、恢复和查询的功能。不同的是:1.
7、 面向对象的范例是以分类为基础的,类用于定义存储在数据库内对象的结构及行为 2. 关系范例是以元组(tuple )或记录为基础的,它被唯一地用来定义存储在数据库内的数据结构。一组元组被称之为一个关系(relation )或一个表(table )面向对象数据库系统的优点1. 能有效地表达客观世界和有效地查询信息:面向对象的方法符合一般人的思维规律、即将现实世界分解成明确的对象,这些对象具有属性和行为。2. 可维护性好:在耦合性和内聚性方面,面向对象数据库的性能尤为突出。这使得数据库设计者可在尽可能少影响现存代码和数据的条件下修改数据库结构。这种先进的耦合性和内聚性也简化了在异种硬件平台的网络上的
8、分布式数据库的运行。3. 能很好地解决Impedance mismatch 问题面向对象数据库系统的缺点1. 技术还不成熟。面向对象数据库技术的根本缺点是这项技术还不成熟,还不广为人知。ODBMS 如今还存在着标准化问题,由于缺乏标准化,许多不同的ODBMS 之间不能通用。此外,是否修改SQL 以适应面向对象的程序,还是用新的对象查询语言来代替它,目前还没有解决,这些因素表明随着标准化的出现,ODBMS 还会变化。2. 面向对象技术需要一定的训练时间:人们还需要学习一套新的开发方法使之与现有技术相结合。此外,面向对象系统开发的有关原理才刚开始具有雏形,还需一段时间在可靠性、成本等方面令人可接受
9、。3. 理论还需完善:从正规的计算机科学方面看,还需要设计出坚实的演算或理论方法来支持ODBMS 的产品。此外,既不存在一套数据库设计方法学,也没有关于面向对象分析的一套清晰的概念模型,怎样设计独立于物理存储的信息还不明确。对象关系数据库和对象关系映射对象关系数据库和对象关系映射作的是同一件事:在关系数据库之上,加入对象关系映射引擎,将应用领域中的实体对象和数据中的表作一个映射,上层应用操作对象,映射引擎作具体的关系表的操作。所不同的是角色不同:对象关系数据库是由数据库厂商实现,是一个自底向上的行为,而对象关系映射由应用层来作,是一个自上而下的行为,殊途同归。核心技术便是OR 映射,包括:1.
10、 将属性映射成列。类属性将映射成关系数据库中的零或几列。要记住,并不是所有属性都是持久的。2. 在关系数据库中实现继承。在将对象保存到关系数据库中时,继承的概念中发生几个有趣的问题。3. 将类映射成表。类到表的映射通常不是直接的。除了非常简单的数据库以外,您不会有类到表的一对一映射。其优点包括:1. 该技术最大的有点在于让数据库的关系技术得到“可持续发展”。当今业界,关系数据库占据着绝大部分的应用领域,纵然从纯技术角度来看,关系技术与其他先进的数据库技术相比存在诸多限制,但从市场、应用、发展和经济多角度来看,只有在关系数据库之上作出调适,进行改进,才能保护客户的既有投资,才能让熟悉关系技术的开
11、发群体能够平滑过渡到新的阶段。因此可以说,对象关系映射技术才是最可能得到长足发展和广泛应用的技术2. 能够在很大的程度上解决Impedance mismatch 问题,现今对象关系技术已经支持,对象关系的一对一映射,一对多映射,部分产品还实现了多对多映射,较好的实现了主键、外键和事务。并且,在过程语言上的发展使得关系世界的存储过程和触发器的功能得到实现3. 对象关系映射技术较好的实现同现有主流开发语言的结合,如Java 、C 语言,无缝的融入到开发环境中,这样的便捷性大大提高的开发的效率,减少了应用程序的代码量。 当然,虽然对象关系数据库和对象关系映射殊途同归,但是对象关系数据库有数据库厂商开
12、发和维护,算是正规军,对象关系映射中间件主要由开源组织和个人开发和维护,算是游击队,两相比较,正规军将对象关系层直接融入数据库产品,在技术上具备效率、和数据库的结合度等多方优势;在实力层面又具备强大的经济、市场和研发优势,因此会成为对象关系映射技术发展的主流。而对象关系映射中间件短小精悍,具备多数据库的支持能力,并且受开发社群的鼎立支持,也将在未来占据一席之地。后关系型数据库Caché作为唯一实用过的面向对象数据库,我试图给它作一个分类,关系对象数据库?还是对象数据库?很难将其归类,因此单列给予分析说明。可以Caché是一种高性能的面向对象数据库,具有高效率和可升级的多维对
13、象模型,由于市场的需要其内部集成了 SQL 访问,并且具有独特的分布式数据缓冲功能.其底层是 多维数据模型,其前身是 Mupus 语言的数据库产品.它有下列特点: 1. 全面采用了面向对象模型,Caché 存储的数据模型接近现实世界.对象 世界的一切特点它都具备,并且实现得很.Caché 的对象模型是基于 ODMG 标准的,Caché 全 面 支持所有面向对象概念,包括封装,嵌入 对象,多继承,多形性和集合. 2. Caché's 高性能数据库使用多维数据模型,它允许有效地紧密存储丰富 的数据结构.在这个多维数据模型之上,构建对象和关系表,可以说
14、: 对象和关系表是其多维数据的外部表现,就想同样一个人,在外面穿着 警服是警察,在家穿着便服是父亲和丈夫.Caché 通过统一数据结构, 提供用对象和关系表两种方式的灵活而迅速的数据访问,可以用两种方 式并行访问相同的数据. 3. Caché 可以与多种开发工具和语言互操作, 这些访问方法允许同时使用 来满足不同应用需求和优化性能.对于对象,可以通过 ActiveX,Java, C+和 Web 方式访问,同时产品统一数据结构可以同时支持用标准 SQL 方式访问对象库. 4. 全面支持 SQL 的访问方式,Caché 也提供了对微软 ODBC 和 SUN 的 JDBC 的高性能驱动程序,在应用端可以象访问关系数据库一样访问 Caché.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 足神经松解术后护理查房
- 2026人教版一年级上册数学《1-5的认识和加减法》(第二课时 加法)完整教案
- 机器人智能制造产业园项目可行性研究报告模板-立项申报用
- 教育行业办学质量评估制度
- 人工智能在金融科技领域的应用创新试题真题
- 房建装饰装修工程-吊顶质量常见多发问题防治
- 乡镇形象宣传片拍摄合同
- 护理跌倒应急预案:保障患者安全的核心
- 麻疹、登革热、人感染禽流感诊疗培训考试试题
- 问界用户关怀中心随堂考试卷
- 员工癫痫免责协议书
- 图书资料员知识培训课件
- 中草药粉防己市场分析与种植技术
- 中药饮片检验培训试题及答案
- 2025中国平安IQ测试备考指南(题型解析+模拟练习)
- 知道智慧树网课《计算方法(浙江大学)》课后章节测试答案
- 煅烧车间安全教育培训课件
- (正式版)DB65∕T 3952-2016 《反恐怖防范设置规范 学校》
- 右侧肢体无力病人的护理查房
- 消防设施维护保养及检查标准
- 新疆环保检查知识培训课件
评论
0/150
提交评论