对象关系数据库系统-数据库系统概论.PDF

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
对象关系数据库系统-数据库系统概论

第十五章 对象关系数据库系统 本章介绍对象关系数据库系统(Object Relational DataBase System,ORDBS) 。ORDBS 是 面向对象数据模型(Object Oriented Data Model,以下简称 OO 模型)和关系数据模型相结合的 产物。 数据库技术在商业领域的巨大成功刺激了其他领域对数据库技术需求的迅速增长。这些 新的领域既为数据库应用开辟了新天地,又出了新的数据管理需求,给数据库技术出了 挑战。新应用的挑战主要来自多种数据类型的应用领域,例如,计算机辅助排版系统中的大 文本,天气预报中的图像,工程设计中复杂的图形数据,股票市场交易历史中的时间序列数 据,空间和地理数据,等等。由于传统数据库系统的设计目标源于商业事务处理,它们难以 适应和满足新的数据库应用需求。例如,RDBMS 只支持简单有限的数据类型,不支持用户 自定义的数据类型;不支持用户自定义的运算和函数;不能清晰地表示复杂对象;没有全系 统唯一的标识符等。这些是关系模型所不支持的。为此人们研究了非一范式的关系模型、语 义数据模型、面向对象数据模型等。其中以面向对象数据模型最有影响。从 20 世纪 80 年代 起,国内外学术界、工业界努力探索数据库技术与对象技术的结合,沿着三条路线展开了 OO 数据模型和面向对象数据库系统的研究: 一条是以面向对象的程序设计语言为基础,研究持久的程序设计语言,支持 OO 模型; 一条是建立新的面向对象数据库系统 OODBS ,支持 OO 数据模型; 一条是以关系数据库和 SQL 为基础,把面向对象技术融入数据库系统的 ORDBS 。 回顾上述 3 个方向所做的研究及开发工作,可以看到它们的发展是不平衡的。其中 ORDBS 方向的成果最为卓著。它在传统关系数据库的基础上吸收了 OO 模型的主要思想, 同时又保持了关系数据库系统的优点,成功开发了诸如 Postgres,Illustra 等原型系统。近年 来,各大 RDBMS 厂商也已推出了其产品的对象-关系版本,从而满足了许多新的数据库应用 需求。 面向对象数据模型是继关系数据模型之后最重要的数据模型。本章 15.1 节首先简单介绍 OO 模型的基本概念,然后下面各节讲解 ORDBS 。 15.1 面向对象数据模型 面向对象数据库系统支持 OO 模型。 也就是说,一个面向对象数据库系统是一个持久的、可共享的对象库的存储和管理者; 而一个对象库是由一个 OO 模型所定义的对象的集合体。 15.1.1 OO 模型的核心概念 一个 OO 模型是用面向对象观点来述现实世界实体(对象) 的逻辑组织、对象间限制、 联系等的模型。一系列面向对象核心概念构成了 OO 模型的基础。概括起来,OO 模型的核 心概念有如下几个。 1. 对象 (Object) 对象是由一组数据结构和在这组数据结构上的操作的程序代码封装起来的基本单位。对 象通常与实际领域的实体对应。一个对象包括以下几个部分。 l 属性(Attribute)集合:所有属性合起来构成了对象数据的数据结构(有的书上称为变 量集合) 。属性述对象的状态、组成和特性。对象的某一属性可以是单值的或值的集合,也 可以是一个对象,即对象可以嵌套。这种嵌套可以继续,从而组成各种复杂对象。 l 方法(Method)集合:方法述了对象的行为特性。方法的定义包括两部分,一是方 法的接口,二是方法的实现。方法的接口用以说明方法的名称、参数和结果返回值的类型, 也称之为调用说明。方法的实现是一段程序编码,用以实现方法的功能,即对象操作的算法。 2. 对象标识 OID(Object IDentifier) 面向对象数据库中的每个对象都有一个唯一的不变的标识称为对象标识(OID) 。对象标识 具有永久持久性,即一个对象一经产生系统就会赋于一个在全系统中唯一的对象标识符,直 到它被删除。OID 是由系统统一分配的,唯一的,用户不能对 OID 进行修改。因此,OID 与 关系数据库中码(Key) 的概念和某些关系系统中支持的记录标识(RID)、元组标识(TID)是有本 质区别的。OID 是独立于值的、系统全局唯一的。 3. 封装 (Encapsulation) 每一个对象是其状态与行为的封装,其中状态是该对象一系列属性值的集合,而行为是 在对象状态

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档