对象数据库
报告人:姚为民
学 号:E201102053
1.关系数据库的局限性
关系数据库系统只支持一个很小的、固定的数据类型的
子集。
虽然关系数据库能够很好地满足商务行业信息管理等传
统应用领域,但对需要处理复杂数据类型的一些新应用,
如计算机辅助设计与制造(CAD\CAM)多媒体数据处理、
大型文档数据处理、卫星云图、雷达等复杂气象数据处
理和地理信息系统(GIS)等,也暴露出了很大程度的
不方便或能力不足问题。
为支持各类复杂的应用,DBMS必须支持复杂数据类型。
面向对象的概念对DBMS系统支持复杂数据类型有重要的
影响,并导致了对象数据库管理系统的发展。
DBMS的发展路线
(1)面向对象的数据库系统(OODBMS)
(2)对象-关系数据库系统(ORDBMS)
2.面向对象数据模型
ODMG标准包括了一下几个部分:对象模型、对象定义语言、对象查询语言、
以及OOPL类语言绑定规范。
2.1 对象的模型概述
ODBMS支持的一个类型结构包括:
(1)基本模型元素:对象(object)和直接量(literal)
每个对象都有一个唯一的标识符,而直接量无标识符。对象通常用来表
示显示世界的一个实体。
(2)对象具有状态:状态被定义为一组特性(properties)变量值
一个特性可以是一个对象属性(attribute)或者是一个关系
(relationship)--表达与其他对象的关联或联系。对象的特性值时可变
的,因而对象的状态是可变的。
(3)对象具有行为(behavior)
行被定义为一组可被外界或其他对象执行的操作(operations)。
(4)可通过定义状态量和行为来表示对象的结构。
共享相同结构的对象的聚合为一个类。同类对象具有
一组同名、同类型特性变量和一组相同的操作。一个对
象也没称为它所属类的一个实例。
(5)ODMG还引入了接口(interface)的概念
类是关于对象类型的抽象行为和抽象状态的规范,可直
接实例化(intantiable)。即可基于类创建的实例对
象。而接口只规范对象类型抽象行为,不能直接实例化。
(6)不同类型之间可能存在特化 \泛化关系(ISA关
系),即存在继承关系
子类型可以从它的超类型继承特性和方法。
2.2 对象
面向对象是基于封装的范型,它将与对象相关的数
据和对数据的操作封装在同一个单元内。概念上一
个对象和外界的交互主要通过消息进行通信。一般
来说对象至少包含:
(1)对象特性值的变量
(2)可以响应的消息
(3)一组方法
其中对象特性值的变量对应关系数据库ER模型的属
性;每个方法是实现一个消息的代码体,同通常返
回一个值作为对消息的响应。
消息:主要指在不同对象之间传递的请求,它不关
心被请求对象中如何响应请求的具体实现细节。响
应请求的实现细节称为方法(method)。发送一消
息到另外一对象导致该对象的一个方法被执行的行
为,称为激活一个方法(invoke a method)
2.2.1对象的基本特征
(1)对象标识符(oid)
用来唯一标识对象。借助oid,系统总能够将一个对象从存
储域的对象集中分辨出来。一个对象在它的整个生命周期内
保持同一个oid。
(2)对象名字
除了oid之外,对象通常被赋予一个有意义的名字,ODBMS提
供了从对象名到oid的映射功能,因此也可以用对象名来引
用对象。
(3)对象的生命周期
对象的生命周期指明了对象是临时对象,还是一个持久对象。
(4)对象结构
对象结构由一组特性变量和一组操作来表示,通过制定构造
对象的类型构造器可确定对象结构。