面向对象的数据库系统_zhangbl_第1页
面向对象的数据库系统_zhangbl_第2页
面向对象的数据库系统_zhangbl_第3页
面向对象的数据库系统_zhangbl_第4页
面向对象的数据库系统_zhangbl_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、内容概要面向对象数据库系统简介OO-DBMS 的特色功能面向对象数据库的实现途径面向对象的数据库系统 面向对象数据库 = 面向对象概念 + 数据库功能 OO-DBMS = OO 数据模型 + DBMS 数据模型 数据模型是对现实世界数据特征的模拟和抽象,最终使数据能被计算机识别并处理。 数据在数据库中抽象表示过程如右 概念模型:一个中间层,不涉及信息在计算机的表示,只描述人们关心的信息结构。典型的: 实体联系模型 ,简称E-R图 逻辑模型:DBMS支持的数据模型,有层次模型、网状模型、关系模型和面向对象模型面向对象的数据模型 概念:对象、类、继承性、对象标识和对象包含 对象标识(OID):面向

2、对象数据库中的每个对象都有一个唯一的不变的标识。特点:永久持久性 独立于值的,系统全局唯一的 利用对象标识一些对象可以包含和引用其他对象,从而形成复合对象,所以它形成复合对象操作的基础。 该数据模型最大的优势:支持对象嵌套,递归。支持复杂对象和复杂对象行为等的描述。OO-DBMS 功能介绍具有具有DBMSDBMS的基本功能的基本功能1 数据库的定义功能数据库的定义功能 DBMS 提供数据定义语言DDL(ODL)来定义和创建数据库模式、外模式和内模式等数据库对象,并包含数据的完整性约束和保密限制等约束。2 数据库的操作数据库的操作 DBMS提供数据操作语言DML(OML或OQL) 实现对数据操作

3、。基本操作两类:检索(查询)和更新(增、删、改)。3 数据库的运行控制和管理数据库的运行控制和管理 包括事务管理、数据的安全性和完整性检查、并发控制、数据库的恢复等。除此之外,OO-DBMS 还具备另外一些特有功能。4 数据库的维护数据库的维护 OO-DBMS 特色功能/主要特性1模式演进2版本管理3处理长事务和嵌套事务1 模式演进定义: 面向对象数据库的模式是若干类定义的集合。模式为适应需求的变化而随时间的变化称为模式演进。 面向对象数据库的模式演进包括改变类的定义和改变类的继承结构,如增加或删除一个类,修改类中的属性和操作。实际意义:现实应用中,很多系统设计随时间的推移,需要动态地修改或扩

4、展数据模式。 模式演进的规则 模式的演进必须保持模式一致性。模式一致性是指模式自身内部不能出现矛盾和错误。它由模式一致性约束刻画。 模式一致性约束模式一致性约束包含以下: (1) 唯一性约束唯一性约束:一个模式中所有名字唯一 (2) 存在性约束存在性约束:显示引用的成分必须存在 (3) 子类型约束子类型约束: 子类与父类联系不能有环 不能从多继承中带来任何冲突 若只支持单继承,则子类的单一超类必须加以标明模式演进的实现采用转换的机制来实现模式演进,指将已有对象根据新的模式结构进行转换以满足新模式的定义。 根据转换发生的时间可有两种转换方式两种转换方式: 立即转换方式立即转换方式。一旦模式变化立

5、即执行所有变换; 延迟转换方式延迟转换方式。模式变化后不立即执行,延迟到低层数据库载入,或者延迟到该对象被存取时才执行转换。 多模式版本方式多模式版本方式。当修改模式时,建立一个数据库模式版本,保留旧模式版本。2 版本管理 实现基础:OID 可唯一标识对象,以及对象的版本。2.1 版本集合的管理 版本间的关系: 1) 时间上的先后关系。一般由版本号反映。 2)派生关系。如下图示: 版本管理2.2 版本的引用机制 在支持多版本的系统中,一个对象实际上只是一个虚的、逻辑上的概念。因此,就提出了对对象及其版本的引用。 一般由两种引用: 静态引用:引用关系直接指向某个对象的特定版本 动态引用:引用关系

6、指向某个对象、没确定是哪个版本。 2.3 版本的分类 发行版本和临时版本3 长事务和嵌套事务 事务 指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全不执行。 特性 :ACID 原子性、一致性、隔离性和持久性 传统事务模式处理长事务时存在两个缺点: 冲突事物间长期等待(串行性、隔离性) 系统故障时数据库更新全部撤销(原子性) 一个长事务可看作是一些短事务的集合。将短事务作为并发控制和恢复的基本单位。这样用户能减少锁粒度(把长事务锁变为短事务锁),实现不同长事务的并发操作和长事务部分撤销。长事务和嵌套事务 嵌套事务本质也是一种长事务。一个嵌套事务可能包含许多子事务。嵌套的事务可形成

7、一种树结构。最顶级的事务是一个根,根下可有一个或多个子事务,子事务还可再嵌套子事务,如此等等。 最终要想提交顶级事务,必须先完成它的所有子事务。 若某个子事务失败,则可选择重做该子事务或者撤销子事务,若子事务被撤销,则它的顶级事务也会被撤销。 面向对象数据库系统的实现途径一般有三条路线: 1 对现有的面向对象程序设计语言(OOPL)扩充,使之能处理数据库,从而形成OODBS ODMG 标准 扩充C+ 成为持久化语言,形成OODBS 典型产品 ObjectStore、Ontos等 2 以关系数据库和SQL为基础,把面向对象技术融入数据库系统,形成ORDBS SQL 3 标准支持 ORDBS 模型

8、 典型产品 Oracle 8 、DB2等 3 建立新的面向对象数据库系统OODBS (产品 O2)扩充 OOPL 的OODBS以一种已有的面向对象程序设计语言,例如C+ 或 Java 为基础,增加数据库功能,使之能处理持久数据且实现数据共享。 优点:支持复杂对象表示,完全支持面向对象编程 适合复杂数据,简单查询的应用 缺点:不支持SQL语言,不能和现有的数据库结合起来,扩展性和通用性受限对象-关系数据库 ORDBS 它是在关系数据库系统的基础上,从SQL语言出发,引入复合类型、继承性、引用类型等面向对象的概念。从而部分支持OO模型。 优点:既有面向对象的特性,又支持关系数据库 适合复杂数据、复杂查询的应用 缺点:面向对象技术与关系数据库结合,它们之间的转换会造成性能降低。很多新的复杂对象不能处理。OODBS 与 ORDBS 主要区别比较准则比较准则OODBSORD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论