对象关系型DBMS开发技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《对象关系型DBMS开发技术课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对象 关系 DBMS 开发 技术 课件
- 资源描述:
-
1、对象关系型对象关系型DBMSDBMS开发技术开发技术z 鞠鞠 时时 光光第一章第一章 绪论绪论z如何理解数据库这个名词?z为什么研究DBMS?z我们研究DBMS的目的?z现在常用的几类商业数据库z世界上研究数据库处于前沿的单位如何理解数据库这个名词z DBMSDBMS的体系结构,存储方法(数据模式data model),索引机制,查询机制,优化查询等。z 数据库理论数据源:Normal Form系统模型:ER图,数据完整性data integrity,数据安全性data security,数据共享data sharing信息利用:active data,data fusion,data din
2、ingz 数据库应用本课目的z扩展关系DBMS到对象关系型DBMSz研究如何设计对象关系型DBMS的体系结构,存储方法,索引机制,查询机制等为什么研究DBMS?新兴的应用领域的需求:z计算机集成制造系统(计算机集成制造系统(CIMSCIMS)z办公信息系统办公信息系统(OIS)(OIS)z多媒体系统多媒体系统(multimedia)(multimedia)z高维数据应用系统高维数据应用系统计算机集成制造系统(计算机集成制造系统(CIMSCIMS)CIMS是在CAD,CAE,CAE,CAPP,FMS,等基础上发展起来的高技术.CIMS对DBMS的新功能要求包括能定义新的面向工程环境的数据模型;能
3、修改和重新定义已有的数据结构;能存储和有效地检索设计图形和工程数据;能管理设计过程中对象演变的历史.传统数据库CAD 数据库被模仿的实际事物被模仿的实际事物是静态的.有关设计对象的数据是高度动态的,在设计过程中才被确定数据更新数据更新虽然频繁,但只涉及值的改动数据更新频繁,而且既更改数据值,也要更改数据结构。谁执行更改用户只能执行数据值的更改,但任何结构更改均需由数据库管理员实现。必须允许设计者执行数据值与数据结构的更改。数据模型化的复杂性一个管理模型可包含许多实体,但在大多数情况下,其间只是微弱相关设计过程中,要涉及很多实体和许多关系,从而导致一个复杂的网状结构数据结构的演变数据库装入后,数
4、据的使用是经常的,但结构的演变缓慢或不变当对象没有完全被设计好时,对其在结构和值这两方面的描述是不断演变的信息量数据库相当稳定地管理大量数据CAD 数据库开始较小,但可在设计过程中增大办公信息系统办公信息系统(OIS)OIS)办公环境处理信息的多样性(图形、图像、报表、文字、声音)及存储介质的多样性(纸张、声音、录音、录像、磁盘、光盘等)信息类型丰富时间因素不规则交互式界面信息的过滤与综合优先级调度和触发器多媒体系统多媒体系统现在世界上85%的有用信息还未转变成电子形式,大部分是多媒体信息,如胶片。(a)(b)(c)图1.1 (a)图象、图形及正文可看成是在时间维上取定值的空间信息;(b)动画
5、可看成是在空间和时间维上均动态变化的信息;(c)声音可看成是在时间维变化的信息。TXYTXYTXY高维数据应用系统(高维数据应用系统(1)高维数据对数据库管理系统提出了许多特殊的要求:一个对象不能用存储字符编码的方式来存储。检索图象也不像检索一个字符串或一个字符那样方便。用户查询或检索某个对象,有时需据空间关系来进行。如:拓扑操作:“包含”,“相联”等。几何操作:“靠近”,“远离”,“覆盖”等等。方位操作:“在右边”,“在上面这些操作基于实体间相互所处的空间位置之上。高维数据应用系统(高维数据应用系统(2)数据库管理语言有能力描述高维信息和字符信息的处理过程,但由于两种过程在本质上的差异。在诸
6、如DDL,DML、SQL中,描述两种过程的语义规则不能混合。(为什么研究DBMS?)结论 这些新的特征,使得传统的关系型DBMS,或者面向对象型DBMS均难以有效的管理这些类型的数据。促使我们去研究、引入新型的DBMS系统。其中最重要的研究方向之一就是将面向对象技术与关系数据库技术相结合,构造新型的对象-关系型数据库管理系统我们研究DBMS的目的数据库管理系统(DBMS)的研究与开发 WEB数据库(电子商务、电子政务系统)安全数据库 数据挖掘数据拟合对象关系型DBMS 可视化数据库查询语言 GIS系统 工程数据库(如CAD数据库)常用的几类商业数据库 2 4 1 3有无查询功能 复杂 简单 简
7、单 复杂数据复杂度区域1:表示处理的是简单数据 常见的正文处理系统有word,Framemaker,word perfect,vi等。这些正文系统可归类为最简单的DBMS软件系统。用名字打开文件,文件内容被拷贝到虚存中。在编辑正文时,更新虚存对象,对象被定期地保存到硬盘中。在结束正文处理时关闭文件,这时,虚存中的拷贝被存到文件系统中区域2:简单数据,复杂查询 关系数据库。目前常见的保险业务处理系统、企业的人事管理、生产管理、物资管理等信息管理系统都是基于这种RDBMS之上开发的。如Informix,Oracle,delph,VB,VF等。查询语言,国际标准组织相继推出SQL-86、SQL-89
8、和SQL-92标准。为了方便数据库应用系统的开发,数据库厂商开发了各种客户工具,除了可以在SQL语句中嵌入第三代语言(如C,COBOL等),还提供4GL第四代语言区域2:传统数据库不足之处(1)传统数据模型,特别是关系数据模型用来描述复杂的嵌套实体就显得过于简单。传统数据库系统也没有提供相应的机制去表达和管理这些实体。(2)传统数据库系统只支持有限的数据类型,它甚至不支持对较长的非结构化数据,如图形、图像和文本文档的存储和检索。(3)传统数据模型不含若干常用的语义概念,如像泛化(generalization)和聚集(aggregation)关系。(4)许多应用程序是用某种程序设计语言(FORT
9、RAN、或C)嵌入到某个数据库语言(如SQL、DML)实现的。而程序设计语言与数据库语言无论在数据模型还是在数据结构上都是很不相同的.区域3:复杂数据,简单查询 本类应用与前两类应用最主要的不同在于增加了复杂数据。而与第二类应用相比,它又几乎没有查询要求.面向对象数据库产品主要有ObjectStore,O2,Objectivity/DB,Matisse,ONTOS,Gemstone等。这些产品在坚固性,可伸缩性,客户/服务器结构,应用开发工具等许多方面不如RDBMS产品。区域3:面向对象数据库的不足面向对象数据库的不足 面向对象数据库产品在程序设计接口、实现方法(手段)、对查询的支持等等方面都
10、存在许多差异。面向对象的数据库产品在一些方面仍然落后于关系数据库产品,例如,还没有OODB支持视图机制.OODB明显缺乏最终用户工具及应用开发工具.OODB的商业市场的增长速度比预想的要慢的多.区域4:复杂数据,复杂查询(1)图象数据库,其结构定义如下:create table photo (id int;/*图象编号*/date date;/*拍摄日期*/caption document;/*图象说明*/picture photo_CD_image;/*图象编码*/);被存储的对象具有复杂的数据结构按内容对图象进行查询还要求数据库管理系统允许用户自定义数据类型.并自定义这些数据类型上的函数和
11、操作区域4:复杂数据,复杂查询(2)(1)表达和管理复杂嵌套对象的能力,以允许逐步细化复杂实体。(2)存储和检索任意长数据的能力。(3)定义和管理任意数据类型的能力。(4)表达和管理数据库变化的能力,包括时间和时间间隔的表示法,单对象的版本,复杂嵌套对象的版本和模式实体的版本。(5)表达和操作各种有用的语义模型概念的能力。例如CAE、复合文档合成等等上下文中的装配部分层次就是这些概念之一。(6)指定规则和扩充制约的能力,以支持基于知识的应用。(7)管理长协同事务的能力。下一代数据库系统的特征世界上研究数据库处于前沿的单位(1)Http:/www.cs.berkeley.edu(2)Postgr
12、eSQL -Object-Relational DBMS http:/www.postgresql.org(3)http:/db.cs.berkeley.edu/papers/Informix/(4)Universal DBMS http:/ 第二章第二章 对象关系数据库的基本特性对象关系数据库的基本特性ORDBMS的定义的定义开发对象关系DBMS的途径支持复杂对象支持复杂对象基类扩充基类扩充继承机制继承机制规则系统规则系统 1990年,由Stonebraker等人组成的高级DBMS功能委员会发表的“第三代数据库系统宣言”:第三代对象关系型数据库系统必须具备的三条原则:原则1:除传统的数据管理
13、服务外,第三代DBMS将支持更加丰富的对象结构和规则。原则2:第三代DBMS必须包含第二代(即关系的)DBMS的所有功能。原则3:第三代DBMS必须对其它子系统开放。ORDBMS的定义的定义对象关系型对象关系型DBMS这种系统具备关系数据库管理系统的功能,同时又支持面向对象的特性。它是关系数据库技术与面向对象技术的融合。主要是扩充基类、支持动态数据类型、支持复杂对象和大对象、增加复杂对象继承机制及支持规则系统等。并支持SQL查询语言的超集ORSQL。它适合于具有高维数据、动态数据、复杂查询等工程应用领域。可用作开发CAD、多媒体、CIMS、GIS等应用系统。实现这种系统需研究:通用存储机制。系
14、统的存储机制必须能存储对象关系型数据。类属的索引机制。原有的关系型DBMS只为数字和字符串两种数据类型内置了B树代码。在ORDBMS中,B树代码必须是类属的。这样就可以在任何数据类型上建立B树索引。使得系统能在任何数据类型上提供高维存取方法。必须提供用户自定义新的数据类型和函数的功能。这种可扩充性消除了传统的DBMS必须进行的对新数据类型和函数的繁琐模拟。规则系统。这些规则被数据库系统实施后,存储的数据变的更主动(active),使得它更具有自己的行为。即数据库中的数据能自己讲话。研究定义对象关系型数据库查询语言 ORSQL开发对象关系DBMS的途径(1)从头写一个从头写一个ORDBMS(2)
15、对对ORDBMS进行功能扩充(要在源代码上进行)进行功能扩充(要在源代码上进行)第一个采用增量式演变策略的是Ingres公司,1988年开始,将关系型引擎扩展为具有基本类型扩充功能和规则管理的系统(3)写一个包装层写一个包装层包装层就是在传统的关系型引擎上裹着一个模拟层。这个模拟层支持对象关系型API,其办法是将用户提交的对象关系型查询映像成关系型查询,然后在传统关系型引擎上执行。HP公司已采用包装层策略,把关系型引擎Allbase改造成关系-对象型引擎Open ODB。模拟效率是非常低的。因为在包装层中执行整个查询,就意味着包装层必须有第二个SQL分析器,第二个优化器和第二个执行器IBM的D
16、B2/CS V2.0系统和CAIngres系统支持用户定义的基类、继承和视图等。Illustra是当前对象关系市场上功能相当完备的产品,提供基于抽象数据类型(ADT)、已经开发好的类型扩充软件包,用于管理诸如图象和正文等数据类型。这样的软件包有Illustra的DataBlade.IBM的Database Extender等几个具有对象关系数据库特征的产品支持复杂对象支持复杂对象特性特性1:丰富的复杂对象类型 “组合”、“集合”和“指针”三种类型构造器。特性特性2:复杂对象类型上的函数特性特性3:复杂对象的大小对组合的成员总存储量大小不应有限制,对集合大小和成员数目也不应有限制。特性特性4.:
17、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);然后,
18、公司的职员表可以更简单的定义为:CREATE TABLE employee OF TYPE employee_t;把职工的所有信息定义为一个类型Employee 表格式 addressnamestartdatesalarystreetcitystatezip这样创建的表称为“类型表”,可见这种表并不满足1NF范式集合集合SET:普通的集合类型,元素不能重复。多值集合MULTISET:元素可以重 复的集合。列表LIST:有顺序的集合。指针 指针类型的存在基于以下事实:数据库表中的一行或一个复杂对象的实例可以有一个唯一的内部标识 称作行标识(ROWID)或对象标识(OID).指针实际存储的是这种标
展开阅读全文