文档介绍:第10章对象关系数据库
在传统的关系型数据库系统的基础上引入了面向对象的这类系统称为对象关系数据库系统(ORDB)。
本章主要内容包括:对象关系数据模型、ORDBS数据库设计方法—对象联系法、SQL3对ORDBS的支持、OODBS和ORDBS的比较。
第10章对象关系数据库
对象关系数据模型
对象联系图
ORDB的定义语言
ORDB的查询语言
OODB与ORDB的比较
小结
习题
对象关系数据模型
传统关系模型称为“平面关系模型”,不允许表中有表。
在传统关系数据模型基础上,增加了元组、数组、集合等数据类型,以及提供了处理新数据类型操作的能力,并具有继承性和对象标识等面向对象特点,这样的数据模型,称为“对象关系数据模型”。基于对象关系数据模型的DBS称为“对象关系数据库系统”(ORDBS)。
对象关系模型是对关系模型的发展,与传统的关系模型兼容,因此许多概念,如实体标识、多值属性、泛化/细化等,都可以直接引用,而无需经过变换转化。原来SQL语言照样可用,只不过扩充了更强的功能。
对象关系模型使用对象联系图来描述系统结构。
对象联系图
对象联系图是实体联系图的一种扩充形式,用于表达系统中各对象之间的相互关系,不仅能描述关系中基本的数据结构,还可以用来表达面向对象技术中嵌套、递归的数据结构。
对象联系图的成分
学校、教师和教材对象联系图
数据的泛化/细化的描述
对象联系图的成分
用实线表示对象之间的联系。
椭圆代表对象类型(相当于实体类型)。
小圆圈表示属性是基本数据类型(整型、实型、字符串)。
椭圆之间的边表示对象之间的“引用”。
单箭头(→)表示属性值是单值(属性可以是基本数据类型,也可以是另一个对象类型)。
双箭头(→→)表示属性值是多值(属性可以是基本数据类型,也可以是另一个对象类型)。
双线箭头( )表示超类与子类间的联系(从子类指向超类)。
双向箭头()表示两个属性之间值的联系为逆联系。
学校教师和教材对象联系图
数据的泛化/细化的描述
当在较低层上抽象表达了与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的“泛化”,而较低层上抽象是较高层上抽象的“细化”。
其中,较高层的对象类型称为“超类型”(Supertype),较低层的对象类型称为“子类型”(SubType)。
子类型具有继承性,能继承超类型的特征,而子类型本身又有其他的特征。
ORDB的定义语言
对象关系数据库系统支持更复杂的数据类型,如结构类型、元组、数组、集合数据类型,支持继承和引用,与关系模型兼容,因此原来支持关系模型的SQL语言也照样可用。
在SQL99标准中提供了对对象关系模型数据库的支持。
本小节介绍ORDB的定义语言,主要包括ORDB的数据类型的定义、继承性和引用类型的定义等内容。
ORDB的定义语言
ORDB的数据类型
结构类型
集合、数组和大对象
继承性的定义
引用类型的定义
方法、函数和过程
SQl3过程语句