数据库技术讲义 第13章 面向对象数据系统.ppt

数据库技术讲义 第13章 面向对象数据系统.ppt

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

第十三章 面向对象数据系统 面向对象数据系统 面向对象数据库系统(Object Oriented Database System,简称OODBS)是数据库技术与面向对象程序设计方法相结合的产物。 有关OO数据模型和面向对象数据库系统的研究在数据库研究领域是沿着三条路线展开的: 一条是以关系数据库和SQL为基础的扩展关系模型。 一条是以面向对象的程序设计语言为基础,研究持久的程序设计语言,支持OO模型。 一条是建立新的面向对象数据库系统,支持OO数据模型。 13.1面向对象程序设计方法 面向对象程序设计方法是一种支持模块化设计和软件重用的实际可行的编程方法。它把程序设计的主要活动集中在建立对象和对象之间的联系(或通信)上,从而完成所需要的计算。一个面向对象的程序就是相互联系(或通信)的对象集合。由于现实世界可以抽象为对象和对象联系的集合,所以面向对象的程序设计方法学是一种更接近现实世界的、更自然的程序设计方法学。 面向对象程序设计的基本思想是封装和可扩展性。 面向对象程序设计的可扩展性体现在继承性和行为扩展两个方面。 由封装和继承还可以导出面向对象程序设计方法的其他优良特性,如多态性、动态联编等。 13.2 面向对象数据模型 一个面向对象数据库系统是一个持久的、可共享的对象库的存储和管理者;而一个对象库是由一个OO模型所定义的对象的集合体。 13.2.1 OO模型的核心概念 一个OO模型是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制、联系等的模型。核心概念如下: 13.2 面向对象数据模型 1.对象(Object)与对象标识0ID(Object IDentifier) 2.封装(Encapsulation) 3.类(Class) 4.类层次(结构) 5.消息(Message) 13.2 面向对象数据模型 13.3.2 对象与对象标识 一、对象结构 对象是由一组数据结构和在这组数据结构上的操作的程序代码封装起来的基本单位。对象之间的界面由一组消息定义。一个对象包括以下几个部分: 属性集合:所有属性合起来构成了对象数据的数据结构。 方法集合:方法描述了对象的行为特性。 消息集合:消息是对象向外提供的界面,消息由对象接收和响应。 13.2 面向对象数据模型 二、对象标识 面向对象数据库中的每个对象都有一个唯一的不变的标识称为对象标识(OID)。 1.值标识。用值来表示标识。 2.名标识。用一个名字来表示标识。 3.内标识。以上两种标识是由用户建立的,内标识是建立在数据模型或程序设计语言中,不要求用户给出标识。 13.2 面向对象数据模型 不同的标识其持久性程度是不同的,若标识只能在程序或查询的执行期间保持不变,则称该标识具有程序内持久性。 若标识在从一个程序的执行到另一个程序的执行期间能保持不变,则称该标识具有程序间持久性。 若标识不仅在程序执行过程中而且在对数据的重组重构过程中一直保持不变,则称该标识具有永久持久性。 13.2 面向对象数据模型 三、封装 封装是对象的外部界面与内部实现之间实行清晰隔离的一种抽象,外部与对象的通信只能通过消息,这是OO模型的主要特征之一。 封装的意义在于将对象的实现与对象应用互相隔离,从而允许对操作的实现算法和数据结构进行修改,而不影响接口,不必修改使用它们的应用,这有利于提高数据独立性。 对象封装之后查询不够方便灵活,因此在OODB中必须在对象封装方面作必要的修改或妥协。 13.2 面向对象数据模型 13.2.3 类和类层次 一、类的概念 在OO 数据库中相似对象的集合称为类。可以把类本身看作一个对象,称为类对象(Class Object)。面向对象数据库模式是类的集合。 二、类的层次结构 在面向对象数据库模式中,一组类可形成一个类层次。一个面向对象数据库模式可能有多个类层次。在一个类层次中,一个类继承其所有超类的全部属性、方法和消息。 超类是子类的抽象(Generalization)或普通化,子类是超类的特殊化(Specialization)或具体化。 13.2 面向对象数据模型 13.2.4 继承 在OO模型中常用的有两种继承,单继承与多重继承。若一个子类只能继承一个超类的特性(包括属性、方法和消息),这种继承称为单继承:若一个子类能继承多个超类的特性,这种继承称为多重继承。 继承性有两个优点,第一,它是建模的有力工具,提供了对现实世界简明而精确的描述。第二,它提供了信息重用机制。 子类对父类既有继承又有发展,继承的部分就是重用的成分。由封装和继承还导出面向对象的其他优良特性,如多态性、动态联编等。 13.2 面向对象数据模型 13.2.5 滞后联编 如果子类与超类发生同名冲突,即子类

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档