- 1、本文档共66页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对象关系型DBMS开发技术 鞠 时 光 如何理解数据库这个名词 DBMS DBMS的体系结构,存储方法(数据模式data model),索引机制,查询机制,优化查询等。 数据库理论 数据源:Normal Form 系统模型:ER图, 数据完整性data integrity, 数据安全性data security, 数据共享data sharing 信息利用: active data, data fusion,data dining 数据库应用 本课目的 扩展关系DBMS到对象关系型DBMS 研究如何设计对象关系型DBMS的 体系结构,存储方法, 索引机制,查询机制等 为什么研究DBMS? 新兴的应用领域的需求: 计算机集成制造系统(CIMS) 办公信息系统(OIS) 多媒体系统(multimedia) 高维数据应用系统 支持复杂对象 特性1: 丰富的复杂对象类型 “组合”、“集合”和“指针”三种类型构造器。 特性2:复杂对象类型上的函数 特性3:复杂对象的大小 对组合的成员总存储量大小不应有限制, 对集合大小和成员数目也不应有限制。 特性4.:SQL的超集 创建复杂对象(组合) CREATE ROW TYPE addr_t( Street varchar(30), City varchar(20), State char(2), Zip int); 有了addr_t这种复杂对象类型,一个公司的职工信息表可以定义成: CREATE TABLE employee ( Name varchar(3), startdate date, salary int, address addr_t); CREATE ROW TYPE employee_t( Name varchar (30), Startdate date, Salary int, Address addr_t); 然后,公司的职员表可以更简单的定义为: CREATE TABLE employee OF TYPE employee_t; 把职工的所有信息定义为一个类型 这样创建的表称为“类型表”, 可见这种表并不满足1NF范式 集合 集合SET :普通的集合类型, 元素不能重复。 多值集合MULTISET :元素可以重 复的集合。 列表LIST :有顺序的集合。 指针 指针类型的存在基于以下事实:数据库表中的一行或一个复杂对象的实例可以有一个唯一的内部标识 ―― 称作行标识(ROWID)或对象标识(OID). 指针实际存储的是这种标识。这些标识是永久的,且绝对不会重复. 例,可把公司中某一部门表的manager列改成指针类型: manager REF(employee-t) 综合利用指针的集合 在部门表中直接包含部门的职员 workers SET (REF(employee-t) ) 引入复杂对象后的部门表定义如下: CREATE TABLE department( dname varchar(30), manager REF(employee-t), workers SET (REF(employee-t) ); 结构非常简明,并且完整的描述了一个部门的信息。 基类扩充 SQL-92定义的基本数据类型只有以下几种:整数、实数、字符串(定长或可变长)、时间. 基本数据类型上的操作符和函数也都是精确定义(有的是硬编码)的. 所谓基类扩充,是指用户在SQL中能创建带有相应操作符和函数的新数据类型. 创建一个新的基类需定义类型名、类型的存储信息和将该数据类型与ASCII字符互相转换的子程序。 创建一个新的基类 创建基类需定义类型名、类型的存储信息和将该数据类型与ASCII字符互相转换的子程序: 创建类型语句 创建其上的输入函数 创建其上的输出函数 下面是IU
文档评论(0)