对象关系数据库.ppt
《对象关系数据库.ppt》由会员分享,可在线阅读,更多相关《对象关系数据库.ppt(29页珍藏版)》请在三一办公上搜索。
1、第10章对象关系数据库,在传统的关系型数据库系统的基础上引入了面向对象的这类系统称为对象关系数据库系统(ORDB)。本章主要内容包括:对象关系数据模型、ORDBS数据库设计方法对象联系法、SQL3对ORDBS的支持、OODBS和ORDBS的比较。,第10章对象关系数据库,10.1 对象关系数据模型 10.2 对象联系图 10.3 ORDB的定义语言 10.4 ORDB的查询语言 10.5 OODB与ORDB的比较 10.6 小结 10.7 习题,10.1 对象关系数据模型,传统关系模型称为“平面关系模型”,不允许表中有表。在传统关系数据模型基础上,增加了元组、数组、集合等数据类型,以及提供了处
2、理新数据类型操作的能力,并具有继承性和对象标识等面向对象特点,这样的数据模型,称为“对象关系数据模型”。基于对象关系数据模型的DBS称为“对象关系数据库系统”(ORDBS)。对象关系模型是对关系模型的发展,与传统的关系模型兼容,因此许多概念,如实体标识、多值属性、泛化/细化等,都可以直接引用,而无需经过变换转化。原来SQL语言照样可用,只不过扩充了更强的功能。对象关系模型使用对象联系图来描述系统结构。,10.2 对象联系图,对象联系图是实体联系图的一种扩充形式,用于表达系统中各对象之间的相互关系,不仅能描述关系中基本的数据结构,还可以用来表达面向对象技术中嵌套、递归的数据结构。10.2.1 对
3、象联系图的成分 10.2.2 学校、教师和教材对象联系图10.2.2 数据的泛化/细化的描述,10.2.1 对象联系图的成分,用实线表示对象之间的联系。椭圆代表对象类型(相当于实体类型)。小圆圈表示属性是基本数据类型(整型、实型、字符串)。椭圆之间的边表示对象之间的“引用”。单箭头()表示属性值是单值(属性可以是基本数据类型,也可以是另一个对象类 型)。双箭头()表示属性值是多值(属性可以是基本数据类型,也可以是另一个对象类型)。双线箭头()表示超类与子类间的联系(从子类指向超类)。双向箭头()表示两个属性之间值的联系为逆联系。,10.2.2 学校教师和教材对象联系图,10.2.3 数据的泛化
4、/细化的描述,当在较低层上抽象表达了与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的“泛化”,而较低层上抽象是较高层上抽象的“细化”。其中,较高层的对象类型称为“超类型”(Supertype),较低层的对象类型称为“子类型”(SubType)。子类型具有继承性,能继承超类型的特征,而子类型本身又有其他的特征。,带泛化边的对象联系图,10.3 ORDB的定义语言,对象关系数据库系统支持更复杂的数据类型,如结构类型、元组、数组、集合数据类型,支持继承和引用,与关系模型兼容,因此原来支持关系模型的SQL语言也照样可用。在SQL99标准中提供了对对象关系模型数据库的支持。本小节介绍
5、ORDB的定义语言,主要包括ORDB的数据类型的定义、继承性和引用类型的定义等内容。,10.3 ORDB的定义语言,10.3.1 ORDB的数据类型10.3.2 结构类型 10.3.3 集合、数组和大对象10.3.4 继承性的定义 10.3.5 引用类型的定义10.3.6 方法、函数和过程10.3.7 SQl3过程语句,10.3.1 ORDB的数据类型,复合类型有四种:(1)结构类型:不同类型元素的有序集合称为结构。如日期可由日月年三部分组成(如:8,July,2002)。(2)数组类型:同类元素的有序集合,称数组。(3)多集类型:同类元素的无序集合(成员可多次出现),称为多集(Multise
6、t)。例如成绩集80,70,80,80。(4)集合类型:同类元素的无序集合(每个成员只能出现一次),称为集合(Set)。例如课程集:MATHS,PHYSICS,PL,OS,DB。数据类型可以嵌套。,10.3.2 定义结构类型,车间与职工的嵌套关系 Dept(dno,dname,staff(empno,ename,age)可用下列形式定义:create type Employee(empno char(8),ename varchar(20),age integer);create type Department(dno char(8),dname Varchar(20),staff setof
7、(Employee);,10.3.3 定义集合、数组和大对象,create type NameArray varchar10;/*定义NameArray即是数组类型*/create type CourseGrade(course Varchar(20),grade integer);create type StudentCourse(name Varchar(20),cg setof(course);/*定义StudentGrade由姓名和课程成绩表构成*/create table sc of StudentCourse;/*定义表sc为结构StudentCourse的集合*/,10.3.4
8、继承性的定义,在ORDB中,提供了对继承的支持,继承性可以发生在类型一级或表一级。类型级的继承性是指在定义一个类时可以从已存在的类中继承相关的属性。表级的继承性是指一个表可继承上级表的属性。类继承性:定义学生类型create type Student(degree Varchar,department Varchar)under Person;,10.3.4 表级继承性,先用SQL定义一个表People:create table person(name Varchar,social_number integer);然后再用继承性定义另个表student:create table Student
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对象 关系 数据库
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6224943.html