第9章对象关系计算机数据库.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章: 对象关系数据库 嵌套关系 复杂类型与面向对象 复杂类型的查询 创建复杂类型值及对象 面向对象与对象关系数据库的比较 对象关系数据模型 通过引入面向对象及处理复杂数据类型的构造来扩展关系数据模型. 允许元组属性具有复杂类型, 包括非原子值(如嵌套关系). 保持关系基础, 尤其是对数据的描述性存取, 同时扩展建模能力. 与现有关系语言向上兼容. 嵌套关系 动机: 允许非原子域 (原子 ? 不可分割) 非原子域例: 整数集合, 元组集合 对含有复杂数据的应用可以更直观地建模 直观定义: 在原先只允许出现原子值(标量)的地方可以出现关系 — 关系内的关系 保持关系模型的数学基础 违反第一范式 嵌套关系例 例如: 图书馆信息系统 每本书具有 书名, 作者集合, 出版商, 关键词集合 非1NF 关系 books 嵌套关系的1NF版本 1NF version of books 嵌套关系的4NF分解 假设flat-books 上有下列多值依赖: title author title keyword title pub-name, pub-branch 分解到4NF: (title, author) (title, keyword) (title, pub-name, pub-branch) 4NF分解 flat–books 4NF 模式的问题 4NF 设计使用户查询时需要连接. 通过连接4NF关系而定义的1NF视图 flat-books: 使用户不必执行连接, 但丢失了元组与文档的一一对应. 具有大量冗余 嵌套关系表示法更自然. 复杂类型与SQL:1999 对SQL的扩展支持复杂类型, 包括: 集合与大对象类型 嵌套关系是集合类型的例子 结构类型 类似符合属性的嵌套记录结构 继承 面向对象 包含对象标识符和引用 我们主要基于SQL:1999标准介绍 当前的数据库系统并没有完全实现 但某些特性在主要商业数据库系统中都存在 请参阅你的数据库系统的手册看看他支持什么 我们也介绍一些SQL:1999中没有的特性 这会明显指出 集合类型 大对象类型 大对象类型 clob: 字符大对象 book-review clob(10KB) blob: 二进制大对象 image blob(10MB) movie blob (2GB) JDBC/ODBC 提供特别方法来以小片断形式存取大对象 类似于存取操作系统文件 应用获取大对象的定位符, 然后再用宿主语言操作大对象 结构与集合类型 SQL中可声明并使用结构类型 create type Publisher as (name varchar(20), branch varchar(20)) create type Book as (title varchar(20), author-array varchar(20) array [10], pub-date date, publisher Publisher, keyword-set setof(varchar(20))) 注: SQL:1999不支持setof 用array 存储作者使我们可以记录作者顺序 结构类型可用来创建表 create table books of Book 类似于前面的嵌套关系books, 但对作者用的是array而非 set 结构与集合类型 (续) 结构类型可直接表示E-R图中的复合属性. SQL:1999中还可用无名行类型来定义复合属性 E.g. 可以省略Publisher 类型的声明, 而在类型Book 中用下列声明 publisher row (name varchar(20), branch varchar(20)) 类似地, 集合类型可直接表示E-R图中的多值属性. 结构类型 (续) 创建复杂类型的值 创建复杂类型的值(续) 构造Array值 array [‘Silberschatz’,`Korth’,`Sudarshan’] Set 值 (SQL:1999不支持) set( v1, v2, …, vn) 创建books 关系的元组 ( ‘Compilers’,

文档评论(0)

wx171113 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档