网站大量收购独家精品文档,联系QQ:2885784924

高级数据库技术(4)对象关系数据库..ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 对象-关系数据库 通过增加面向对象特征和处理新建数据类型来扩展关系模型 允许元组的属性域为复杂类型,包括如嵌套关系等非原子性的值 在扩展建模能力的同时,保留关系的基本特征,如说明性查询 提高与现有关系语言的兼容性 第四章 对象-关系数据库 对关系模型的扩展 嵌套关系 复杂类型 特殊化 继承 对象标识 对SQL的扩展 SQL3 XSQL(Illustra) 第四章 对象-关系数据库 嵌套关系 ORDB特性一:基本数据类型扩充 ORDB特性二:复杂对象 ORDB特性三:继承 ORDB特性四:规则 1. 嵌套关系 动机: 允许非原子域 (原子 ? 不可分割) 非原子域例: 整数集合, 元组集合 对含有复杂数据的应用可以更直观地建模 直观定义: 在原先只允许出现原子值(标量)的地方可以出现关系 — 关系内的关系 保持关系模型的数学基础 违反第一范式 1. 嵌套关系 如:文档检索系统: doc 题目, 作者集合,日期,关键字集合 非1NF 关系 doc 1. 嵌套关系 doc的1NF版本: flat_doc 1. 嵌套关系 flat-doc中的多值依赖 title??author title??keyword title??day month year flat-doc的4NF分解 (title,author) (title,keyword) (title,day,month,year) 1. 嵌套关系 flat-doc的4NF分解 1. 嵌套关系 4NF 设计使用户查询时需要连接. 通过连接4NF关系而定义的1NF视图 flat-doc: 使用户不必执行连接, 但丢失了元组与文档的一一对应. 具有大量冗余 嵌套关系表示法更自然. 2. 基本数据类型的扩充 SQL中定义了基本数据类型(整数、浮点数、字符串、…),以及可用于每一种数据类型的函数和操作符。 问题:SQL的数据类型和操作的集合有限,现实世界的很多问题很难用它来编码;即使编成代码性能也不佳。 2. 基本数据类型的扩充 例汽车互助组 create table emp(name varchar(30), startdate date,salary int, address varchar(30), city varchar(30), state char(2),zipcode int lat float,long float); select r.name from emp j, emp r where j.name = ‘Joe’ and (j.long – r.long)??2 + (j.lat–r.lat)??2 1 2. 基本数据类型的扩充 除基本数据类型外,允许创建新的数据类型,以及相关的函数和操作符,注册到系统中 例汽车互助组 创建新的数据类型point,和函数distance。 2. 基本数据类型的扩充 例汽车互助组 create table emp(name varchar(30), startdate date,salary int, address varchar(30),city varchar(30), state char(2),zipcode int, location point); select r.name from emp j, emp r where j.name = ‘Joe’ and distance(j.location, r.location) 1 2. 基本数据类型的扩充 大对象LOB(Large OBject )类型 LOB分类 二进制大对象BLOB(Binary Large OBject) BLOB用于存储音频、图像数据 字符串大对象CLOB(Character Large OBject) CLOB用于存储长字符串数据 2. 基本数据类型的扩充 BOOLEAN类型 布尔类型,支持3个真值:true、false和unknown 操作符:NOT、AND、OR、EVERY、ANY 例如 WHERE EVERY(QTY200) 或WHERE ANY(QTY200) QTY列为空值:返回unknown; QTY列为非空: 当该列的每一个值都使(QTY200)为true时,EVERY返回true,否则为false; 当该列的每一个值都使(QTY200)为false时,ANY返回false,否则为true。 2. 基本数据类型的扩充 组合类型 结构类型、行类型、元组类型、对象类型 不同类型元素的有序集合 示例:日期由日、月、年组成(3,June,2001)

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档