数据库系统概论-第四版chp15

上传人:woxinch****an2018 文档编号:44706204 上传时间:2018-06-14 格式:PPT 页数:64 大小:843.50KB
返回 下载 相关 举报
数据库系统概论-第四版chp15_第1页
第1页 / 共64页
数据库系统概论-第四版chp15_第2页
第2页 / 共64页
数据库系统概论-第四版chp15_第3页
第3页 / 共64页
数据库系统概论-第四版chp15_第4页
第4页 / 共64页
数据库系统概论-第四版chp15_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《数据库系统概论-第四版chp15》由会员分享,可在线阅读,更多相关《数据库系统概论-第四版chp15(64页珍藏版)》请在金锄头文库上搜索。

1、 中国人民大学信息学院 An Introduction to Database System数据库系统概论 An Introduction to Database System第十五章 对象关系数据库系统对象关系数据库系统对象关系数据库系统(Object Relational Database System ,ORDBS)是面向对象数据模型(Object Oriented Data Model,简称OO模型)和关系数据模型相结合的产物 三条研究路线 以面向对象的程序设计语言为基础,研究持久的程序设计语 言,支持OO模型;建立新的面向对象数据库系统OODBS,支持OO数据模型;以关系数据库和SQ

2、L为基础,把面向对象技术融入数据库系 统的ORDBS An Introduction to Database System第十五章 对象关系数据库系统15.1 面向对象数据模型15.2 对象-关系数据库15.3 小结An Introduction to Database System15.1 面向对象数据模型面向对象数据库系统支持OO模型面向对象数据库系统:一个持久的、可共享的对象库的存储和管理者对象库:由一个OO模型所定义的对象的集合体 An Introduction to Database System15.1 面向对象数据模型15.1.1 OO模型的核心概念15.1.2 类层次(结构)1

3、5.1.3 继承15.1.4 对象的嵌套An Introduction to Database System15.1.1 OO模型的核心概念1.对象定义:对象是由一组数据结构和在这组数据结构上的操作的程序代码封装起来的基本单位。组成部分属性(Attribute)集合属性描述对象的状态、组成和特性方法(Method)集合描述了对象的行为特性An Introduction to Database SystemOO模型的核心概念(续)2. 对象标识OID(Object IDentifier)概念:面向对象数据库中的每个对象都有一个唯一的不变 的标识称为对象标识(OID) 特点:永久持久性 独立于值的

4、、系统全局唯一的An Introduction to Database SystemOO模型的核心概念(续)3. 封装(Encapsulation)每一个对象是其状态与行为的封装 封装是对象的外部界面与内部实现之间实行清晰隔离的一种抽象,外部与对象的通信只能通过消息 对象封装之后查询属性值必须通过调用方法 An Introduction to Database SystemOO模型的核心概念(续)4. 类(Class)对象类(简称类):共享同样属性和方法集的所有对象构成 了一个对象类实例:一个对象是某一类的一个实例(instance)在OODB中,类是“型”,对象是某一类的一个“值” An I

5、ntroduction to Database System15.1 面向对象数据模型15.1.1 OO模型的核心概念15.1.2 类层次(结构)15.1.3 继承15.1.4 对象的嵌套An Introduction to Database System类层次(结构)(续)An Introduction to Database Systemn教员、行政人员、工人中只有本身的特殊属性和方法n同时它们又继承教职员工类和人的所有属性和方法n逻辑上它们具有人、教职员工和本身的所有属性和方法 图15.1 学校数据库的类层次结构图 类层次(结构)(续)超类/子类之间的关系体现了“IS A”的语义超类是子

6、类的抽象(Generalization)或概括子类是超类的特殊化(Specialization)或具体化类层次可以动态扩展,一个新的子类能从一个或多个已有类导出 An Introduction to Database System15.1 面向对象数据模型15.1.1 OO模型的核心概念15.1.2 类层次(结构)15.1.3 继承15.1.4 对象的嵌套An Introduction to Database System15.1.3 继承单继承:一个子类只能继承一个超类的特性(包括属性和方 法)层次结构图是一棵树 多重继承:一个子类能继承多个超类的特性层次结构图是一个带根的有向无回路图 An

7、 Introduction to Database System继承(续)多重继承An Introduction to Database System具有多继承的类层次结构图 继承(续)继承性的优点第一,建模的有力工具,提供了对现实世界简明而精确的描 述第二,提供了信息重用机制 子类与超类的冲突子类在定义自己特殊属性和方法时可能与继承下来的超类的 属性和方法发生冲突由系统解决An Introduction to Database System15.1 面向对象数据模型15.1.1 OO模型的核心概念15.1.2 类层次(结构)15.1.3 继承15.1.4 对象的嵌套An Introducti

8、on to Database System15.1.4 对象的嵌套对象嵌套:一个对象的属性可以是一个对象,这样对象之间产生一个嵌套层次结构 设Obj1和Obj2是两个对象。如果Obj2是Obj1的某个属性的值,称Obj2属于Obj1,或Obj1包含Obj2。复杂对象子对象嵌套层次结构An Introduction to Database System对象的嵌套(续)An Introduction to Database System汽车的嵌套层次图 对象的嵌套(续)对象嵌套层次结构和类层次结构形成了对象横向和纵向的复杂结构各种类之间具有层次结构某一个类内部也具有嵌套层次结构 An Introd

9、uction to Database System关系模型与OO模型的比较An Introduction to Database System表15.1 关系数据模型与OO模型的比较内容关系数据模型面向对象数据模型 基本数据结构二维表类 数据标识 符码OID 静态性质属性属性 动态 行为关系操作方法抽象数据类型无有 封装性无有 数据间关系主外码联 系,数据依赖继承、组合 模式演化能力弱强第十五章 对象关系数据库系统15.1 面向对象数据模型15.2 对象-关系数据库15.3 小结An Introduction to Database System15.2 对象-关系数据库15.2.1 对象关系

10、数据库系统中扩展的关系数据类型15.2.2 对象关系数据库系统中扩展的对象类型及其定义 15.2.3 参照类型(Reference Type)15.2.4 继承性15.2.5 子表和超表An Introduction to Database System对象关系数据库系统中扩展的关系数据类型扩展的类型:LOBBOOLEAN集合类型ARRAY用户定义的DISTINCT类型等面向对象的数据类型行类型ROW TYPE抽象数据类型(Abstract Data Type) An Introduction to Database SystemORDBS中扩展的关系数据类型(续)1.大对象LOB(Large

11、 OBject )类型LOB可存储多达十亿字节的串。LOB分类二进制大对象BLOB(Binary Large OBject)BLOB用于存储音频、图像数据字符串大对象CLOB(Character Large OBject)。CLOB用于存储长字符串数据 An Introduction to Database SystemORDBS中扩展的关系数据类型(续)2. BOOLEAN类型 布尔类型,支持3个真值:true、false和unknown操作符:NOT、AND、OR、EVERY、ANY例如 WHERE EVERY(QTY200)或WHERE ANY(QTY200)QTY列为空值:返回unkn

12、own;QTY列为非空:当该列的每一个值都使(QTY200)为true时,EVERY返回true ,否则为false;当该列的每一个值都使(QTY200)为false时,ANY返回false, 否则为true。An Introduction to Database SystemORDBS中扩展的关系数据类型(续)3.集合类型(Collection Type)ARRAY 相同类型元素的有序集合称为数组ARRAYSQL3新增的集合类型允许在数据库的一列中存储数组SQL3的数组只能是一维的数组中的元素不能再是数组An Introduction to Database SystemORDBS中扩展的关

13、系数据类型(续)例2CREATE TABLE SALES(ITEM_NO CHAR(20),/*商品号*/QTY INTEGER ARRAY12,/*整数数组 ,存放销售额*/PRIMARY KEY(ITEM_NO) );An Introduction to Database SystemORDBS中扩展的关系数据类型(续)向SALES表插入一个元组:INSERT INTO SALES(ITEM_NO,QTY)VALUES(T-shirt2000,ARRAY200,150,200,100,50,70, 80,200,10,20,100,200);查找三月份销售额大于100的商品号:SELECT

14、 ITEM_NO FROM SALESWHERE QTY3100;An Introduction to Database SystemORDBS中扩展的关系数据类型(续)4. DISTINCT类型 SQL3新加了一种DISTINCT类型 定义DISTINCT数据类型语法CREAT TYPE AS FINAL ;An Introduction to Database SystemORDBS中扩展的关系数据类型(续)没有使用DISTINCT类型例如,职工的智商字段(IQ)和鞋号字段(SHOE_SIZE)定义成INTEGER类型WHERE SHOE_SIZE IQAn Introduction to

15、 Database SystemORDBS中扩展的关系数据类型(续)使用DISTINCT类型重新定义这两字段类型CREAT TYPE SHOE_SIZE_TYPE AS INTEGER FINAL;CREAT TYPE IQ_TYPE AS INTEGER FINAL;SHOE_SIZE_TYPE和IQ _TYPE成为两种不同的数据类型表达式:WHERE SHOE_SIZE IQ 是非法的如果在定义类型时设置了选项,下面用法也是合法的:WHERE MY_SHOE_SIZE CAST (MY_IQ AS SHOE_SIZE) An Introduction to Database System1

16、5.2 对象-关系数据库15.2.1 对象关系数据库系统中扩展的关系数据类型15.2.2 对象关系数据库系统中扩展的对象类型及其定义 15.2.3 参照类型(Reference Type)15.2.4 继承性15.2.5 子表和超表An Introduction to Database SystemORDBS中扩展的对象类型及其定义在ORDBMS中,类型(TYPE)具有类(CLASS)的特征,可以看成类1.行对象与行类型n定义行类型(ROW TYPE) :CREATE ROW TYPE ();An Introduction to Database SystemORDBS中扩展的对象类型及其定义 (续)n创建行类型例3CREATE ROW TYPE Person_type(pnoN

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 法律文献 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号