数据库6版讲稿第十四章---基于对象的数据库教材.ppt

数据库6版讲稿第十四章---基于对象的数据库教材.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库系统概念----对象-关系数据库 前言 提纲 嵌套关系 复杂类型与面向对象 与复杂类型有关的查询 复杂值和复杂对象的创建 OO数据库与OR数据库比较 14.1 概述 通过增加面向对象特征和处理新建数据类型来扩展关系模型 允许元组的属性域为复杂类型,包括如嵌套关系等非原子性的值 在扩展建模能力的同时,保留关系的基本特征,如说明性查询 提高与现有关系语言的兼容性 14.2 复杂数据类型 动机 允许非原子域的存在 允许以更自然直接的方式对应用建模 直觉定义 允许关系出现在原子值出现的地方——在关系中出现关系 保留关系模型的数学基础 违反了1NF 嵌套关系 嵌套关系示例 文档检索系统: doc 对于关系数据库,用1NF、4NF表示都有问题 嵌套关系 doc的1NF版本: flat_doc 嵌套关系 flat-doc中的多值依赖 title??author title??keyword title??day month year flat-doc的4NF分解 (title,author) (title,keyword) (title,day,month,year) 嵌套关系 flat-doc的4NF分解 嵌套关系 1NF表示 不要求用户的查询中包含对连接操作,但失去了元组与文档之间的一一对应 4NF分解 4NF设计要求用户的查询中包含对关系的连接 嵌套关系是更自然的表示 复杂类型与面向对象 对关系模型的扩展 嵌套关系 复杂类型 特殊化 继承 对象标识 对SQL的扩展 SQL3 XSQL 有结构的类型和集合体类型 复合类型 结构类型 不同类型元素的有序集合 示例:日期由日、月、年组成(3,June,2001) 数组类型 同类元素的有序集合 示例:人名数组(Annie, Bob, Jerry, Tom) 有结构的类型和集合体类型 多集类型(multiset) 同类元素的无序集合,并且允许一个成员多次出现 示例:成绩(80,90,75,80,90,80) 集合类型(setof) 同类元素的无序集合,一个成员最多只能出现一次 示例:课程(MATHS,PHYSICS,OS,DB) 有结构的类型和集合体类型 传统关系模型 属性只能是基本数据类型 对象-关系模型 属性可以是复合数据类型 可以直接表达E-R中的复合属性和多值属性 数据类型可以嵌套 课程成绩单{(MATHS,80),(PHYSICS,90),(OS,85),(DB,95)} 外层是集合类型,内层是结构类型 有结构的类型和集合体类型 例:文档检索系统: doc 定义 有结构的类型和集合体类型 create type MyString char varying. create type MyDate (day integer, month char(10), year integer) create type Document (title MyString, author-list setof(MyString),, date MyDate, keyword-list setof(MyString)) create table doc of type Document 有结构的类型和集合体类型 也可以直接定义doc表 create table doc (title MyString, author-list setof(MyString), date MyDate keyword-list setof(MyString)) 有结构的类型和集合体类型 例: 关于学生、课程、成绩的数据类型 Create type MyString char varying. create type MyDate (day integer, month char(10), year integer) Create type Name Array MyString [10]. 有结构的类型和集合体类型 Create type StudentGrade multiset (integer ) Create type CourseList setof (MyString) Create type CourseGrade (course MyString , grade integer) Create type StudentCourse (Sname MyString , cg setof (CourseGrade) 有结构的类型和集合体类型 例:车间与职工的关系 dept=(dno,dname,staff (empno,ename ,age)) Create ty

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档