对象关系数据库 对象数据库


对象数据库对象数据库是一种以对象形式表示信息的数据库。对象数据库的数据库管理系统被称为ODBMS或OODBMS。两个主要原因让用户使用对象数据库技术。首先,关系数据库在管理复杂数据时显得笨重。其次,被应用软件操作的数据一般是用面向对象的编程语言如C++,Java,Delphi和C#写成,而那些用来转化数据表示和关系数据库元组的代码很冗繁,执行时也有不少耗时。这种应用程序和数据库表示信息的模式之间的不匹配有时也被称为impedancemismatch。

历史
对象数据库管理系统在1980年代早中期grewoutofresearch对图结构的对象有了本质的数据库管理支持。“面向对象数据库系统”这一术语第一次出现于1985年。著名的研究项目包括Encore-Ob/Server(布朗大学),EXODUS(Wisconsin大学),IRIS(惠普),ODE(Bell实验室),ORION(MCC),Vodak(GMD-IPSI),andZeitgeist(TexasInstruments)。其中以ORION项目发表的论文数为最多。MCC的WonKim将这些论文中最有价值的一部分汇编成书并由MIT出版社出版。

对象数据库管理系统为面向对象编程语言增加了持久的概念。早期的商品数据库集成了多种语言:GemStone(Smalltalk),gbase(Lisp),andVbase(COP).COP是C对象处理器(CObjectProcessor),一种基于C的早于C++的专有语言。1990年代大部分时间由C++统治着商品对象数据库管理系统市场。厂商在1990年代晚期加入了Java并于最近加入了C#。

对象数据库的采纳
基于持久编程的对象数据库在一些应用领域获得了认可,如工程和空间数据库,通信和科学领域如高能物理和分子生物。他们对主流的商业数据处理没有什么影响,尽管在获得了一些应用在部分特殊领域如金融服务。值得指出对象数据库保持着世界上最大的数据库(超过1000terabytes在斯坦福线性加速中心)和被记录到的最高摄取率(一Terabyte每小时)。

对象关系数据库 对象数据库

2004年以来,当出现了易用和普遍可支付的开放源代码对象数据库时,对象数据库进入了第二次增长期。这些开放源代码的对象数据库完全用OOP语言如Java,C++,或C#写出。ObjectDB是对象关系数据库的一个例子。

技术特性
在纯物件式数据库中,资料以物件的形式存储,这些对象只能由其所属的类中定义的方法来操作。对象被组成一种类型层次(有时是格式lattic),子类继承其超类的特性。对象中可以有到其他对象的引用,于是应用程序可以以一种导航式的编程风格访问数据。多数物件式数据库也提供了一些查询语言,允许用声明式编程访问对象。在对象查询语言以及查询和导航接口的集成领域,产品间出现了很大的区别。ODMG用对象查询语言OQL作了标准化的尝试。

访问数据可以更快,表的联合常常是不必要的(在关系数据库的表实现方式下)。这是因为无需查询只需通过指针就可以直接获得对象。产品间的另一点不同是数据库定义模式的方式。然而一般的特征是编程语言和数据库模式使用相同类型的定义。多媒体应用程序将变得容易因为与数据相关的类方法保证了数据的正确解释。

许多对象数据库提供对版本的支持。一个对象可以看作是他所有版本的集合。同时,对象版本也可以被看作是对象自身的属性。一些对象数据库也提供了对触发器和约束的语义支持,这些特性是活跃数据库(activedatabase)的基础。

优势和劣势
对ODBMS和关系DBMS的基准测试显示ODBMS在某些任务上优势明显。主要原因是许多操作使用导航式而不是声明式接口,并且对数据的导航式访问通常可以有指针高效得实现。对基于导航数据库技术,如ODBMS的批评指出,基于指针的技术为一些特殊的搜索路径或视点(viewpoint)作了优化。而且,对一般目的的查询,基于指针的技术比关系型要慢并难于形式化。导航式显得适合与特定应用而失了普遍,未来的使用。ODBMS的其他技术显得缺失了与SQL世界中大量工具或特性的互操作性包括但不限于产业标准互联性,报告工具,OLAP工具以及备份和恢复标准。另外,不像关系数据库,对象数据库缺少形式化的数学基础,而这反过来导致他们在查询支持上的弱势。不过,这一缺陷被部分弥补,因为一些ODBMS除了导航式访问外也提供了对SQL的完全支持,如Objectivity/SQL++。

事实上,在概念封装即隐藏数据使他只能通过公布的一些接口访问和关系数据库技术假定数据只能由基于数据内容的查询而不是预定义的查询路径的形式访问之间存在着本质的张力。数据库中心论倾向于用声明和属性驱动的观点看世界,而面向对象倾向于从行为的观点看世界。这就是围绕着OOP和数据库的许多impedancemismatch问题之一。尽管很多评论认为对象数据库是失败的,但主要的辩护者仍很活跃,更紧密得整合数据库的功能和对象编程语言的尝试在研究和产业社区里仍在继续。

  

爱华网本文地址 » http://www.413yy.cn/a/8103330103/60206.html

更多阅读

oracle数据库基础使用方法 精 oracle数据库基础教程

oracle数据库基础使用方法 精——简介ORACLE 数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的

sql文件用什么打开 sql文件怎么打开

简介sql是一种对关系数据库中的数据进行定义和操作的句法,为大多数关系数据库管理系统所支持的工业标准。今天小编过来教大家如何打开sql文件;方法一:使用记事本sql文件使用记事本就可以打开,当然一些网站的编辑工具也可以打开;

算机范式 范式危机的概念

3.数据库范式设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴

数据库三大范式的理解 数据库三大范式详解

一: 引言作为一个数据库的学习者,搞懂关系数据库的三大范式是很有用的。然而教科书上有关数据库范式的介绍都是采用学术性的定义,语法羞涩,让人难懂,故写下自己对数据库范式的理解,给初学者提供帮助,也备日后查看。本文不介绍规范化程度高

数据挖掘概念与技术 数据挖掘平台

最近读了 jiawei han , micheline kamber 所著的数据挖掘概念与技一书,以下为总结:第一. 概述一.挖掘来源:1. 关系数据库2. 数据仓库3. 事务数据库说明:包含

声明:《对象关系数据库 对象数据库》为网友丶鑫爷灬分享!如侵犯到您的合法权益请联系我们删除