18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 面向对象数据库管理系统(数据库)

面向对象数据库管理系统(数据库)

时间:2022-11-02 06:30:01 | 来源:信息时代

时间:2022-11-02 06:30:01 来源:信息时代

    面向对象数据库管理系统 : 基于面向对象数据模型,提供面向对象数据库语言,支持面向对象数据库设计,实现复杂数据管理的数据库管理系统。开发面向对象数据库管理系统基本上采用以下三种途径:
(1)面向对象程序设计语言的持久化: 这种面向对象数据库系统的实现方法是充分利用面向对象程序设计语言的编程能力,以其为核心,增加传统数据库的功能,使其成为具有持久性数据管理能力的程序设计语言,形成面向对象数据库管理系统。这一途径主要采用ODMG标准,典型产品有Gemstone和ObjectStore等。
Gemstone系统是美国Servio Logic公司自1986年开始开发的面向对象数据库系统。它支持对象标识、复杂对象和大对象。其数据库语言合成数据定义与操作,是一种可扩展的、计算完备的语言,支持对象封装、类、继承和滞后联编(late binding)。Gemstone系统采用客户/服务器(C/S)结构,提供异构的分布式处理能力。Gemstone系统提供了C、C++、Smalltalk语言的接口。
ObjectStore是美国Object Design公司于1989年推出的面向对象数据库产品。它的优点在于将C++与数据库功能充分相结合,用对象的概念将两者统一,将对象区分为临时性和持久性两种,C++中的对象为临时性对象,数据库中对象为持久性对象,这种方法将C++与数据库统一于面向对象基本概念之中,同时又能够以相同形式统一表示,使得C++与数据库功能融为一体。
(2)关系数据库管理系统的对象化: 这一途径的思想是以关系数据库为核心,增加面向对象技术,使之具有面向对象数据库管理功能。这种方法主要是将关系数据库的类型系统开放,允许用户定义自己的抽象数据类型。这是一种十分自然的研发方法,其原因在于关系数据库系统积累了相当成功的经验,并为业界广泛接受,若将成熟的关系数据库与面向对象思想结合起来,并在保持现有数据库功能的基础上适应新的应用需求,可以减少研制的工作量,缩短研制周期。这种途径普遍采用SQL-3标准。
美国加州大学Berkeley分校研制的对象关系数据库Postgres是这种途径的典型代表系统。它开放源码,提供多版本并发控制,支持几乎所有SQL构件(包括子查询、用户定义类型和函数等),并且可以获得多种语言绑定(包括C,C++,Java,perl,tcl和python)。
(3)纯粹面向对象数据库管理系统: 这种途径的构思是基于面向对象数据模型,一切从零开始,独立开发面向对象数据库管理系统。该方法将面向对象技术与数据库技术结合起来,从支持对象存储管理器开始构造完全体现面向对象特征的数据库系统,消除了数据库系统与应用之间的语义断层,从而使面向对象数据库系统结构更清晰,效率更高。典型代表系统有Iris、O2等。
Iris是在20世纪90年代初,由惠普实验室(Hewlett-Packard Laboratories)开发的面向对象数据库管理系统。开发Iris的目的是增强数据库程序员的生产力和对将来各种应用提供支持,比如在工程信息管理、工程测试与测量、知识库系统方面等。
O2是O2 Technology公司于1991年推出的面向对象数据库管理系统,其面向对象表示能力强,同时数据库管理功能也很完整,并有一套完整的开发工具。O2不仅能用于传统的商务与事务应用,而且适用于一些新的应用领域,如CAD/CAM、地理和城市系统、编辑信息系统和办公自动化等。
O2系统的体系结构如图 1所示,其核心是O2Engine。O2Engine存储结构化多媒体对象。它控制磁盘管理(包括缓冲区、索引、聚簇和I/O)、数据分布、事务管理、并发控制、故障恢复和数据安全。
O2Engine能支持两种类型的接口:语言接口(C和C++)和O2环境。语言接口使C或C++程序通过声明O2模式、组装和操作O2数据库的方式来利用O2Engine的服务。用户可以利用完全的O2环境。这个环境包括: 一种查询语言O2Query; 一个用户接口生成器O2Look;一种对象语言O2C;一个图形化的编程环境,包含一个调试器和一个可查看模式和数据库的浏览器。
O2Query类似于SQL语言,但是它被扩展成能处理复杂对象。它是O2C的一个子集,但可单独用来作为一种专门的交互式查询语言或作为可由C、C++调用的函数。


图1 O2系统的体系结构


O2Look是用户接口生成器,支持大的、复杂的多媒体对象在屏幕上的显示与操作。O2Look提供函数操作和显示O2对象。
O2Tools是支持O2应用开发的图形化编程环境。它允许程序员浏览、编辑和查询数据与模式,并允许编辑、测试和调试方法与程序,还提供能简化程序员工作的工具。O2Tools由O2C实现,其接口是用O2Look构建的,所以它是一个O2的应用。
O2既是一个数据库系统,又是一个面向对象程序设计环境。作为一个数据库系统,O2Engine必须支持对大量持久、可靠、安全和共享的数据的访问和更新。作为一个面向对象程序设计环境,O2Engine必须支持所有O2数据模型:具有对象标识的复杂对象、类、类型、封装、重载和方法的滞后联编。O2Engine主要由三层组成:
(1)模式管理器: 负责类、方法和全局名称的创建、检索、更新和删除; 处理模式之间的输入机制;负责执行语义继承和检查模式的一致性。
(2)对象管理器: 处理具有标识的对象和传递消息; 管理构造值和它们的结构操作; 实现可达到的永久性、不被引用的对象的垃圾回收以及实现基于复杂对象和继承的索引与聚簇策略。对象管理器有一个由复杂对象管理器、消息传递管理器、事务管理器、聚簇管理器和索引管理器组成的外部层,还有一个用于管理对象缓冲区的中间层,此外,还有一个通信层。在服务器端,通信管理器监管来自客户端的请求并把它们发送到相应的模块。
(3)存储系统:扩展Wisconsin存储系统(WiSS)来为O2提供磁盘管理服务。它提供持久性存储、磁盘管理和平面记录的并发控制。WiSS提供如下持久性结构: 结构化记录顺序文件、非结构化文件和长数据项。所有这些结构都被映射到磁盘页面。WiSS还能为磁盘管理提供索引以及实现对磁盘页面的物理位置的完全控制。WiSS忽视操作系统的文件系统并有自己的缓冲区。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭