对象数据库系统与关系数据库间特性解析

本文针对众多网友关于对象数据库系统与关系数据库系统间的疑惑来详细分析。

面向对象数据库系统

面向对象数据库系统(Object Oriented Data Base System,简称OODBS)是数据库技术与面向对象程序设计方法相结合的产物。

对于OO数据模型和面向对象数据库系统的研究主要体现在:研究以关系数据库和SQL为基础的扩展关系模型;以面向对象的程序设计语言为基础,研究持久的程序设计语言,支持OO模型;建立新的面向对象数据库系统,支持OO数据模型。

面向对象程序设计方法是一种支持模块化设计和软件重用的实际可行的编程方法。它把程序设计的主要活动集中在建立对象和对象之间的联系(或通信)上,从而完成所需要的计算。一个面向对象的程序就是相互联系(或通信)的对象集合。面向对象程序设计的基本思想是封装和可扩展性。

面向对象数据库系统支持面向对象数据模型(以下简称OO模型)。即面向对象数据库系统是一个持久的、可共享的对象库的存储和管理者;而一个对象库是由一个OO模型所定义的对象的集合体。

一个OO模型是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。一系列面向对象核心概念构成了OO模型的基础。概括起来,OO模型的核心概念有如下一些:

(1)对象(Object)与对象标识OID(Object IDentifier)。

现实世界的任一实体都被统一地模型化为一个对象,每个对象有一个唯一的标识,称为对象标识(OID)。

(2)封装(Encapsulation)。

每一个对象是其状态与行为的封装,其中状态是该对象一系列属性(Attribute)值的集合,而行为是在对象状态上操作的集合,操作也称为方法(Method)。

(3)类(C1ass)。

共享同样属性和方法集的所有对象构成了一个对象类(简称类),一个对象是某一类的一个实例(instance)。

(4)类层次(结构)。

在一个面向对象数据库模式中,可以定义一个类(如C1)的子类(如C2),类Cl称为类C2的超类(或父类)。子类(如C2)还可以再定义子类(如C3)。这样,面向对象数据库模式的一组类形成一个有限的层次结构,称为类层次。

(5)消息(Message)。

由于对象是封装的,对象与外部的通信一般只能通过显式的消息传递,即消息从外部传送给对象,存取和调用对象中的属性和方法,在内部执行所要求的操作,操作的结果仍以消息的形式返回。

OODB语言用于描述面向对象数据库模式,说明并操纵类定义与对象实例。OODB语言主要包括对象定义语言(ODL)和对象操纵语言(OML),对象操纵语言中一个重要子集是对象查询语言(OQL)。OODB语言一般应具备下述功能:

(1)类的定义与操纵。

面向对象数据库语言可以操纵类,包括定义、生成、存取、修改与撤销类。其中类的定义包括定义类的属性、操作特征、继承性与约束等。

(2)操作/方法的定义。

面向对象数据库语言可用于对象操作/方法的定义与实现。在操作实现中,语言的命令可用于操作对象的局部数据结构。对象模型中的封装性允许操作/方法由不同程序设计语言来实现,并且隐藏不同程序设计语言实现的事实。

(3)对象的操纵。

面向对象数据库语言可以用于操纵(即生成、存取。修改与删除)实例对象。

目前,还没有像SQL那样的关于面向对象数据库语言的标准,因此不同的OODBMS其具体的数据库语言各不相同。

对象数据库系统

对象-关系数据库系统就是将关系数据库系统与面向对象数据库系统两方面的特征相结合。 对象-关系数据库系统除了具有原来关系数据库的各种特点外,还应该提供以下特点:

(1)扩充数据类型,例如可以定义数组、向量、矩阵、集合等数据类型以及这些数据类型上的操作。

(2)支持复杂对象,即由多种基本数据类型或用户自定义的数据类型构成的对象。

(3)支持继承的概念。

(4)提供通用的规则系统,大大增强对象-关系数据库的功能,使之具有主动数据库和知识库的特性。

对象数据库 VS 关系数据库

我们将对象数据库管理系统(ODBMS)定义为一个集成了数据库能力与面向对象编程语言能力的数据库管理系统(DBMS),ODBMS使数据库对象看起来像是已有的一个或多个程序设计语言中的程序设计语言以象。——Rick Cattell,OMG-93委员会主席。

ODBMS在多用户客户机/服务器环境中提供了持久性存储器。ODBMS可以处理对象的并行访问,提供锁定和事务保护,保护对象存储器免遭各种类型的威胁,照管像备份和恢复之类传统任务。ODBMS这所以与关系数据库不同,是因为ODBMS存储的是对象,而不是表格。对象的引用通过持久性标识(PID)进行,PID可以独一无二地识别各个对象,可以用来在对象之间建立标记和容器关系。ODBMS还加强了封装,支持继承。ODBMS结合了对象属性和传统的DBMS功能,如锁定、保护、事务处理、查询、版式本、并发和持久性。

时间: 2024-12-28 17:54:18

对象数据库系统与关系数据库间特性解析的相关文章

对象数据库 VS 关系数据库

对象|数据|数据库 对象数据库 VS 关系数据库我们将对象数据库管理系统(ODBMS)定义为一个集成了数据库能力与面向对象编程语言能力的数据库管理系统(DBMS),ODBMS使数据库对象看起来像是已有的一个或多个程序设计语言中的程序设计语言以象.--Rick Cattell,OMG-93委员会主席. ODBMS在多用户客户机/服务器环境中提供了持久性存储器.ODBMS可以处理对象的并行访问,提供锁定和事务保护,保护对象存储器免遭各种类型的威胁,照管像备份和恢复之类传统任务.ODBMS这所以与关系

AngularJs基本特性解析(一)_AngularJS

现在的前端项目中基本上都会用到angularjs框架,之前并不了解这个框架,也是因为最近接手的项目,所以打算好好的学习下它.之前都是搞pc端,现在接手的是移动端的项目,移动端UI框架用的是ionic+vordova,没有用bootstrap,主要做的是ios+安卓的app界面,ionic这个框架也不太了解,也需要花时间好好熟悉下.angularjs学习小白一枚,欢迎大神指正. AngularJs是什么? 简单来说,即javascript的一个框架,通过script标签添加到网页中.即我们使用an

云计算一周热文回顾:NoSQL数据库技术特性解析之文档数据库

NoSQL数据库技术特性解析之文档数据库 现今云计算的从业人员对NoSQL一词并不感到陌生,虽然很多技术人员都长期从事关系数据库的工作,但现在他们对NoSQL技术充满期待.对于企业来说,从关系型数据库到NoSQL数据库转变绝对是个需要深思熟虑的大改变.这涉及的不仅是软件的变化,更多的是对于数据存储上观念性的变化. 大多数非关系数据库都具有快速和可伸缩的特性.通过放弃关系存储模型和架构,关系数据库便可脱离由紧密结合的架构所带来对其施加的限制.应用程序也无需再链接数据库内表中的数据. MongoDB

移动搜索广告前景:手机搜索特性解析

文章描述:2012年谷歌的移动广告收入将高达45亿美元,较2011年的25亿美元上涨了80%.其中大多数移动广告收入均来自搜索,未来移动搜索广告前景大有可为,借着这个东风,研究了一下手机搜索的基本知识. 近年来移动互联得到了快速的发展,据国外高级互联网分析师吉蒙-蒙斯特(Gene Munster)称,2012年谷歌的移动广告收入将高达45亿美元,较2011年的25亿美元上涨了80%.其中大多数移动广告收入均来自搜索,未来移动搜索广告前景大有可为,借着这个东风,研究了一下手机搜索的基本知识. 手机

解析Swift语言面相对象编程中的继承特性_Swift

取大于形态的能力被定义为继承.一般一个类可以从另一个类继承属性和方法.类可以进一步划分到子类和超类. 子类:当一个类从另一个类继承属性,方法和功能被称为子类 超类:类包含属性,方法和功能被其它类继承称为超类 Swift 中类包含父类和调用访问方法,属性,功能和重写方法.另外,属性观察者也用于添加属性和修改所存储的或计算的特性的方法. 基类一个类如果不从其它类继承方法,属性或功能,那么它被称为"基类". 复制代码 代码如下: classStudDetails{var stname:Str

正确认识对象数据库与关系数据库之间的区别

面向对象数据库系统 面向对象数据库系统(Object Oriented Data Base System,简称OODBS)是数据库技术与面向对象程序设计方法相结合的产物. 对于OO数据模型和面向对象数据库系统的研究主要体现在:研究以关系数据库和SQL为基础的扩展关系模型:以面向对象的程序设计语言为基础,研究持久的程序设计语言,支持OO模型:建立新的面向对象数据库系统,支持OO数据模型. 面向对象程序设计方法是一种支持模块化设计和软件重用的实际可行的编程方法.它把程序设计的主要活动集中在建立对象和

NoSQL数据库技术特性解析之文档数据库

文档数据库-nosql数据库技术实战"> 现今云计算的从业人员对NoSQL一词并不感到陌生,虽然很多技术人员都长期从事关系数据库的工作,但现在他们对NoSQL技术充满期待.对于企业来说,从关系型数据库到NoSQL数据库转变绝对是个需要深思熟虑的大改变.这涉及的不仅是软件的变化,更多的是对于数据存储上观念性的变化. CouchDB专家兼作者Bradley Holt认为NoSQL并不是反SQL的运动,为对应的工作选择最恰当的工具才是正确的模式. 大多数非关系数据库都具有快速和可伸缩的特性.通过

《深入理解C++11:C++ 11新特性解析与应用》——1.4 C++特性一览

1.4 C++特性一览 接下来,我们会一窥C++11中的各种特性,了解它们的来历.用途.特色等.可能这部分对于还没有开始阅读正文的读者来说有些困难.如果有机会,我们建议读者在读完全书后再回到这里,这也是全书最好的总结. 1.4.1 稳定性与兼容性之间的抉择 通常在语言设计中,不破坏现有的用户代码和增加新的能力,这二者是需要同时兼顾的.就像之前的C一样,如今C++在各种代码中.开源库中,或用户的硬盘中都拥有上亿行代码,那么当C++标准委员会要改变一个关键字的意义,或者发明一个新的关键字时,原有代码

对象数据库与关系数据库利弊谈

在20世纪60年代后期引入的面向对象技术引起了一场革命.到20世纪80年代后,面向对象的技术已经成为了行业的主流,其原因多种多样:面向对象不仅简化了界面的开发,而且也提供了一种更加灵活.简单数据处理方法,这种方法从根本上改变了应用程序的构建方法.不再像关系型数据库一样用死板的二维表格来表示数据,对象技术使用类对数据进行描述.一个对象是一个类的实例,就像一颗特定的橡树是橡树类的实例一样. 对象技术使用继承方案,使得类是按等级设计的."橡树"类能够从更加普遍的类"树"继