对象代理数据库系统介绍.pdf -m6米乐安卓版下载

m6米乐安卓版下载-米乐app官网下载
对象代理数据库系统介绍.pdf
63
28页
0次
2023-03-11
免费下载
1
5面向对象数据库
5.1 面向对象数据库
5.1.1 概述
随着计算机性能和容量的不断提高,可处理数据的复杂度在迅速增长。关系数据模型在
表现复杂数据类型方面明显感到不足。于是,人们提出了面向对象数据模型。面向对象数据
模型既能表现复杂的数据又能实现数据处理的高效性,人们曾期待面向对象数据库能取代关
系数据库成为主流。
odmg(object data management group)是著名的omg成员之一,它成立于1991年,
并于1993年发布第一版标准:the object data standard odmg1.0 1999年发布的最新
版本odmg3.0已经被广泛认可为一个比较成熟的关于面向对象数据库的标准。它主要规范
和引导面向对象数据库市场,以解决由于缺少标准而造成各种面向对象数据库产品间缺乏可
移植性的问题,保护用户和厂商双方利益。odmg标准把面向对象数据库定义为数据库与
面向对象语言的结合,它主要由以下四个部分组成:
(1)对象模型: 它从omg对象模型继承演化而来,主要定义了对象的特性,对象间的
联系(继承)等。
(2)对象描述语言: 它包括对象定义语言(odl)和对象交互格式(oif)。对象定义语言主
要定义符合对象模型的数据库中对象数据类型。而对象交互格式则主要是利用已经创建的类
型创建对象实例,并利用文件形式在多个数据库间移植类型,实现可移植性。
(3)对象查询语言: odmg定义了申明(非过程型的)的对象查询语言oql,用于查询数
据库对象.odmg遵循sql标准,但在其上又增加了对象的功能。但是odmgoql不包
sqlupdate等数据操作语句,类似工作由语言绑定完成。
(4)对象语言绑定: odmg3.0中绑定了c , smalltalkjava三种语言。语言绑定主
要是实现odlodmg缺乏的oml。同时利用这些语言的灵活性可以方便对odmg
现扩展。
5.1.2 面向对象数据模型
面向对象数据模型主要是借鉴了面向对象程序设计语言和抽象数据类型的思想,能用来
表达面向对象数据库管理系统中的各种语义。这些语义明确了对象的特征。例如,对象的命
名、标识及联系。它具有很强的可扩充性,是具有丰富语义的数据模型。odmg提出的面
向对象数据模型规定了一个面向对象数据库管理系统所支持的基本概念:
1)基本建模单位是对象(object)和文字(literal),对象具有唯一的标识符,文字
没有标识符。
2)每个对象(或文字)都能划分为一个类型(type),某个类型的所有元素具有相同的
状态和行为。
3)一个对象的状态由一组特征(property)来描述,特征可分为对象本身的属性
attribute)和一个或多个其它对象的之间联系(relationship)。
4)一个对象的行为由一组操作(operation)来描述,操作应该具有输入输出参数,
且能返回特定类型的结果。
2
5通过odl定义对象数据库管理系统的模式,所存储的对象为该模式中定义的类型
的实例。
面向对象数据模型确定了对象、文字、类型、操作、特征等含义。这些结构用来定义具
体应用的一些特定的类型以及它们的操作和特征,这就是面向对象数据库的逻辑模式。联系
和操作可以使对象数据模型能够表达出比关系模型丰富得多的语义。
5.1.2.1 类型
类型的定义包括两个方面:一个外部说明和一个或多个实现。外部说明是对象的抽象,
是类型对用户可见的方面,包括对象的特征、操作以及操作引发的异常。类型的实现是定义
对象的内部状况及操作的具体细节。类型的外部说明可分为:类定义、接口定义和文字定义。
类定义是定义一个对象类型的抽象行为和抽象状态。接口定义仅定义一个对象类型的抽象行
为。文字仅定义了一个文字类型的抽象状态。
类型的实现包括一个表示和一组方法。表示是语言联编后由该类型的抽象状态生成的数
据结构:对类型的抽象状态中包含的每个特征来说都有一个与之对应的实例变量。方法是是
语言联编后由该类型的抽象行为生成的过程体:对类型的抽象行为中定义的每个操作来说都
有与之对应的方法。方法实现了对象类型的抽象行为。方法可以读或修改一个对象状态的表
示,或调用其它对象上的操作。
5.1.2.2 类层次结构
odmg对象模型支持类型层次。不能实例化的类型称为抽象类型。如果两个对象或文字具
有相同的类型,当且仅当他们是同一类型的实例。如果类型b是类型a的子类型,那么类型b
的对象可赋值给类型a的变量,反过来则不可以。
面向对象数据模型包括基于继承的类型/子类型联系,也称子类型/超类型联系。超类型
是更一般的类型,而子类型是更特殊的类型。例如:
interface person{…}
interface teacherperson {…}
interface professorteacher {…}
teacher/person就是一个子类型/超类型联系。子类型继承其所有超类型的行为,并可以重新
定义来自超类类型的行为。
一个类型的外延(extent)是由数据库中该类型的所有实例组成。如果一个对象是型a
的一个实例,则该对象必然是a的外延中的成员。如果型a是型b的一个子型,则a的外延是
b的外延的一个子集。
5.1.2.3 对象
在面向对象数据模型中,对象是数据库中的基本数据单位,它将具有一定数据结构的数
据元组及相应操作进行封装,有其标识符、名字和生存期。每个对象都有标识符(object
identifier),一个对象在数据库内总是能够与其它对象相区别。数据库中所有对象都可以唯
一标识,它是对象身份的表示,称为对象标识符。对象标识符在对象的整个生命周期内是
保持不变的。对象除拥有对象标识符外,还可以有名字。对象标识符是由系统产生的,而
对象名字是由应用产生的。对象名字在整个数据库范围中必须唯一,一个对象可以具有多
个名字,但一个名字只能表示一个对象。对象的生存期决定了如何管理分配给对象的存储
空间。它是在对象创建时被已经确定。面向对象数据模型提供两种生存期:临时的和持久
的。
odmg对象模型把对象分为原子对象、结构对象和聚集对象。原子对象(atomic object
类型是用户定义的,odmg对象模型没有固有的原子对象类型。它的结构对象包括1)日期型
date2)时间段型interval3)时间型time4)时间戳型timestamp。聚集对象(collection object
of 28
免费下载
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
top250 周榜 月榜
网站地图