文档介绍:第9章面向对象数据库
面向对象(Object_Oriented)技术和DB技术两种结合方法。一种是在OO程序设计语言中引入DB技术,面向对象DBS(OODBS),亦称(ODBS),纯粹ODBS或第一代ODBS。另一种是在RDBMS中加入00技术,使RDBMS具备面向对象的功能,称为对象关系DBS(ORDBS)亦称为第二代ODBS。
本章先介绍面向对象数据模型的基本概念,然后介绍OODBS的基本原理以及OODBS数据库设计方法--ODL,最后介绍了持久化C++。
要求掌握OODBS的基本概念、基本原理以及设计方法。
第9章面向对象数据库
面向对象数据模型的基本概念
面向对象数据库
面向对象数据库设计--ODL
ODL定义子类与约束
持久化程序设计语言
持久化C++系统
小结
习题
OO数据模型的基本概念
IS开发要求能不断缩小系统的开发周期,降低开发成本,增强系统的易维护性和开放性。
传统关系模型的数据对象过于简单,没有复杂的嵌套数据和复杂数据结构,不能实现实体间聚合、继承等复杂联系,难以胜任复杂数据类型处理方面的需要。
面向对象的本质是把数据和处理数据的过程当成一个整体对象,而不再把两者分开。它不仅能实现数据模拟,也能实现行为模拟。
基本概念:对象、类、继承性、对象标识、对象包含以及封装和数据隐藏技术。
OO数据模型的基本概念
对象:基本原则是“任何东西都是对象”,由以下三个部分组成:变量(属性)消息方法。
类(class):类是相似对象的集合。
继承:类可以生成子类。原来的类称为父类(基类),子类称为派生类。由派生类可生成派生类。派生类继承基类的属性与方法。
对象标识:在系统内是惟一的。
对象包含:不同类的对象之间可能存在着包含关系(即组合关系),包含其他对象的对象称为复合对象。
封装性:对象的使用者只能看到对象封装界面上的信息,对象的内部对使用者是隐蔽的,其目的在于将对象的使用者和设计者分开。
面向对象数据库(OODBS)
(0bject Data Management Group)组织。
: “面向对象系统+数据库能力”。
:
(1)没有统一可行的标准
(2)与关系数据库系统不紊容
面向对象数据库设计--ODL
ODL是用于面向对象数据库系统设计的数据定义语言,它是用面向对象的术语说明数据库结构。
用ODL设计类需要描述类的三种特性:
(1) 属性(attribute)是对象所具有的特性,属性数据类型是由基本数据类型(例如整型或字符串)构成。
(2)联系(relationship)可看成是一些特性,联系的类型或是对其它类对象的引用或是这种引用的聚集(例如,一个集合)。
(3)方法(method)是指能用于该类对象的函数。
ODL接口说明
在ODL中,形式最简单的类的说明应包括:
(1)关键字interface(接口)。
(2)接口的名字(类)。
(3)用花括号括起来的类的特性表。特性包括属性、联系和方法。
接口说明的简单形式是:
interface<名字>{
(特性表)
}
ODL对属性的说明
电影类可用ODL说明如下:
(1)interface Movie{
(2) attribute string title;
(3) attribute integer year;
(4) attribute integer length;
(5) attribute enum Film{color,blackAndWhite} filmType;
};
ODL对联系的说明
,可用下面一行表示这种联系:
Re1ationship Set<Star> Stars;
:
relationship Set <Movie> StarredIn
inverse Movie::Stars;
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;
};