- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9单元面向对象数据库
第9章 面向对象数据库 面向对象(Object_Oriented)技术和DB技术两种结合方法。一种是在OO程序设计语言中引入DB技术,面向对象DBS(OODBS),亦称(ODBS),纯粹ODBS或第一代ODBS。另一种是在RDBMS中加入00技术,使RDBMS具备面向对象的功能,称为对象关系DBS(ORDBS)亦称为第二代ODBS。 本章先介绍面向对象数据模型的基本概念,然后介绍OODBS的基本原理以及OODBS数据库设计方法--ODL,最后介绍了持久化C++。 要求掌握OODBS的基本概念、基本原理以及设计方法。 第9章 面向对象数据库 9.1 面向对象数据模型的基本概念 9.2 面向对象数据库 9.3 面向对象数据库设计--ODL 9.4 ODL定义子类与约束 9.5 持久化程序设计语言 9.6 持久化C++系统 9.7 小结 9.8 习题 9.1 OO数据模型的基本概念 IS开发要求能不断缩小系统的开发周期,降低开发成本,增强系统的易维护性和开放性。 传统关系模型的数据对象过于简单,没有复杂的嵌套数据和复杂数据结构,不能实现实体间聚合、继承等复杂联系,难以胜任复杂数据类型处理方面的需要。 面向对象的本质是把数据和处理数据的过程当成一个整体对象,而不再把两者分开。它不仅能实现数据模拟,也能实现行为模拟。 基本概念:对象、类、继承性、对象标识、对象包含以及封装和数据隐藏技术。 9.1 OO数据模型的基本概念 对象 :基本原则是“任何东西都是对象”,由以下三个部分组成:变量(属性)消息方法。 类(class):类是相似对象的集合。 继承:类可以生成子类。原来的类称为父类(基类),子类称为派生类。由派生类可生成派生类。派生类继承基类的属性与方法。 对象标识:在系统内是惟一的。 对象包含:不同类的对象之间可能存在着包含关系(即组合关系),包含其他对象的对象称为复合对象。 封装性:对象的使用者只能看到对象封装界面上的信息,对象的内部对使用者是隐蔽的,其目的在于将对象的使用者和设计者分开。 9.2 面向对象数据库(OODBS) 1.ODMG(0bject Data Management Group)组织。 2.OODBS: “面向对象系统 +数据库能力”。 3.OODBS的问题和局限性: (1)没有统一可行的标准 (2)与关系数据库系统不紊容 9.3 面向对象数据库设计--ODL ODL是用于面向对象数据库系统设计的数据定义语言,它是用面向对象的术语说明数据库结构。 用ODL设计类需要描述类的三种特性: (1) 属性(attribute)是对象所具有的特性,属性数据类型是由基本数据类型(例如整型或字符串)构成。 (2)联系(relationship)可看成是一些特性,联系的类型或是对其它类对象的引用或是这种引用的聚集(例如,一个集合)。 (3)方法(method)是指能用于该类对象的函数。 9.3.1 ODL接口说明 在ODL中,形式最简单的类的说明应包括: (1)关键字interface(接口)。 (2)接口的名字(类)。 (3)用花括号括起来的类的特性表。特性包括属性、联系和方法。 接口说明的简单形式是: interface名字{ (特性表) } 9.3.2 ODL对属性的说明 电影类可用ODL说明如下: (1)interface Movie{ (2) attribute string title; (3) attribute integer year; (4) attribute integer length; (5) attribute enum Film{color,blackAndWhite} filmType; }; 9.3.3 ODL对联系的说明 1.在Movie类说明中,可用下面一行表示这种联系: Re1ationship SetStar Stars; 2.反向联系的说明: relationship Set Movie StarredIn inverse Movie::Stars; 9.3.4 Star类说明 (1)interface Star{ (2)attribute String name; (3)attribute Sruct Addr {String street,String city}address; (4)relationship Set Movie StarredIn inverse Movie::Stars; }; 9.3.4 电影类ODL定义 (1)interface Movie{ (2)attribute string ti
文档评论(0)