【教学课件】第八章面向对象数据库.ppt
《【教学课件】第八章面向对象数据库.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第八章面向对象数据库.ppt(63页珍藏版)》请在三一办公上搜索。
1、1,第八章 面向对象数据库,2,本章主要内容:面向对象数据模型 面向对象数据库的查询 面向对象数据库的并发控制 面向对象数据库管理系统 对象关系数据库系统,3,8.1 新应用的需求和传统数据库的局限性,关系数据库系统的不足:(1)关系模型结构简单,不能很好模拟复杂对象(2)数据类型简单,没有定义抽象数据类型的能力(3)结构与行为完全分离,使数据库中的信息仅能由识别他们的应用程序解释执行;(4)查询实现复杂,连接优化降低了存取效率。,下下,4,OODB vs RDB,RDBMS,Original,Stored,Recovered,5,89年1月,在美国ANSI/X3/SPARC的数据库系统研究组
2、(DBSSG)下成立了面向对象数据库任务组(OODBTG),专门对对象数据管理的标准化进行了研究。90年高级DBMS功能委员会发表了第三代数据库系统宣言的文章,文章中提出了第三代DBMS应具有的基本特征:,(1)支持面向对象的数据模型,支持复杂数据类型;(2)具有第二代数据库系统的优点,即高效、安全、方便(3)具有开放性,即支持数据库标准(SQL)、网络协议、适应多种软硬件平台。,6,8.2 面向对象程序设计语言,面向对象程序设计的特点支持模块化设计以主体数据(对象)为中心,以数据上的操作作为界面进行设计(结构化的方法:数据输入处理数据输出)软件复用 对象封装使程序员可以通过界面理解和操作对象
3、对象继承允许对象实现复用具有相同特征的其它对象代码 软件维护面向对象的软件开发,从分析、设计、实现和测试等阶段都是基于对象的概念,在开发和维护阶段,软件系统的结构都是一致的,易于维护。,7,面向对象程序设计方法在计算机多个领域产生深远影响程序设计语言人工智能软件工程信息系统设计计算机硬件设计数据库面向对象数据库系统:ObjectStore、O2、Orion、Versant、Gemstone、Itasca,8,面相对象数据库系统在许多应用中取得了进展:,(1)计算机辅助设计与制造(CAD/CAM);(2)计算机集成制造(CIM);(3)计算机辅助软件工程(CASE);(4)地理信息系统(GIS)
4、;(5)企业资源规划(ERP);(6)能源管理系统(EMS)。,9,OO数据模型用面向对象的观点描述现实世界对象的逻辑组织、对象之间的限制、联系的模型称为OO数据模型。OO模型的核心概念对象属性集合 描述对象的状态、组成和特征方法集合 描述对象的行为特征消息集合 是对象向外提供的界面,由对象接收和响应简单对象、复杂对象,8.3 面向对象数据模型,10,对象标识每个对象都有一个内部标识符OID,OID在整个系统中 是唯一的,一旦生成就不能改变。OID的表示值标识 由对象的属性组成对象标识 指针标识 指向物理存储位置的指针作为对象标识代用品法(surrogate),与对象的内部属性无关。,11,封
5、装每个对象都是其状态和行为的封装体。类 具有相同特征对象的集合;对象为类中的实例。类本身看作对象,称为类对象。面向对象数据库模式是类的集合,形成类层次结构类层次一组相关类形成类层次结构子类、超类子类和超类的关系体现了“is A”的语义,12,类层次的例子,类层次 一组相关类形成类层次结构子类、超类子类和超类的关系体现了“is A”的语义,13,继承 子类和超类间具有继承关系子类继承超类的属性和方法。单继承和多继承 解决同名冲突的方法:子类与超类间的同名冲突按子类优先处理;多个超类间的同名冲突,按说明超类的先后取第一个超类中的定义 或 规定继承的超类;提供显式方法:从多个冲突的实例变量或方法中继
6、承一个;继承多个,在类定义中重新命名。,14,多态性 同一操作有不同的实现,取决于具体对象。如“”法 滞后联编对对象操作的编译推迟到运行时实现,称滞后联编。例:在同一个超类的不同子类上执行同一个操作。如同一个显示操作可以显示不同的数据类型:人的信息、图象,对象的嵌套复合类层次结构 书:书号、书名、作者、出版社、出版日期。作者:作者名、地址、电话 出版社:出版社名、地址、负责人,15,一般提供:对单一类中对象的查询 以类为根的类层次上的查询。二类索引:类层次索引 嵌套属性索引,8.4 面向对象数据库系统的查询,16,类层次索引 建立在类C的属性A上的一个类层次索引,是以该类为根的类层次中所有类在
7、属性A上的单一索引,属性A称为索引属性,类C称为索引类。在单一类上建立的索引称为单一索引。,8.4 面向对象数据库系统的查询,17,嵌套属性索引 在复合类层次的某个类的属性上建立索引。这种索引是以索引类为根的类复合层次中某个类的属性,该属性称为索引类的嵌套属性。,书:书号、书名、作者、出版社、出版日期。作者:作者名、地址、电话 出版社:出版社名、地址 若在auth_name上建立book的嵌套属性索引,可找到某个作者的所有书,以加快查找速度。,下下,18,定义图书类:class book book_no:string;book_name:string;written_by:author;pub
8、lisher_by:publisher;date_of_publation:date;new();class author;class publisher;,19,OODB语言标准,大多采用了扩充SQL语言的方法,称为OSQL。例:检索作者为严亮的“数据库原理”书的出版社名。SELECT b.published_by.publi_name FROM b IN book WHERE b.book_name=“数据库原理”AND b.written_by.auth_name=“严亮”;,8.4 面向对象数据库系统的查询(续),20,在OODBS中的更新处理:(1)当一个事务访问某个类的实例时其它事
9、务不能对这个类的任何超类进行修改。(2)一个事务在查询计算时其它事务也不能修改该类的所有子类。查询一个类时要对该类和所有子类进行评估。在OODBMS中需要提供更复杂的锁机制,需要锁更多的语义信息。,8.5 面向对象数据库系统的并发控制,21,8.5 面向对象数据库系统的并发控制,多粒度锁,锁的粒度有:RDBS中的锁粒度:逻辑单元(属性、元组、表、数据库),物理单元(数据页、索引页、数据块)。OODBMS中锁的粒度:数据库、类、对象、属性、物理页等。,22,多粒度封锁,允许类层次中的每个结点单独加锁对一个结点加锁,其下层结点也被加以同样类型的隐式锁。在多粒度封锁中一个数据对象可以两种方式封锁:显
10、式封锁和隐式封锁,23,多粒度封锁,显式封锁通过上锁命令(LOCK)直接加到数据对象上的封锁;隐式封锁该数据对象没有独立加锁,是由于其上级结点加锁而使该数据对象隐式加了锁。隐式锁和显式锁的作用是一样的,24,对某个数据对象加锁 时系统检查的内容,该数据对象有无显式封锁与之冲突 所有上级结点检查本事务的显式封锁是否与该数据对象上的隐式封锁冲突:(由上级结点封锁造成的)所有下级结点看上面的显式封锁是否与本事务的隐式封锁(加到下级结点的封锁)冲突。,25,意向锁(intention lock),例:事务T对类C 加X锁,系统必须检查其所有超类结点有无冲突、所有子类有无冲突,如果有冲突,则T等待。,引
11、进意向锁目的提高对数据对象加锁时系统的检查效率 引入意向锁,在某对象实例上加S或X锁前,先在其祖先结点上加意向锁,事务T对类C请求 加X锁时,只要检查该类上的意向锁即可。,26,什么是意向锁对任一结点加基本锁,必须先对它的上层结点加意向锁如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁,意向锁,27,常用意向锁,意向共享锁(Intent Share Lock,简称IS锁)意向排它锁(Intent Exclusive Lock,简称IX锁)共享意向排它锁(Share Intent Exclusive Lock,简称SIX锁),28,意向锁:IS、IX、SIX意向共享锁(IS):对一个数据
12、对象加IS锁,表示事务可能对类中的实例显式请求S锁。意向排它锁(IX):在类上加IX锁表示事务可能对类中实例显式请求X或S锁。,意向锁,29,共享意向排它锁(SIX)SIX=S+IX,在类上加SIX锁表示对类中所有实例都隐式地加了S锁。表示该事务要读类中实例,还可能对一些实例请求X锁。因此,仅允许其它事务读但不允许更新类中的实例。,SIX锁的引入是必要的。合适于需要查询类中的大量实例而仅更新少数实例的情况。否则,若仅加IX锁,对只需读操作的那些实例为防止其它事务写都要加S锁,增加了锁的开销。,30,共享锁(S):加S锁表示该事务读类中实例。排它锁(X):该事务要修改类中的实例,请求X锁。,31
13、,32,在OODBS中多粒度加锁的规则:(1).若事务对类层次中的某个粒度上加S锁,则在其所有祖先上都要加IS锁。(2).若事务对类层次中的某个粒度上加X锁,在该粒度的所有祖先粒度上要加IX锁或SIX锁。(3).若事务已获得对一个类的某个锁,则该类的所有子孙也隐含获得同样的锁。(4).加锁从类层次的根开始依此往下进行直到事务申请锁的那个粒度,而解锁时的顺序则是由下而上的。,33,例:已知学校人员的类层次结构,若事务T要修改李伟峰教授的属性值,则不同层次的加锁顺序和锁类型。(1)给类人加IX锁,(2)给类教职工加IX锁,(3)给类教师加IX锁,(4)给类教授加IX锁,(5)给对象李伟峰加X锁。解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第八 面向 对象 数据库
链接地址:https://www.31ppt.com/p-5663306.html