欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    对象关系数据库.ppt

    • 资源ID:6224943       资源大小:328.49KB        全文页数:29页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    对象关系数据库.ppt

    第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 对象关系数据模型,传统关系模型称为“平面关系模型”,不允许表中有表。在传统关系数据模型基础上,增加了元组、数组、集合等数据类型,以及提供了处理新数据类型操作的能力,并具有继承性和对象标识等面向对象特点,这样的数据模型,称为“对象关系数据模型”。基于对象关系数据模型的DBS称为“对象关系数据库系统”(ORDBS)。对象关系模型是对关系模型的发展,与传统的关系模型兼容,因此许多概念,如实体标识、多值属性、泛化/细化等,都可以直接引用,而无需经过变换转化。原来SQL语言照样可用,只不过扩充了更强的功能。对象关系模型使用对象联系图来描述系统结构。,10.2 对象联系图,对象联系图是实体联系图的一种扩充形式,用于表达系统中各对象之间的相互关系,不仅能描述关系中基本的数据结构,还可以用来表达面向对象技术中嵌套、递归的数据结构。10.2.1 对象联系图的成分 10.2.2 学校、教师和教材对象联系图10.2.2 数据的泛化/细化的描述,10.2.1 对象联系图的成分,用实线表示对象之间的联系。椭圆代表对象类型(相当于实体类型)。小圆圈表示属性是基本数据类型(整型、实型、字符串)。椭圆之间的边表示对象之间的“引用”。单箭头()表示属性值是单值(属性可以是基本数据类型,也可以是另一个对象类 型)。双箭头()表示属性值是多值(属性可以是基本数据类型,也可以是另一个对象类型)。双线箭头()表示超类与子类间的联系(从子类指向超类)。双向箭头()表示两个属性之间值的联系为逆联系。,10.2.2 学校教师和教材对象联系图,10.2.3 数据的泛化/细化的描述,当在较低层上抽象表达了与之联系的较高层上抽象的特殊情况时,就称较高层上抽象是较低层上抽象的“泛化”,而较低层上抽象是较高层上抽象的“细化”。其中,较高层的对象类型称为“超类型”(Supertype),较低层的对象类型称为“子类型”(SubType)。子类型具有继承性,能继承超类型的特征,而子类型本身又有其他的特征。,带泛化边的对象联系图,10.3 ORDB的定义语言,对象关系数据库系统支持更复杂的数据类型,如结构类型、元组、数组、集合数据类型,支持继承和引用,与关系模型兼容,因此原来支持关系模型的SQL语言也照样可用。在SQL99标准中提供了对对象关系模型数据库的支持。本小节介绍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)多集类型:同类元素的无序集合(成员可多次出现),称为多集(Multiset)。例如成绩集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(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 继承性的定义,在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(degree Varchar,department Varchar)under Person;,10.3.5 引用类型的定义,递归嵌套结构:在部门类型与雇员类型的联系中,定义了元组类型Dept与Emp。Dept(dno,dname,emp(eno,ename,age))Emp(eno,ename,age,Dept(dno,dname)在Dept类中包括了Emp类,表示个部门有哪些雇员。在Emp类中又要包括Dept类,表示雇员在哪个部门工作。,部门雇员引用类型定义,create table Dept(dno integer,dname varchar(20),staff setof(ref(Emp);create table Emp(empno integer,ename varchar(20),sex varchar(20),Age integer,Works_for ref(Dept);,10.3.6 方法、函数和过程1,定义结构类型时创建方法。如:create type Employee as(name varchar(20),salary integer)method give_raise(percent integer))create method give_raise(percent integer)for EmployeeBegin set self.salary=self.salary+(self.salary*percent)/100;end,10.3.6 方法、函数和过程2,SQL支持函数:create function Publisher(x varchar(20),y varchar(20)return PublisherBegin set name=x;set branch=y;end,10.3.6 方法、函数和过程3,SQL3支持过程,如auther_count可写成过程:create procedure auther_count_proc(in title varchar(20),out a_count integer)begin select count(author)into a_count from authors where suthors.title=title;end,10.3.7 SQl3过程语句,用SQl3构造过程,几乎可使用通用语言的所有功能,使用分支或循环结构。它提供以下语句:while do set end whilerepeat set until end repeatfor as do set end forif then set elseend if case语句,10.4 ORDB的查询语言,对面向对象数据库进行查询仍可用SQL语句实现。对SQL语言的SELECT句型进行扩充便能处理带有复合类型、嵌套及引用类型。本节以学校、员工和教材ORDB为例,介绍面向对象的SELECT句型的用法。10.4.1 以关系为值的属性 10.4.2 路径表达式 10.4.3 嵌套与解除嵌套,10.4.1 以关系为值的属性,允许表达式出现在任何关系名可以出现的地方,比如FROM子句或SELECT子句中。表达式可灵活地用于处理嵌套关系结构。例10_1:检索讲授“maths”课,采用“Math”教材的教工号和姓名。SELECT fno,fname FROM faculty WHERE(maths,Math)IN teach;例10_2:检索每一位教师开设的课程。SELECT A.fname,B.cname FROM faculty as A,A.teach as B;,10.4.2 路径表达式,例10_3:检索长沙地区的大学校长姓名。SELECT uname,president.fname FROM university WERE city=changsha;例10_4:检索长沙地区各大学超过50岁的教师姓名。SELECT A.uname,B.fname FROM university as A,A.staff as B WHERE A.city=changsha AND B.age50;,10.4.3 嵌套与解除嵌套,查询结果可以嵌套关系形式显示,也可以INF(非嵌套)形式显示。将一个嵌套关系转换成INF的过程称为解除嵌套。例10_5:在上例中,如果希望查询结果为嵌套关系,那么可在属性(fno,fname)上对关系进行嵌套,语句如下:SELECT A.unme,set(B.fno,B.fname)as teachers FROM university as A,A.staff as B,B.teach as C WHERE=A.uname GROUP BY A.uname;,10.5 OODB与ORDB的比较,10.6 小结,在传统关系模型基础上引入面向对象功能,提供复合数据类型,这种模型称为对象关系模型。支持对象关系模型的DBS称为ORDBS。对于ORDB的设计,常用的方法是采用对象联系图法。对象联系图是实体联系图的扩充,是面向对象数据模型中数据结构的一种重要图例表示方法。它使用了对象标识的概念,使结构的嵌套和递归成为可能。在SQL3中已收入了面向对象的内容,扩充的SQL3适应对象概念并提供一个高级接口。,10.7 习题1,10.1 名词解释:平面关系模型、嵌套关系模型、复合对象模型、数据的泛化/细化、对象关系模型10.2 什么是对象联系图?图中椭圆、小圆圈、单箭头、双箭头、双线箭头、双向箭头各表示什么含义?10.3 在ORDB中有哪些基本数据类型?有哪些复合数据类型?10.4 关系DBS、基于持久化语言的OODBS,0RDBS三者各有什么长处和劣势?,10.7 习题2,10.5画出学生(student)和学习(study)信息的对象联系图。1试用ORDB的定义语言,定义这个数据库。2试用ORDB的查询语言,分别写出下列查询的SELECT语句:(1)检索每个学生的学习课程和成绩。(2)检索至少有一间课程的求学地与籍贯在同一城市的学生学号和姓名。,

    注意事项

    本文(对象关系数据库.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开