您好,欢迎访问三七文档
第**小组Page2目录Page3面向对象数据库系统ObjectOrientedDataBaseSystem,OODBS是数据库技术与面向对象程序设计相结合的产物。面向对象数据库系统全面支持面向对象数据模型OODM,它是以面向对象方法为指导并对数据库模型做语义解释后构成的。以OODM为核心所构成的数据库称为面向对象数据库(ObjectOrientedDataBase,OODB),以OODB为核心所构成的数据库管理系统称为面向对象数据库管理系统(ObjectOrientedDataBaseSystem,OODBS)。所以OODBS表达为:“面向对象系统+数据库能力”,其主要特点是具有面向对象技术的封装性和继承性,提高了软件的可重用性·猜猜我是谁?真相只有一个面向对象数据库系统OODBS基本设计思想:一方面把面向对象语言向数据库方向扩展,使应用程式能够存取并处理对象;另一方面扩展数据库系统,使其具有面对对象的特征,提供一种综合的语义数据建模概念集,以便对现实世界中复杂应用的实体和联系建模。Page4在数据模型方面,引入面向对象的概念:对象、类、对象标识、封装、继承、多态性、类层次结构等。在数据库管理方面,提供与拓展对持久对象、长事务的处理能力以及并发控制、完整性约束、版本管理和模式演化等的能力。在数据库界面方面,支持消息传递,提供计算能力完备的数据库语言,解决数据库语言与宿主语言的失配问题,并且数据库语言应具有类似SQL的非过程化的查询功能。除此之外,还要求兼顾对传统的关系数据的管理能力。面向对象数据库系统主要研究的问题有:对象数据模型、高效的查询语言、并发的事务处理技术、对象的存储管理、版本管等。没错,就是我少年英雄小哪吒Page5面向对象的基本概念超红小胖子,身世迷离ObjectOrientedProgramming对象以···为向导的程序设计面向对象的程序设计就是使用对象进行程序设计,简写成OOP面向对象数据库系统(ObjectOrientedDataBaseSystem,OODBS)=数据库技术+面向对象程序设计Page6面向对象的基本概念隔壁王叔叔好数据库中的每个事物都看作是一个对象,对象具有一个唯一的标识符,即对象标识(ObjectIdentifier,OID)。每个对象都封装一个状态和一个行为,即对象由一组属性和一组服务操作组成。对象的状态是该对象属性值的集合(一组数据),对象的行为是在对象状态上操作的方法(程序代码)的集合。一个对象的属性可以是简单的数据类型(整型、字符等),也可以是对象或对象的组合。方法用以描述的行为特征。一个方法实际上是一段可对对象操作的程序。方法可以改变对象的状态,所以称之为对象的动态特征。与关系模型实体概念相比,对象模型中的对象概念更为全面。如:计算机静态特征属性CPU型号硬盘大小内存大小动态特征属性开机关机Page7面向对象的基本概念我是你们童年的伙伴,你一定很熟悉!类(class)是一组具有相同属性和相同操作的对象的集合。一个具体的对象只是类的实例(instance)。类的概念类似于关系模型,类的属性类似于关系模型的属性;对象类似于元组的概念,类的一个实例对象类似于关系中的一个元组。类自身也可以称作是对象——类对象。封装(encapsulation)隐藏属性、方法或现实细节的处理方法称为封装,每一个对象是其属性与行为的封装,其中属性是该对象的一系列属性值的集合,行为是在对象属性上操作,操作也称方法。封装是00模型的关键概念,是对象外部界面与内部实现之间的实行隔离的抽象,外部与对象的通信是通过“消息”实现的。封装将对象的实现与对象应用互相隔离,允许对操作的实现算法和数据结构进行修改而不影响应用接口,不必修改它们的应用,这有利于提高数据独立性。封装还隐藏了数据结构与程序代码等细节,增强了应用程序的可读性。面向对象的基本概念Page8没错啦~就是我们,大象~大象~你的鼻子为什么这么长消息(message)。消息传递是对象与其外部世界相互关联的唯一途径。对象可以向其他对象发送消息以请求服务,也可以响应其他对象传来的消息,完成自身固有的某些操作,从而服务于其他对象。例如,直升飞机可以响应轮船的海难急救信号,起飞,加速、飞赴出事地点并实施救援作业。继承(inheritance)类之间可以存在继承关系。它是现实世界中遗传关系的直接模拟,可用来表示类之间的内在联系以及对属性和操作的共享。子类可以沿用父类(被继承类)的某些特征,同时子类也可以具有自己独有的属性和操作。例如,飞行器、汽车和轮船都是交通工具类的子类,它们都可以继承交通工具类的某些属性和操作。面向对象数据库的产生主要是为了解决“阻抗失配”,它强调高级程序设计语言与数据库的无缝连接。无缝连接即假设不使用数据库,而使用某种编程语言编写一个程序,可以基本不经任何改动地将它作用于数据库,即可以用编程语言透明访问数据库,就好像数据库根本不存在一样,所以也有人把面向对象数据库理解为语言的持久化。面向对象方法综合了在关系数据库中发展的全部工程原理,以及系统分析、软件工程和专家系统领域的内容,符合一般人的思维规律,将现实世界分解成明确的对象。系统设计人员用OODBMS创建的计算机模型能更直接反映客观世界,使得非计算机专业人员的最终用户也可以通过这些模型理解和评述数据库系统。这些都是传统数据库所缺乏的,正因为如此,OODBS更能在新兴应用领域中发挥作用,如:面向对象的程序设计环境、计算机辅助设计与制造、地理信息系统、多媒体应用、基于Web的电子商务,下面分别大致介绍这些应用。Page9Page10工程应用领域:此领域(如CAD/CAM)涉及到的数据种类多,操作和数据间涉及的关系都极为复杂,由于面向对象数据库实现了无缝连接,能够支持非常复杂的数据模型,从而特别适于工程设计领域多媒体应用领域:由于多媒体中数据种类很多,他们之间有复杂的联系使之成为一个整体,在多媒体领域这些要求也能在面向对象数据库中得到解决集成应用领域:随着计算机越来越集成,系统也跟着越发复杂,这要求多种应用的集成需要一个能适应不同应用要求的结构模型传统应用领域:近年来商业、事务处理的需求发生了很大的变化,而面向对象数据库很能适应这些新的变化,因此在传统领域面向对象数据库也有着重要的应用市场。Page11Pika,pikachu类对象关系数据库系统(Object-RelationalDatabaseSystem,ORDBS)实际上是一种关系数据库系统,只不过在它之上增加了面对对象的部分功能。由于对象关系数据库系统在功能上尚未有统一规范,因此它一般具有面对对象功能的一部分功能。1.扩充的数据类型与复杂的数据类型2.继承3.引用4.对象标志符OID5.函数Page12①加一个外壳,而不修改关系数据库管理系统的核心,在这种方法中,允许关系表本身作为对象,并且允许对象像表那样操作,由外壳提供对象-关系型应用编程接口,并负责将面对对象数据库语言转换成关系数据库语言,送给内层的关系数据库管理系统,这种方法实现相对容易,但可能会丧失一些性能,系统效率回因外壳的存在而受到影响。②直接对关系数据库管理系统核心进行扩充,逐渐增加对象特性,使之成为ORDBMS,这种方法比较安全,新系统的性能往往也比较高,不过改进的工作量较大。こちらの紳士,让我看到你们的双手~Page13RDBMSORDBMS和OODBMS的比较ORDBMSOODBMSORDBMS试图向关系DBMS中添加丰富的数据类型程序设计语言的无缝集成不是ORDBMS的重要目标ORDBMS是以大数据集合为重点的应用而优化设计的。如何优化磁盘访问是一个主要的问题OODBMS试图向程序语言中添加DBMS功能OODBMS的目标是实现与程序设计语言的无缝集成OODBMS的目标是适用于以对象为中心设计的应用,即典型的用户会话过程的组成是:检索很多对象,在这些对象上进行长时间工作以及偶尔访问相关对象,关注如何对对象的部分内容进行缓存。大部分应用中,一旦对象从磁盘中检索到,就能在内存中缓存。关注---使内存对象更有效。不同点我代表月亮,消灭你们!RDBMSORDBMS和OODBMS的比较Page14ORDBMS和OODBMS的相似点都支持用户定义的ADT,结构化类型,对象标识符和引用类型及继承两者都支持能操纵集合类型的查询语言,ODBMS支持SQL的扩展形式,OODBMS支持ODL/OQLORDBMS试图向RDBMS中加OODBMS特征,而OODBMS也基于关系查询语言OODBMS和ORDBMS都提供DBMS功能ORDBMSOODBMSRDBMS不支持构造数据类型和面向对象特征,ORDBMS是对RDBMS的扩展,它基于关系模型,但支持构造数据类型和面向对象特征。RDBMS和OODBMS的比较大耳朵图图,变身~相同点相同点小组成员组长组员组员组员组员组员组员组员组员组员组员呵呵~我不会轻易狗带——搜资料的来源:所学课本;百度百科;百度文库;相关书籍资料ASYOUWISH
本文标题:面向对象数据库系统
链接地址:https://www.777doc.com/doc-4878113 .html