对象数据库理论研究_第1页
对象数据库理论研究_第2页
对象数据库理论研究_第3页
对象数据库理论研究_第4页
对象数据库理论研究_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

对象数据库理论研究

1面向对象数据库模型

核心概念

对象与对象标识

对象,是现实世界中实体的抽象,是数据和操作的集合,是持久化到数据库中的最小的存储单位。

这里的对象其实与一般的面向对象程序设计语言中的对象并没有很大不同。但是,这里的对象是持久性的。数据库中的对象是数据记录的最小单位,也就是说,数据库中至少存在一个对象才有意义。当然,对象中还可以有对象的属性,方法等,但一个对象必须是完整的。

对象标识,指的是唯一标定一个对象的标志,一个对象对应一个标识符。在现实世界中,对象可能会随着时间的推移而发生改变,但对象标识不应该改变,因此,对象标识自对象生成后就不应该再改变,否则无法使用对象标识唯一确定一个对象了。即使两个对象的属性和方法以及状态完全一致,只要其对象标识不同,则两者是不同的对象。

对象标识一般有以下三种实现方式川值标识,使用对象的某一属性作为其对象标识,不推荐此方式。

名标识,使用一个名字来表示标识。推荐此种方式。

内标识,以上两种方式是由用户建立的,而这种方式是由系统内部建立的,不具有任何实际含义,且只有系统才可以“观察”此类对象标识。

另外,在对象数据库中,标识是永久不变的,即具有永久持久性,这和面向对象程序中的对象标识不一样,面向对象程序中的对象标识只具有对象内持久性。

封装

抽象是对象的外部界面与内部实现之间实行清晰隔离的一种抽象,外部与对象的通信只能通过消息来实现[2)的所有符合条件的属性和方法。这是关系数据库中所没有的。

消息

指的是对象的方法调用。通过对象的方法调用可以访问对象的属性数据和执行业务逻辑。这也是关系数据库中没有的。

对象与对象标识

对象结构

包括两部分,一个是属性集合,一个是方法集合。属性集合将用于存储数据,方法集合将用于操作数据。属性集合即是对象的成员变量,其中又可以分为公有类型的成员、私有类型的成员和保护类型的成员。公有类型的成员可以直接使用查询语句进行查询,保护型成员可以在该类的子类的对象中直接访问,私有类型的成员只能在本类的对象中访问,外部对象只能通过实现定义好的方法进行访问。如果没有事先定义好的方法,则外部将无法访问这些变量的值,这就实现了对象的封装性了。在00数据库中,对象结构同样分成这两种集合。

对象标识

表示在一个数据库中一个对象仅有一个唯一不变的标识就是对象标识。这个标识用来精确定位一个对象。在00数据库中,对象标识是唯一标定这一持久性存储单元的唯一依据。其它对象或方法访问本对象的属性和方法必须先找到该对象的对象标识,否则无法访问。

封装

即将一个对象的属性和方法封装在对象内部,外部只能通过对象提供的外部接口进行访问。这样就提高了数据的安全性和代码的重用性。

类与类层次

相似对象的集合称为类,在数据库中表现为面向对象数据库模式的集合,它规定了该类的对象的数据结构规则和操作规则。在面向对象数据库中,一个类相当于关系数据库中的一张表。它同样有字段和属性,甚至还有关系数据库表所没有的方法。这种思路将使得可以在面向对象数据库中实现复杂的逻辑。

类层次表现在继承上,即父类和子类的层级关系。这是为了多态和数据共享的目的。这种思路可以象Java中那样使用接口和基类来完成设计。

继承

就像类层次中所说的,继承是为了多态和数据共享的目的,也是面向对象代码重用的重要机制之一。

滞后联编

即实现了重载的效果,OODBMS不能在编译时把操作名联编到程序上,必须在运行时根据需要进行抉择。

对象的嵌套

是一种设计模式-组合。将多个类的对象加人到一个类的属性中,使之实现复杂的功能。

2面向对象数据库语言

ool}B语言用于描述面向对象数据库模式,说明并操作类定义和对象实例。ooDB语言主要包括对象定义语言和对象操作语言,其中对象操作语言又包括一个重要子集-对象查询语言t3)。OODB语言一般应该具备下列功能。

类的定义与操作

包括定义、生成、存取、修改和撤销类。其中类的定义包括定义类的属性,操作特征、继承性与约束等。

操作/方法的定义

面向对象数据库语言可以用来定义操作/方法,在操作实现中,语言的命令可用于操作对象局部数据结构。

对象的查询

OODB语言可以用于操作实例对象。对于对象的存取-查询部分,OODB语言可以直接查询对象个公有成员而不必向每一个对象“-单”发送消息。而对于非公有成员,则只能通过发送消息来实现存取、修改与删除了。通过发送消息的查询效率可能会很低,因此对于一些经常要查询的数据应该尽量定义为公有类型。

3面向对象数据库模式

模式的一致性

唯一性约束:即同一模式中所有类的名字必须唯一、类中属性名和方法名必须唯一。

存在性约束:每个被引用的类必须在模式中定义、某操作代码中调用的操作不需给出说明、每一个说明的操作必须存在一个现实程序。

子类型约束:子类和父类不能有环、不能有多继承、单一超类必须加以说明。

模式演进操作

主要包括以下几个部分:

已有类的成分的改变

子类/超类联系的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论