面向对象数据库.ppt

上传人:p** 文档编号:186642 上传时间:2023-04-04 格式:PPT 页数:63 大小:415.50KB
下载 相关 举报
面向对象数据库.ppt_第1页
第1页 / 共63页
面向对象数据库.ppt_第2页
第2页 / 共63页
面向对象数据库.ppt_第3页
第3页 / 共63页
面向对象数据库.ppt_第4页
第4页 / 共63页
面向对象数据库.ppt_第5页
第5页 / 共63页
面向对象数据库.ppt_第6页
第6页 / 共63页
面向对象数据库.ppt_第7页
第7页 / 共63页
面向对象数据库.ppt_第8页
第8页 / 共63页
面向对象数据库.ppt_第9页
第9页 / 共63页
面向对象数据库.ppt_第10页
第10页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《面向对象数据库.ppt》由会员分享,可在线阅读,更多相关《面向对象数据库.ppt(63页珍藏版)》请在第壹文秘上搜索。

1、1第八章第八章 面向对象数据库面向对象数据库 2本章主要内容:本章主要内容:u 面向对象数据模型面向对象数据模型u 面向对象数据库的查询面向对象数据库的查询u 面向对象数据库的并发控制面向对象数据库的并发控制u 面向对象数据库管理系统面向对象数据库管理系统u 对象对象关系数据库系统关系数据库系统38.1 8.1 新应用的需求新应用的需求和传统数据库的局限性和传统数据库的局限性关系数据库系统的不足:关系数据库系统的不足: (1)(1)关系模型结构简单,不能很好模拟复杂对象关系模型结构简单,不能很好模拟复杂对象 (2) (2)数据类型简单,没有定义抽象数据类型数据类型简单,没有定义抽象数据类型的能

2、力的能力 (3) (3)结构与行为完全分离,使数据库中的信息仅结构与行为完全分离,使数据库中的信息仅能由识别他们的应用程序解释执行;能由识别他们的应用程序解释执行; (4) (4)查询实现复杂,连接优化降低了存取效率。查询实现复杂,连接优化降低了存取效率。下下4 OODB vs RDB5 89年年1月,在美国月,在美国ANSI /X3/SPARC的数据库系统研究的数据库系统研究组组(DBSSG)下成立了面向对象数据库任务组下成立了面向对象数据库任务组(OODBTG),专门对对象数据管理的标准化进行了研究。专门对对象数据管理的标准化进行了研究。90年高级年高级DBMS功能委员会发表了功能委员会发

3、表了第三代数据库系统宣言第三代数据库系统宣言的文的文章,文章中提出了第三代章,文章中提出了第三代DBMS应具有的基本特征:应具有的基本特征: (1)支持面向对象的数据模型,支持复杂数据类型;支持面向对象的数据模型,支持复杂数据类型; (2)具有第二代数据库系统的优点,即高效、安全、方便具有第二代数据库系统的优点,即高效、安全、方便 (3)具有开放性,即支持数据库标准具有开放性,即支持数据库标准(SQL)、网络协议、网络协议、适应多种软硬件平台适应多种软硬件平台 。68.2 8.2 面向对象程序设计语言面向对象程序设计语言l面向对象程序设计的特点面向对象程序设计的特点u支持模块化设计支持模块化设

4、计l以主体数据(对象)为中心,以数据上的操作作为界以主体数据(对象)为中心,以数据上的操作作为界面进行设计(结构化的方法:数据输入处理数据面进行设计(结构化的方法:数据输入处理数据输出)输出)u软件复用软件复用 l对象封装使程序员可以通过界面理解和操作对象对象封装使程序员可以通过界面理解和操作对象l对象继承允许对象实现复用具有相同特征的其它对象代码对象继承允许对象实现复用具有相同特征的其它对象代码u 软件维护软件维护l面向对象的软件开发,从分析、设计、实现和测试等阶段面向对象的软件开发,从分析、设计、实现和测试等阶段都是基于对象的概念,在开发和维护阶段,软件系统的结都是基于对象的概念,在开发和

5、维护阶段,软件系统的结构都是一致的,易于维护。构都是一致的,易于维护。7l面向对象程序设计方法在计算机多个领域产生深远影响面向对象程序设计方法在计算机多个领域产生深远影响u程序设计语言程序设计语言u人工智能人工智能u软件工程软件工程u信息系统设计信息系统设计u计算机硬件设计计算机硬件设计u数据库数据库l面向对象数据库系统:面向对象数据库系统:ObjectStore、O2、Orion、Versant、Gemstone、Itasca8 面相对象数据库系统在许多应用中取得了进展:面相对象数据库系统在许多应用中取得了进展: (1)计算机辅助设计与制造(计算机辅助设计与制造(CAD/CAM);); (2

6、)计算机集成制造(计算机集成制造(CIM);); (3)计算机辅助软件工程(计算机辅助软件工程(CASE);); (4)地理信息系统(地理信息系统(GIS);); (5)企业资源规划(企业资源规划(ERP); (6)能源管理系统(能源管理系统(EMS)。)。9lOO数据模型数据模型u用面向对象的观点描述现实世界对象的逻辑组织、用面向对象的观点描述现实世界对象的逻辑组织、对象之间的限制、联系的模型称为对象之间的限制、联系的模型称为OO数据模型。数据模型。lOO模型的核心概念模型的核心概念u对象对象l属性集合属性集合 描述对象的状态、组成和特征描述对象的状态、组成和特征l方法集合方法集合 描述对象

7、的行为特征描述对象的行为特征l消息集合消息集合 是对象向外提供的界面,由对象接是对象向外提供的界面,由对象接收和响应收和响应简单对象、简单对象、 复杂对象复杂对象8.3 8.3 面向对象数据模型面向对象数据模型10u对象标识对象标识l每个对象都有一个内部标识符每个对象都有一个内部标识符OID,OID在整个在整个系统中系统中 是唯一的,一旦生成就不能改变。是唯一的,一旦生成就不能改变。uOID的表示的表示l值标识值标识 由对象的属性组成对象标识由对象的属性组成对象标识l 指针标识指针标识 指向物理存储位置的指针作为对象标识指向物理存储位置的指针作为对象标识l代用品法(代用品法(surrogate

8、surrogate),),与对象的内部属性无关。与对象的内部属性无关。 11u封装封装l每个对象都是其状态和行为的封装体。每个对象都是其状态和行为的封装体。u类类 l 具有相同特征对象的集合;对象为类中的实例。具有相同特征对象的集合;对象为类中的实例。l 类本身看作对象,称为类对象。类本身看作对象,称为类对象。l面向对象数据库模式是类的集合,形成类层次结构面向对象数据库模式是类的集合,形成类层次结构u类层次类层次l一组相关类形成类层次结构一组相关类形成类层次结构l子类、超类子类、超类l子类和超类的关系体现了子类和超类的关系体现了“is A”is A”的语义的语义12 人人 教职工教职工 学生学

9、生 教师教师 行政人员行政人员 工人工人 本科生本科生 研究生研究生助教助教 讲师讲师 教授教授 类层次的例子类层次的例子在职研究生在职研究生u类层次类层次 l一组相关类形成类层次结构一组相关类形成类层次结构l子类、超类子类、超类l子类和超类的关系体现了子类和超类的关系体现了“is A”is A”的的语义语义13u继承继承 子类和超类间具有继承关系子类和超类间具有继承关系l子类继承超类的属性和方法。子类继承超类的属性和方法。l单继承和单继承和多继承多继承l 解决同名冲突的方法:解决同名冲突的方法: 子类与超类间的同名冲突子类与超类间的同名冲突按子类优先处理按子类优先处理; 多个超类间的同名冲突

10、,多个超类间的同名冲突,按说明超类的先后取第一按说明超类的先后取第一个超类中的定义个超类中的定义 或或 规定继承的超类;规定继承的超类; 提供显式方法提供显式方法: : 从多个冲突的实例变量或方法中继从多个冲突的实例变量或方法中继承一个;继承多个,在类定义中重新命名。承一个;继承多个,在类定义中重新命名。14u多态性多态性l 同一操作有不同的实现,取决于具体对象。如同一操作有不同的实现,取决于具体对象。如“”法法 u滞后联编滞后联编l对对象操作的编译推迟到运行时实现,称滞后联编。对对象操作的编译推迟到运行时实现,称滞后联编。 例:在同一个超类的不同子类上执行同一个操作。例:在同一个超类的不同子

11、类上执行同一个操作。 如同一个显示操作可以显示不同的数据类型:如同一个显示操作可以显示不同的数据类型: 人的信息、图象人的信息、图象u对象的嵌套对象的嵌套l复合类层次结构复合类层次结构 书:书号、书名、书:书号、书名、作者作者、出版社出版社、出版日期。、出版日期。 作者:作者名、地址、电话作者:作者名、地址、电话 出版社:出版社名、地址、负责人出版社:出版社名、地址、负责人15 一般提供:一般提供: 对单一类中对象的查询对单一类中对象的查询 以类为根的类层次上的查询。以类为根的类层次上的查询。 二类索引:二类索引: 类层次索引类层次索引 嵌套属性索引嵌套属性索引 8.4 8.4 面向对象数据库

12、系统的查询面向对象数据库系统的查询16 类层次索引类层次索引 建立在类建立在类C C的属性的属性A A上的一个类层次上的一个类层次索引,是以该类为根的类层次中所有类在属性索引,是以该类为根的类层次中所有类在属性A A上的单一上的单一索引,属性索引,属性A A称为称为索引属性索引属性,类,类C C称为称为索引类索引类。 在单一类在单一类上建立的索引称为单一索引。上建立的索引称为单一索引。 8.4 8.4 面向对象数据库系统的查询面向对象数据库系统的查询 人人 教职工教职工 学生学生 教师教师 行政人员行政人员 工人工人 本科生本科生 研究生研究生教职工教职工:职务、工资、:职务、工资、参加工作时

13、间参加工作时间17 嵌套属性索引嵌套属性索引 在复合类层次的某个类的在复合类层次的某个类的属性上建立索引。这种索引是以索引类为根的类复属性上建立索引。这种索引是以索引类为根的类复合层次中某个类的属性,该属性称为索引类的嵌套合层次中某个类的属性,该属性称为索引类的嵌套属性。属性。 书:书号、书名、书:书号、书名、作者作者、出版社出版社、出版日期。、出版日期。 作者:作者:作者名作者名、地址、电话、地址、电话 出版社:出版社名、地址出版社:出版社名、地址 若在若在auth_nameauth_name上建立上建立bookbook的嵌套属性索引,可的嵌套属性索引,可找到某个作者的所有书,以加快查找速度

14、。找到某个作者的所有书,以加快查找速度。 下下18定义图书类:定义图书类: class book book_no: string; book_name: string; written_by: author; publisher_by: publisher; date_of_publation: date; new(); ; class author ; class publisher ;19 OODB语言标准,大多采用了扩充语言标准,大多采用了扩充SQL语言的方法,语言的方法,称为称为OSQL。例:例: 检索作者为严亮的检索作者为严亮的“数据库原理数据库原理”书的出版社名。书的出版社名。SE

15、LECT b. published_by.publi_name FROM b IN book WHERE b.book_name = “数据库原理数据库原理” AND b. written_by.auth_name = “严亮严亮”;8.4 8.4 面向对象数据库系统的查询面向对象数据库系统的查询( (续续) )20在在OODBSOODBS中的更新处理:中的更新处理: (1) (1)当一个事务访问某个类的实例时其它事务不能对这当一个事务访问某个类的实例时其它事务不能对这个类的任何超类进行修改。个类的任何超类进行修改。 (2) (2) 一个事务在查询计算时其它事务也不能修改该类的一个事务在查询计

16、算时其它事务也不能修改该类的所有子类。所有子类。 查询一个类时要对该类和所有子类进行评估。查询一个类时要对该类和所有子类进行评估。 在在OODBMSOODBMS中需要提供更复杂的锁机制,需要锁更多的中需要提供更复杂的锁机制,需要锁更多的语义信息。语义信息。8.5 8.5 面向对象数据库系统的并发控制面向对象数据库系统的并发控制218.5 8.5 面向对象数据库系统的并发控制面向对象数据库系统的并发控制 多多粒度锁,锁的粒度有:粒度锁,锁的粒度有: RDBSRDBS中的中的锁粒度锁粒度: 逻辑单元(属性、元组、表、数据库),逻辑单元(属性、元组、表、数据库),物理单元(数据页、索引页、数据块)。物理单元(数据页、索引页、数据块)。 OODBMSOODBMS中中锁的粒度锁的粒度: 数据库、类、对象、属性、物理页等。数据库、类、对象、属性、物理页等。22多粒度多粒度封锁封锁u允许类层次中的每个结点单独加锁允许类层次中的每个结点单独加锁u对一个结点加锁,其下层结点也被加以同样类对一个结点加锁,其下层结点也被加以同样类型的隐式锁。型的隐式锁。l在多粒度封锁中一个数据对象可以两种方式封锁:在多粒度

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!