高级数据库系统及其实现.ppt
文本预览下载声明
高级数据库系统及其实现Advanced Theory on Database Systems 上海理工大学 光电信息与计算机工程学院 第1章 面向对象数据库 新型数据库应用 数据模型的发展 ODMG对象数据模型 持久性编程语言 面向对象数据库系统发展历史 1.1 新型数据库应用 传统应用的共同特点 数据及结构的一致性:具有相似的结构化数据和相同的大小 面向记录:基本数据由定长数据组成 小数据项:记录不超过几百字节长 原子字段:记录字段短、定长、无结构,满足1NF。 1.1 新型数据库应用 新型应用领域: 计算机辅助设计(CAD):储存工程设计数据,包括被设计的构件、构件间的联系、设计的版本等 计算机辅助软件工程(CASE):存储和管理软件开发人员使用的数据,包括源代码、软件模块间的依赖关系、变量的定义与使用、软件系统的发展历史等 多媒体数据库:多媒体数据包括:图像、空间数据、音频(Audio)数据、视频(Video)数据等,主要的应用包括:地理信息系统(GIS)、Voice-mail系统、图形系统、音频点播(AOD: Audio-On-Demand)、视频点播(VOD)等 1.1 新型数据库应用 新型应用领域: 办公信息系统(OIS):办公自动化主要包括文档建立工具和文档检索工具 超文本数据库:超文本是由文本和指向其他文档的勾链构成。WWW系统是一个超文本的例子,确切地说,它是一个超媒体的例子,因为Web文档可能是多媒体文档。超文本数据库必须支持基于勾链的文档检索和基于结构的文档查询功能。 1.2 数据模型的发展 1.3 ODMG对象模型 模型概述 型(Types) 对象(Objects) 字面量(Literals) 建模对象的状态--特征 建模对象的行为--操作 1.3.1 对象模型概述 基本建模单位:对象和字面量,对象有一个唯一的标识符而字面量没有 每个对象(字面量)具有一个型,某个型的所有元素具有相同的状态和行为 一个对象的状态由一组特征来描述:属性与联系 一个对象的行为由一组操作来描述 1.3.2 对象的型 型的定义:一个外部说明和一个或多个实现,外部说明是对象的抽象 外部说明包括:对象的操作和特征 对象(Objects) 型的三种定义方式:Interface、class、literal 接口型仅定义一个对象型的抽象行为 类型定义一个对象型的抽象行为和抽象状态 字面量型仅定义了一个字面量型的抽象状态 1.3.2 对象的型 Interface Employee {…}; class Person { … }; struct Complex { float re; float im; } 1.3.2 对象的型 一个型可以有多个实现,但在一种绑定语言中,一个型通常只有一个实现 C++实现 Java实现 型的说明独立于型的实现所带来的好处 可以使型的语义独立于绑定语言的表示细节 有利于型的多语言存取和异构计算环境中对象的共享 1.3.2 对象的型 -- 子型化(subtyping)与行为继承 继承 子型化仅仅反映了行为的继承过程 Interface Employee {…}; interface Professor: Employee { … }; interface Associate_Professor: Professor { ... }; Professor/Employee:子型/超型联系 子型继承其所有超型的特征与行为 子型可以提炼(refine)或重载来自超型的特征与行为 类是可实例化的型、接口是不可实例化的型 行为继承反映了两个interface间的ISA联系(generalization-specialization) 继承 继承:由现有类导出新的类,这个新的类不但可以继承原类的全部属性和方法,而且还可以定义它自己额外的属性和方法,以及重定义继承的方法 子类:新类称为原类的“子类”—特化 超类:原类称为导出类的“超类”—泛化 继承实现了概念建模中的“IS-A”联系 单继承:一个类只能有一个超类 多继承:一个类可有多个超类,通过组合几个类的描述到一个类而提高共享能力 1.3.2 对象的型 -- 状态继承 行为继承反映的是两个interface间的ISA联系状态继承反映的是两个class间的EXTENDS联系 一个类将继承被它扩展的另一个类的所有的特征和行为 Example 1.3.2 对象的型 -- 状态继承 interface Employee {…}; class Person { attribute string name; attribute Date birthDate; }; class EmployeePers
显示全部