精华内容
下载资源
问答
  • 面向对象数据库

    2012-06-18 21:47:54
    重点介绍面向对象数据库,图文并茂,代码详尽!
  • 面向对象数据库简介

    千次阅读 2020-03-03 21:18:18
    面向对象数据库(OODB)是一个基于面向对象编程语言(OOP)的数据库,其数据都是以对象/类的形式表示并存储在面向对象数据库中。简单来讲,面向对象数据库 = 面向对象编程语言 + 关系型数据库特性。在这个公式里面,面向...

    面向对象数据的定义

    面向对象数据库(OODB)是一个基于面向对象编程语言(OOP)的数据库,其数据都是以对象/类的形式表示并存储在面向对象数据库中。简单来讲,面向对象数据库 = 面向对象编程语言 + 关系型数据库特性。在这个公式里面,面向对象编程语言的三个特性为继承、多态、封装;而关系型数据库特性的三个特性:实体完整性、并发、查询处理,因此可用下图[1]表示面向对象数据库。
    在这里插入图片描述

    关系型数据库的问题

    传统的关系型数据库存在一些约束:

    • 数据以简单的二维表形式将数据存储,每个元组的字段不可分。
    • 类型必须为内置的有限几种类型。
    • 不能用一个独立的单元表示一个复杂实体。
    • 不能定义属于某个类型的复杂处理操作。

    因为以上提出的约束,在传统关系型数据中,应用程序不能直接使用SQL查询返回的结果,需要执行装箱和拆箱操作:即需要显式地将返回的字节序列转换到相应编程语言下的类型 (拆箱),当数据需要存储回数据库前 ,也需要完成上述转换的逆过程(装箱)。举个例子[2],假设在数据库中存有一个零件表格part:

    create table part ( //零件关系part的schema
        int Pno,
        char(15) pname,
        char(10) psize,
        char(5) pcolor
    );
    

    应用程序使用C语言访问pno = 16的零件,需要按照如下伪代码地形式预处理:

    Define cursor P as Select * From Part Where pno = 16; //用游标读取数据库
    struct Part { //应用程序访问时需定义Part类型
        int number;
        char* name;
        char* bigness;
        char* color;
    } Example_part;
    //将打开的part表格的游标转换到Example_part类型上去
    Open P into Example_part Until no-more{
        Fetch P (
        Example_part.number = pno,
        Example_name = pname,
        Example_part.bigness = psize,
        Example_part.color = pcolor);
    }
    //对访问的结果进行后续操作
    

    上述例子表明,由于SQL查询返回的结果独立于任何编程语言,应用程序访问SQL查询结果时必须先将结果绑定到应用程序中的自定义类型上去,随后才能对数据执行操作。并且SQL中的数据类型不能为每种实体定义相应的复杂操作,应用程序需要手动实现这些对实体数据的操作代码。此外,由于不能自定义数据类型以及封装处理数据对象的操接口, 用户必须显式地管理不同数据表格之间的关联关系,为了保证完整性需要定义主键,为复杂的数据操作和事务写相应存储过程

    面向对象数据库的应用场景

    一般的数据库应用程序例如银行,教务处等需要应对的数据类型结构简洁,进行数据库设计和应用程序设计时负担较小。但是对于那些不得不与复杂,特殊化的数据结构打交道的新型的数据库应用,例如卫星数据应用,CAD建模应用,多媒体数据库应用,让应用程序显式地管理数据表格之间的关联关系、定义复杂的主键、实现复杂的存储过程无疑是不现实的。在这些应用场景下,传统关系型数据库性能较差,例如实现一个最近邻查找可能都需要引入join操作。

    面向对象数据库在1985年左右应运而生,主要是希望解决上述问题,他们主要以工程应用软件作为其市场[2]。当然,由于OODB缺乏数据保护、访问控制机制、查询处理和事务处理系统,大部分OODB并不将商业数据处理作为他们市场,这也是OODB数据库无法获得较高数据库市场占有率的根本原因。

    面向对象数据库以对象作为存储的基本单位,多个类型相同的对象的集合成为一个类。现实世界的任一实体都被统一地模型化为一个对象,每个对象有一个唯一的标识,称为对象标识。借助持久性编程语言的底层特性,任何对象从磁盘读入内存和写回磁盘均能隐式地保证,在内存中的数据只是数据库中该对象的临时副本,应用程序可以调用属于该对象的接口,处理封装在对象内部的数据,类似C++和java那样。

    面向对象数据库的优缺点

    最后总结而言,面向对象数据库相比关系型数据库的优缺点如下[3]:

    优势

    • 数据模型为语义数据模型,基于现实世界。
    • 对象访问不需要装箱和拆箱操作,节省编程和执行时间。
    • 更好的并发控制 – 对象的层次结构可能被锁定。
    • 在分布式架构状态下可以很好的工作。

    劣势

    • 关系表更简单易懂,数据结构的存储较为简单。
    • 数据间的关系相对简单时,面向对象数据库效率较低。
    • 关系数据库有更多的工具,对事务处理,分析型数据处理任务的支持更好。
    • 关系型数据库拥有统一的标准,相应的服务和支持更加稳定。

    参考文献

    [1]. What is an Object-Oriented Database, https://study.com/academy/lesson/what-is-an-object-oriented-database.html 2020,2,24

    [2]. Joseph M. Hellerstein and Michael Stonebraker. What Goes Around Comes Around. Readings in Database Systems, 4th Edition (2005)

    [3]. 面向对象数据库,https://tson.com/object-oriented-databases-translate/ 2020,2,24

    展开全文
  • java面向对象数据库

    2015-08-27 17:13:51
    java面向对象数据库
  • 为选择合适的数据库以高效地管理符合IFC标准的数据,分别利用面向对象数据库和关系数据库管理IFC数据并进行效率比较。首先介绍IFC标准并分析其数据特点,随后针对利用IFC实体对象所表示的简单信息、组合信息及复杂...
  • 面向对象数据库系统及其应用.pdf面向对象数据库系统及其应用.pdf面向对象数据库系统及其应用.pdf面向对象数据库系统及其应用.pdf面向对象数据库系统及其应用.pdf面向对象数据库系统及其应用.pdf面向对象数据库系统...
  • 通过对比传统数据库的不足来说明面向对象数据库的优点,讲述面向对象数据库中的七种关键技术:数据库转换﹑模式演进﹑索引﹑事务管理﹑视图实现﹑版本管理﹑安全建模,介绍面向对象数据库的几种实现方法和发展前景。
  • 面向对象数据库系统

    千次阅读 2018-04-23 09:05:14
    在面向对象的方法中,对象作为描述信息实体的...深圳IT 外包 http://www.lankuai.info面向对象数据库的实现一般有两种方法:一种是纯粹的面向对象数据库技术,用于构建面向对象技术的数据库;另一种是在现有关系...

    在面向对象的方法中,对象作为描述信息实体的统一概念,把数据和对数据的操作融为一体,通过方法类、继承、封装和实例化机制来实现信息含义的存储和描述。因此,对象可以自然、直观地表达复杂结构对象,并用操作封装来增强数据处理能力。

    深圳IT 外包  http://www.lankuai.info

    面向对象数据库的实现一般有两种方法:一种是纯粹的面向对象数据库技术,用于构建面向对象技术的数据库;另一种是在现有关系数据库基础上增加对象管理的技术,从而构成面向对象数据库。由于面向对象数据库支持的对象标识符、类属联系、分属联系、方法等概念很难实现存储和管理,所以第一种方法实现起来成本比较高。因此,大多数人将目光转到改造和优化现有的关系数据库上,这种基于关系数据库实现的对象数据库又称为对象关系数据库。

    对象关系数据库增强了关系数据库的数据管理能力,是对关系数据库的改进,同时也是对象数据库理论的一种实践应用。对象关系模型是指在关系数据库模型的基础上增加了对复杂数据类型的查询规则的模型。通过复杂数据类型管理,关系数据库中元组的属性可以是复杂的数据类型。这种数据库的演变是为了扩展有数据库系统的建模能力,而不是破坏已有的成熟的数据模型。基于对象关系模型的对象关系数据库系统为那些想在关系数据库中使用面向对象特征的用户提供了一种便利的操作途径。

    对象关系数据库系统集成了关系数据库系统的优点和面向对象数据库的建模能力,具有用户根据应用需要扩展数据类型和函数的机制,支持复杂类型的存储和操作能力。由于对象数据库系统增强了面向对象的建模能力,因此具有面向对象数据库的特征和优点,是目前关系数据库系统发展的一个新方向。

    展开全文
  • 面向对象数据库的推理查询语言,是一篇论文,作者分析研究
  • 本文提出利用Java语言的特点和面向对象数据库00DB设计思想,通oDBC访问数据库,直接在数据库中存储复杂数据结构的类代码,包括变量和数据处理函数等功stw块,需要时直接从数据库中将类字节码取出,再由虚...

    在数据库的开发过程中,经常会碰到这样的情况,数据结构复杂,并且要兼容以前的历史数据。为了能快速适应新的改动,就要频繁修改表的结构,处理不同结构间的转换。如果是客户用民务器模式,还要更换客户端代码。本文提出利用Java语言的特点和面向对象数据库00DB设计思想,通oDBC访问数据库,直接在数据库中存储复杂数据结构的类代码,包括变量和数据处理函数等功stw块,需要时直接从数据库中将类字节码取出,再由虚拟机解释运行。Java的踏平台性使预先编译好的类可以服务于多种平台,并且可以直接在数据源进行数据处理,只把结果传回,减少了网络通信量。另外,当需要在数据库中增加新功能或修改数据结构时,只需重新编译类代码即可,提高了数据库维护效率。1面向对象数据库(00DB)设计思想面向对象观点认为:任何一个系统是由若干个对象和这些对象间的相互作用构成。其中对象由数据和操作两部分组成。对象具有自主性、封装性和动态性。将面向对象作为方法学应用到软件工程的各个阶段,其实质就是寻找对象及各对象间的相互作用关系。在需求分析阶段,面向对象分析是对真实世界对象建模,其根本出发点是站在应用的角度对问题域进行刻画和描述,这样有利于对问题的理解。需求分析阶段的结果是:问题陈述十对象模型十动态模型十功能模型。设计阶段是对原对象模型进一步描述。此阶段可用面向对象方法实现数据库的设计。面向对象的概念使数据库设计与编程成为可重用,可作为建立复杂数据库和程序的基础,其封装和继承这些面向对象的概念隐含着强有力的数据类型设施面向对象的方法可自然地表示嵌套对象,很容易表达层次数据,还可方便地构造各种类型。A00DB中,最基本的概念是对象。在这里,对象可以是现实世界中任何有意义的实体,每个对象有一个唯一的对象标识(OID);具有相同结构和行为的对象组成类,类中的每个对象为类的一个实例。一个对象类可以定义成0(AI,,An,MI,一,MIn),其中Al(i,…,n)为对象的属性,定义在域Di上;啊ol,,m)为对象的方法,其退回值定义在城q上。因为对象是程序运村时在内存中动态建立的,因此超出程序运行范围后,对象就不复存在。但是,我们经常希望能存储对象,目前常用的提供对象持久性的方法是:把对象的结构写到某些永久的存储设备中,如磁盘,但因为00P数据结构不容易映射成传统的文件和关系数据库格式,所以效果不甚理想。本文校用Java语言直接将对象即类的中间代码写入数据库中,利用Java语言一些装载类的特殊功能,来改善对象的持久性。2方法调用机制在面向对象数据模型中,对象的行为是由方法来表示的。由于要支持方法,使得一个00DBMS的实现要比关系型数据库管理系统的实现复杂得多,这主要体现在体系结构的设计、数据库模式的管理、查询处理等方面。所有这些均与方法的调用机制有关。在面向对象数据库中,对象的一个方法实际上就是一段程序。传统的描述语言一般有两种:1)为00DBMS设计一个集数据库操作和程序设计为一体的界面语言00DBL,应用的开发和方法的描述都用这个语言。这种系统一般采用解释方法实现。对用C十等通用程序设计语言来描述。由于在面向对象数据库中,00DBMS由开发者研制,方法却是由用户定义的,二者属于不同执行空间,00DBMS的核。u无法直接调用用户定义的方法。如何实现有效的方法调用成为00DBMS的关键技术之一。解决的方法一般有静态链接法和动态链接法从实现的角度来看,最好能通过动态链接实现方法的调用。即先将用C十这类语言编写的方法编译成目标码,当某个方法被调用时,动态链接入00DBMS进程,使方法代码与00DBMS成为同一

    展开全文
  • 关于面向对象数据库的论文,综述型的阐述了面向对象数据库的原理。
  • 下载地址:网盘下载面向对象数据库系统及其应用全面、系统地介绍面向对象数据库系统的基本原理、技术与应用,内容包括面向对象数据库的基本思想、方法,面向对象数据库的结构、语言、产品等,面向对象数据库应用系统...
    下载地址:网盘下载

     

     

    面向对象数据库系统及其应用全面、系统地介绍面向对象数据库系统的基本原理、技术与应用,内容包括面向对象数据库的基本思想、方法,面向对象数据库的结构、语言、产品等,面向对象数据库应用系统的分析、设计与实现,面向对象数据库的应用。为帮助读者全面、深刻地了解面向对象数据库,本书对与其相关知识如面向对象方法及数据库系统的有关内容也做了介绍。

    面向对象数据库系统及其应用重视基本概念与基本原理的介绍,同时也重视基本原理与应用的结合,读者阅读本书后将知道如何利用面向对象方法去解决应用中的问题。本书内容深入浅出,文字浅显易懂,叙述条理清楚,读者只要具有基本计算机专业知识(包括基本数据库知识)即可阅读此书,因此本书也非常适合于自学。

    面向对象数据库系统及其应用可作为高等院校计算机及相关专业的本科高年级选修课教材和研究生教材,也可供从事面向对象数据库方面工作的科研人员、从事计算机软件开发及应用的IT专业人员参考。

     

     

    下载地址:网盘下载

     

    转载于:https://www.cnblogs.com/long12365/p/9731482.html

    展开全文
  • java基础面向对象数据库全方位只是总结。便于理解,附代码
  • 面向对象数据库-对象型关系数据库-oracle
  • 面向对象数据库系统课程实践 面向对象数据库系统课程实践
  • 面向对象数据库论文

    2007-04-02 21:44:55
    最新面向对象数据库技术
  • 面向对象数据库的产生主要是为了解决“阻抗失配”,它强调高级程序设计语言与数据库的无缝连接。什么叫无缝连接,假设你 不用数据库,用C语言编了一个程序,你可以不需要(或基本不需要)任何改动就将它作用于数据库...
  • 一个php面向对象数据库操作类库,注意使用时最后不要忘记关闭数据路连接$SqlDB->Close();当然这句可以不要,php会自动注销!但是这样能够养成一个好的习惯,最好还是加上!
  • 2011面向对象数据库实验_ustc,实验要求,实验内容
  • 嵌入式面向对象数据库的信息家电研究论文 需要CAJViewer阅读器打开文档
  • 面向对象数据库系统课程讲义的资料幻灯片格式
  • 中科大 面向对象数据库 实验 versant
  • 基于面向对象数据库的本体存储研究,李常友,龙毅宏,本体的存储技术是一个值得研究的热点,本体存储方式直接关系到本体的查询效率。目前本体存储方式主要以关系数据库为主,但基于关
  • 现在正在从事面向对象数据库在国内的推广工作,如果有兴趣可以与我联系。如果有任何问题可以私信我,也可以到我们网站上 面向对象数据库交流社区 来向我提问,我一定以最快的速度解答。 想把 面向对象数据库...
  • 如今正在从事面向对象数据库在国内的推广工作,假设有兴趣能够与我联系。假设有不论什么问题能够私信我,也能够到我们站点上 面向对象数据库交流社区 来向我提问,我一定以最快的速度解答。 想把 面向对象...
  • 面向对象数据库把面向对象的方法和数据库技术结合起来,使得数据库的分析、设计最大程度地与人们对客观世界的认识相一致,是数据库技术中巨大的进步。概述了面向对象数据库的特征、优势及其重要技术,并对这一技术...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,842
精华内容 9,536
关键字:

面向对象数据库