面向对象的数据模型和对象关系数据模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本讲(第5章)简要说明

授课目的与要求:

了解对象数据库管理系统的特点、优缺点以及与传统DBMS的区别;

了解对象关系数据库系统相对关系数据库的扩充。

5.1 引言

1. 高级的数据库应用

计算机辅助设计(CAD);

计算机辅助软件工程(CASE); 多媒体系统;

地理信息系统(GIS);

交互的和动态的Web站点。

2. 新的应用需求:

1) 处理二进制大对象,文字、图象、

声音、视频等多媒体数据。

2) 数据模拟:

实体的任意组合、任意联系,例

聚合、继承。

3) 行为模拟:

对不同数据的多种操作。

3.关系数据库的弱点

有限的数据类型

缺少全系统唯一、不依赖于属性的OID (Object ID)

不支持用户自定义或系统可扩展的运算 不能清晰表示和有效处理复杂对象及联系 阻抗失配

4. 面向对象技术

1)对象由属性和操作两部分构成。

一个对象包含若干属性,用以描述对象的状态、组成、特性。

一个对象包含若干操作,用以描述对象的行为方式。

2)操作(消息/方法)的接口与实现。

接口说明------给出操作的名称、参数表、

操作结果、对象类型等。

实现部分------为实现该操作的一段程序

代码。

附加优点:有利于提高数据独立性,有利于数据完整、安全保护。

3)类与实例

具有相同属性和方法的一类对象抽象(概化)为类,其中的每一对象称为该类的一个实例。

4)继承与类结构

①一个类中所有对象的集合的子集可以定义成一

个新的类,它成为原类的子类,原来的类称为子类的超类。

②子类的每个成员继承超类的所有属性和方法。

子类和父类(直接超类)用线连接,构成一

个类层次结构。

③子类还可以定义自己特有的属性和方法,也可

以重新定义所继承的超类原有的属性和方法。

5. OODBS

1.2.3

二、模式及其映射

1.

每个对象在其生命周期中,都有一个系统给定的唯一不变的对象标识OID

只要OID 相同,就是同一对象(无论对象的属性、操作如何修改);只要OID 不同,就是不同对象(尽管其属性、操作都一样) 高效快速定位、用户不可修改、独立于内容 系统产生OID 的方法有两种:

逻辑OID 物理OID

对象标识

(OID )

6.OO技术与数据库技术结合的途径

①在面向对象的程序设计语言(例如Smalltalk,

C++,Java)环境中扩展传统的数据库的功能。

如GemStone。

②为OO语言提供面向对象的支持数据库管理(持

久性、事务、并发、安全等)的类库。

如Ontos,Versant和ObjectStore。

③在RDB上加面向对象的DDL、DML。

如Postgres、Oracle。

④开发一个全新的面向对象数据库的数据模型/数

据语言。

如SIM(Semantic Information Manager)。

8. OODB的标准化

1) OODBTG最终报告(ANSI,1991.8)

提出了对象信息管理(OIM)标准的建议。其中一个重要内容是“对象数据管理参考模型”(ODM),它描述了对象模型、数据库管理的特征以及对象数据管理应具备的系统特征。ODM参考模型制定了OODBMS的基本功能规范。

2) ODMG-93

对象管理集团(OMG)所属对象数据库管理组1993.9 提出ODMG1.0 ,其规定OODBMS应包括:

①对象模型OM。

②对象定义语言ODL,用以定义对象模型及其接口。

③对象操作语言OML,支持对对象的说明性访问。

④与程序设计语言(C++、Smalltalk)联编。

ODMG2.0(1997),ODMG3.0(1999)

3) SQL3 (ANSI, ISO, 1999)

将对象的概念、思想、技术引入RDBMS。提出替换SQL92的SQL3,它支持抽象数据类型、子类、超类、数据类型生成器、类型模板。标准SQL3得到大型关系数据库厂商,如IBM、Oracle、Sybase、SQL server的支持。

5.2 OODB &ODMG-93

对象管理集团(OMG)所属对象数据库管理组1993.9 提出ODMG1.0 ,规定OODBMS应包括:

①对象模型OM。

②对象定义语言ODL,用以定义对象模型及其接

口。

③对象操作语言OML,支持对对象的说明性访问。

④与程序设计语言(C++、Smalltalk)联编。

ODMG2.0(1997),ODMG3.0(1999)

一、对象模型(OM)

基本思想:

对象是基本数据结构

每个对象有一个永久的标识符 可以为对象指定类型或子类型 对象的状态由数据值和联系定义 行为由对象操作定义

ODMG预定义类型及其层次关系

Object

Atomic_Object

Structured-Object

Collection

Structure

Literal

Atomic_Literal

Structured-Literal

Immutable-Collection

Immutable-Structure

相关文档
最新文档