数据库系统教程-第8章对象数据库系统.ppt
《数据库系统教程-第8章对象数据库系统.ppt》由会员分享,可在线阅读,更多相关《数据库系统教程-第8章对象数据库系统.ppt(55页珍藏版)》请在三一办公上搜索。
1、第八章 对象数据库系统,本章重要概念(一),(1)新一代DBS的两条途径:ORDBS和OODBS。(2)平面关系模型,嵌套关系模型,复合对象模型,引用类型,对象联系图的成分及表示方法,数据的概化/特化,继承性。(3)OO的数据类型系统:基本类型,五种复合类型,引用类型。(4)对象关系模型的定义,两个级别的继承性,引用类型的定义,ORDB的查询语言,路径表达式,Oracle中查询的两种技术,嵌套与解除嵌套。,本章重要概念(二),(5)OODBS的定义,OO数据模型的五个基本概念,ODMG1.0标准的ODL和OML,ODMG2.0标准的数据模型、ODL和OQL。(6)OODB与ORDB的比较。(7
2、)UML的类图,用类图表达类、关联、关联类、概化/特化、聚合。,主要内容和学习要求,8.1 对象联系图(理解)8.2 面向对象的数据类型系统(了解)8.3 ORDB的定义语言(了解)8.4 ORDB的查询语言(了解)8.5 OODBS概述(了解)8.6 ODMG1.0标准(了解)8.7 ODMG2.0标准(了解)8.8 OODB与ORDB的比较(了解)8.9 使用UML类图来概念对象建模(理解),从关系到嵌套关系、复合对象,(a),(b),(c),嵌套关系和复合关系的实例,大学,教师,校长,University(uno,uname,city,staff(fno,fname,age),presi
3、dentfno,fname,age),引用类型,嵌套关系和复合对象无法表达递归的结构 使用“引用”(reference)的技术解决类型定义中的递归问题;引用相当于指针,对象联系图的成分,对象类型,属性值是单值,对象间嵌套或引用的关系,基本数据类型,属性值是多值,两个属性之间值的联系为逆联系,对象间是超类和子类的联系,一个对象联系图的实例,数据的泛化特化,泛化:特化:这种特化联系是一种“是”(is a)的联系。,主要内容,8.1 对象联系图8.2 面向对象的数据类型系统8.3 ORDB的定义语言8.4 ORDB的查询语言 8.5 OODBS概述8.6 ODMG1.0标准8.7 ODMG2.0标准
4、8.8 OODB与ORDB的比较8.9 使用UML类图来概念对象建模,面向对象的数据类型系统,基本类型:整型、浮点型、字符、字符串、布尔型和枚举型 复合类型行类型:不同类型元素的有序集 数组类型:相同类型元素的有序集合 列表类型:相同类型元素的有序集合,并且允许有重复的元素 包类型:相同类型元素的无序集合,并且允许有重复的元素 集合类型:相同类型元素的无序集合,并且所有的元素必须是不同的 引用类型,主要内容,8.1 对象联系图8.2 面向对象的数据类型系统8.3 ORDB的定义语言8.4 ORDB的查询语言 8.5 OODBS概述8.6 ODMG1.0标准8.7 ODMG2.0标准8.8 OO
5、DB与ORDB的比较8.9 使用UML类图来概念对象建模,数据类型的定义,CREATE TYPE MyString char varying;CREATE TYPE MyDate(day integer,month char(10),year integer);CREATE TYPE StudentGrade setof(CourseGrade);CREATE TYPE CourseGrade(course MyString,grade integer,date MyDate);CREATE TYPE StudentCourseGrade(name MyString,cg StudentGra
6、de);CREATE TABLE sc of TYPE StudentCourseGrade;,CREATE TABLE SC(name MyString,cg setof(course MyString,grade integer,date MyDate);,CREATE TYPE NameArray MyString10;CREATE TYPE Grades multiset(integer);CREATE TYPE Grades listof(integer);,继承性的定义,类型级的继承性,CREATE TYPE Person(name MyString,social_number i
7、nteger);CREATE TYPE Student(degree MyString,department MyString)under Person;CREATE TYPE Teacher(salary integer,department MyString)under Person;,表级的继承性,子表和超表应满足下列两个一致性要求:超表中每个元组最多可以与每个子表中的一个元组对应。子表中每个元组在超表中恰有一个元组对应,并在继承的属性上有相同的值。,超表,子表,子表,引用类型的定义,对类型的引用 定义:team_list setof(ref(Person)对表中的元组的引用,CREAT
8、E TABLE university(uno integer,uname MyString,city MyString,president ref(faculty),staff setof(ref(faculty),edit setof(ref(coursetext);CREATE TABLE faculty(fno integer,fname MyString,age integer,works_for ref(university),teach setof(ref(coursetext);,SQL3中的定义语言的特色,结构数据类型(row类型)对象标识符(oid):便于引用Oid的三个性质
9、 oid值在任何时刻都能惟一标识元组 oid只是一个简单的标识,与元组的物理值无关 在元组插入DB时,oid值由DBMS自动产生,主要内容,8.1 对象联系图8.2 面向对象的数据类型系统8.3 ORDB的定义语言8.4 ORDB的查询语言 8.5 OODBS概述8.6 ODMG1.0标准8.7 ODMG2.0标准8.8 OODB与ORDB的比较8.9 使用UML类图来概念对象建模,以关系为值的属性,在ORDB中,规定应为每个基本表设置一个元组变量,然后才可引用,否则语句将不做任何事情 聚集函数(如min、max和count)以一个值的集合体作为参数并返回单个值作为结果,它们可以应用于任何以关
10、系为值的表达式处,SELECT F.fno,F.fnameFROM faculty as FWHERE(MATHS,Mathematical Analysis)IN F.teach;SELECT U.uname,count(SELECT*FROM U.staff as F WHERE F.age50)FROM university as UWHERE U.city=shanghai;,路径表达式,当属性值为单值或结构值时,属性的引用方式仍和传统的关系模型一样,在层次之间加园点“.”当路径中某个属性值为集合时,就不能连着写下去,SELECT U.uname,U.president.fnameFR
11、OM university as UWHERE U.city=shanghai;U.staff.fname 错(staff是集合)SELECT U.uname,F.fnameFROM university as U,U.staff as FWHERE U.city=shanghai AND F.age50;正确,嵌套与解除嵌套,SELECT U.uname,set(F.fno,F.fname)as teachersFROM university as U,U.staff as F,F.teach as CWHERE C.editor.uname=U.unameGROUP BY U.uname;
12、,以嵌套的形势显示1NF结果,以1NF的形势显示嵌套结果,在select子句中列出所有内层属性,且内层属性前加上层次限定词,函数的定义和使用,用户可以用程序设计语言(如C,C+)或SQL定义SQL中的函数,CREATE TYPE StudentCourse-Grade(name MyString,cg setof(course MyString,grade integer,date MyDate);CREATE TABLE sc of TYPE StudentCourseGrade;,数据定义,CREATE FUNCTION course_count(one_student StudentCo
13、urseGrade)RETURNS integer ASSELECT Count(cg)FROM one_student;,定义的一个函数:返回给定学生的选课门数,SELECT nameFROM scWHERE course_count(sc)8,使用函数的一个查询,复合值的创建和查询,(ZHANG,set(DB,80,(1,July,2000),(OS,85,(1,January,2001),集合类型用SET说明,多集值则用MULTISET说明,符合属性DATE的值用()说明,INSERT INTO scVALUES(ZHANG,set(DB,80,(1,July,2000),(OS,85,
14、(1,January,2001);,SELECT name,count(cg)FROM scWHERE name IN set(WANG,LIU,ZHANG),涉及复合值的一个插入语句,涉及复合值的一个查询语句,主要内容,8.1 对象联系图8.2 面向对象的数据类型系统8.3 ORDB的定义语言8.4 ORDB的查询语言 8.5 OODBS概述8.6 ODMG1.0标准8.7 ODMG2.0标准8.8 OODB与ORDB的比较8.9 使用UML类图来概念对象建模,ODMG标准,什么是ODMG标准ODMG标准的五个核心概念对象是基本的数据结构每个对象有一个永久的表示符对象可以被指定类型和子类型对
15、象状态由数据值与联系定义对象行为由对象操作定义,OODBS,什么是OODBXS典型的OODBMS:ObjectStore,Ontos,O2,Gemstone,Objectivity和PostVersant,面向对象数据模型的概念,对象:由一组变量、消息和方法组成类:本质相同的对象的抽象继承性:类的子类继承父类的所有性质对象标识:OID,唯一标识对象对象包含:一个对象由几个对象组成,则该对象包含它的成员对象,1.一个对象,主要内容,8.1 对象联系图8.2 面向对象的数据类型系统8.3 ORDB的定义语言8.4 ORDB的查询语言 8.5 OODBS概述8.6 ODMG1.0标准8.7 ODMG
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 教程 对象

链接地址:https://www.31ppt.com/p-5985756.html