- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)
您可能关注的文档
- 高等数学-概率8.3 区间估计1..ppt
- 高等数学实验-1..ppt
- 高等数学矢量..ppt
- 高等数学梯度计算..ppt
- 高等数学向量代数与空间解析几何总结..ppt
- 高等通风工程..ppt
- 高等无机化学-无机反应机理..ppt
- 高等物化-微相分离的计算机模拟..ppt
- 高等物理化学(4)..ppt
- 高等物理化学(5)..ppt
- comparing modal patterns chinese-english interpreted and translated discourses diplomatic setting systemic functional approach比较中文英语解释翻译话语模态模式.pdf
- 轻松开始业务一个.pdf
- unit 5 what were you doing when the rainstorm camesection whe5单元当暴雨Camesection3a Whe时您在做什么.pptx
- 人教版七级数学上册三章一元一次方程单元复习课件.pptx
- 产-英菲尼迪维修信息系统.pdf
- 说明成果req ant uart rx sysclk cts nokia arte 233诺基亚8800ARTERM.pdf
- 终精英特训课程adobe illustrator基础课三期六节课.pptx
- 文本案例一课时unit6 parta let talk.pptx
- 繁殖或显示章基本电路应用kvldi 0 dt lch8 basic and circuits.pdf
- 安地区锦标赛秋季结果.pdf
文档评论(0)