18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > ODMG对象模型(数据库)

ODMG对象模型(数据库)

时间:2022-11-04 18:30:01 | 来源:信息时代

时间:2022-11-04 18:30:01 来源:信息时代

    ODMG对象模型 : OMG对象模型的一个超集,其目的是使遵循对象模型开发的应用从设计和实现都可以在兼容系统之间移植。
对象模型说明了由类型、对象、文字、操作、特性、属性和联系所隐含的内容,应用开发者使用ODMG对象模型的建模要素构建应用的对象模型。应用的对象模型通过说明特定的类型及这些类型的操作和特性,构成对象数据管理系统的逻辑模式。
ODMG的对象模型是对象数据管理系统功能的一个基本定义,通过显式声明联系和操作,可以包含比关系模型更丰富的语义信息。具体内容包括:
(1)类型(type): 说明与实现。类型的定义有两个方面的内容,一是类型的外部说明,二是类型的一个或多个实现。类型说明用于定义对用户可见的独立于具体实现的外部特征的抽象描述,方式包括接口定义、类定义和文字定义。类型实现则定义类型的对象内部细节,类型实现由语言绑定决定。类型定义中还可以指明它的区间和键,区间是在一个具体的ODMS中给定类型的所有实例组成的集合,键唯一地标识类型的一个实例。
(2)对象(object): 对象由new方法创建,该方法在由具体的语言绑定实现所提供的对应的制造接口(factory interface)中。每个对象由ODMS分配一个唯一的对象标识符,这个标识符不会改变,并且在对象删除后也不能重新使用。对象的生命周期与它的类型是正交的,即对象的持久性是独立于类型的,生命周期在对象创建时指定,可以是临时的,也可以是持久的。临时对象的存储空间由编程语言的运行时系统分配和回收,持久对象的存储由ODMS管理。对象类型可分为原子对象、集合对象和结构对象。
(3)文字(literal):文字基本上是恒定值,可能具有复杂的结构,文字的属性值不能改变。文字通常不具有它们自己的标识符,不能像对象一样独立,不能被单独引用,而是被嵌入到对象中。文字的类型可分为原子类型、集合类型、结构类型或者空。
(4)全内置类型层次(full built-in type hierarchy):ODMG对象模型是强类型化的,每个对象或文字都有一个类型,每个操作都要求有类型化的操作数。两个对象或文字具有相同的类型当且仅当它们被声明为相同命名类型的实例,类型兼容性按类型层次定义的子类型关联进行,即如果TA是T的子类型,则类型TA的一个对象可以被赋给类型T的一个变量,相反则不行。
(5)状态-特性建模(modeling state-properties):ODMG的对象模型中定义有两种类型的特性: 一是属性,二是联系。属性定义在单个对象类型上,它不是一个对象,因此没有对象标识符,但其值可取文字或对象标识符。联系是定义在类型之间的,联系没有名字,也不是一个对象。目前,ODMG对象模型只支持具有基数一对一、一对多和多对多的二元联系,在联系多的一方,对象可以是无序或有序的,ODMS自动保持联系的引用完整性。
(6)行为-操作建模(modeling behavior-operations):对象类型的实例具有其操作集合定义的行为,对象类型定义包括每个操作的签名,操作签名指定了操作的名称、每个参数的名称和类型、可能出现的所有异常的名称及返回值的类型,操作只在单个对象类型的上下文中定义。ODMG对象模型支持操作名重载,并假定操作串行执行。对象模型不要求对并发、并行或远程操作的支持,但也不排斥ODMS利用多处理器的优势支持这些操作。
(7) 元数据(metadata): 元数据是关于定义ODMS模式的持久对象的描述信息,用于定义其对象存储结构,以及运行时指导对ODMS持久对象的访问。元数据存储在一个ODL模式库中,工具和应用程序可使用访问用户定义类型同样的操作访问元数据。ODMG的元数据定义包括作用范围、访问器、元对象、说明器、操作数等。
(8) 锁与并发控制(locking and concurrency control): 对象模型采用传统的基于锁的方法进行并发控制,这种方法提供一种强制共享和排它的对象存取机制。ODMS通过监控锁申请,以及在不存在锁冲突的情况下赋予锁的方式支持串行特性,因此对持久对象的存取可以在多个事务中协同进行。ODMG对象模型采用传统的悲观并发控制作为其默认策略,支持读、写和升级三种锁,支持隐式和显式的加锁机制。
(9)事务模型(transaction model):对象模型支持将事务视为数据库从一个持久状态转换到另一个持久状态的逻辑工作单元。在一个控制线程中的事务按串行序列执行,并发基于悲观并发控制策略,所有对持久对象的存取、创建、修改和删除操作必须在事务中执行。对象模型提供开始、提交和终止事务的内置操作,并提供检查点操作,检查点提交在数据库中所有被修改的对象,在继续执行事务之前不释放任何一个锁。
(10)数据库操作(database operation): 对象模型支持视数据库为存储一组给定类型的持久对象的区域,每个数据库都具有模式,包含一组类型定义,每个数据库都是类型database的一个实例,具有内置操作open和close,以及检查数据库是否包含指定对象的lookup操作。具名对象是数据库的入口点,名字是通过内置的bind操作与一个对象绑定的,使用unbind操作可解除绑定。
ODMG的对象模型解决了长期困扰对象数据库管理系统的标准对象模型问题,采用遵循ODMG对象模型标准开发的应用,不但可以实现系统设计级的可移植性,还可以实现系统源代码级的可移植;不但可实现技术领域的可移植性,还可实现在一个技术领域内不同厂商提供的产品的可移植性。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭