Saltar la navegación

3.- Gestores de bases de datos orientadas a objetos.

Caso práctico

Foto de Juan mirando al frente.

Esta mañana, Juan ha preparado una serie de sistemas de bases de objetos diferentes, para instalarlos e ir probando algunas de sus características.

Juan le pregunta a Ana —¿Sabes qué al contrario de las bases de datos relacionales, los gestores de bases de datos orientados a objetos pueden llegar a ser muy diferentes entre sí?

A lo que Ana responde —Sí, en clase estuvimos trabajando con diferentes sistemas, precisamente para dar fe de ello, y..., quiero recordar que había una que tenía el nombre de un pintor francés. ¿Matisse?

—Efectivamente —dice Juan—, pero hoy he pensado en ver la base de objetos Db4o, que es la que actualmente utiliza el sistemas de trenes español AVE. ¿Lo sabías?

Dibujo que muestra la palabra SGBDOO, y debajo Tecnología de Bases de Datos + Tecnología de Objetos, éstas últimas sobre una elipse gris. Las palbras son de diferentes colores: rojo, verde y violeta.

Un Sistema Gestor de Bases de Datos Orientada a Objetos (SGBDOO) y en inglés ODBMS, Object Databas Management System) es un software específico, dedicado a servir de interfaz entre la base de objetos, el usuario y las aplicaciones que la utilizan. Un SGBDOO incorpora el paradigma de Orientación a Objetos y permite el almacenamiento de objetos en soporte secundario:

  • Por ser SGBD debe incluir mecanismos para optimizar el acceso, gestionar el control de concurrencia, la seguridad y la gestión de usuarios, así como facilitar la consulta y recuperación ante fallos.
  • Por ser OO incorpora características de identidad, encapsulación, herencia, polimorfismo y control de tipos.

Cuando aparecieron las bases de datos orientadas a objetos, un grupo formado por desarrolladores y usuarios de bases de objetos, denominado ODMG (Object-Oriented Database Management Group), propuso un estándar que se conoce como estándar ODMG-93 y que se ha ido revisando con el tiempo, pero que en realidad no ha tenido mucho éxito, aunque es un punto de partida.

Al medio que permite a una persona comunicarse con una máquina.

Colección de métodos abstractos y propiedades en las que se especifica qué se debe hacer pero no su implementación. Serán las clases que implementen estas interfaces las que describan la lógica del comportamiento de los métodos.

Debes conocer

Desde el siguiente enlace te puedes descargar un resumen de las características del estándar ODMG.

Resumen del estándar ODMG.-

¿Qué estrategias o enfoques se siguen para el desarrollo de SGBDOO? Básicamente, las siguientes:

  • Ampliar un lenguaje de programación OO existente con capacidades de BD (Ejemplo: GemStone).
  • Proporcionar bibliotecas de clases con las capacidades tradicionales de las bases de datos, como persistencia, transacciones, concurrencia, etc., (Ejemplo: ObjectStore y Versant).
  • Ampliar un lenguaje de BD con capacidades OO, caso de SQL 2003 y Object SQL (OQL, propuesto por ODMG).

Tal y como estarás pensando, la carencia de un estándar real hace difícil el soporte para la portabilidad de aplicaciones y su interoperabilidad, y es en parte por ello, que a diferencia de las bases de datos relacionales donde hay muchos productos donde elegir, la variedad de sistemas de bases de datos orientadas a objetos es mucho menor. En la actualidad hay diferentes productos de este tipo, tanto con licencia libre como propietaria.

A continuación te indicamos algunos ejemplos de SGBOO:

  • Db4o de Versant. Es una BDOO Open Source para Java y .NET. Se distribuye bajo licencia GPL.
  • Matisse. Es un SGBOO basado en la especificación ODMG, proporciona lenguajes para definición y manipulación de objetos, así como interfaces de programación para C, C++, Eiffel y Java.
  • ObjectDB. Es una BDOO que ofrece soporte para Java, C++, y Python entre otros lenguajes. No es un producto libre, aunque ofrecen versiones de prueba durante un periodo determinado.
  • EyeDB. Es un SGBOO basado en la especificación ODMG, proporciona lenguajes para definición y manipulación de objetos, e interfaces de programación para C++ y Java. Se distribuye bajo licencia GNU y es software libre.
  • Neodatis, ObjectStore y GemStone. Son otros SGBDOO.
Capacidad de que una aplicación diseñada para que acceda a una determinada base de datos de objetos pueda acceder a otro paquete SGBDOO. Para ello, ambos paquetes deben soportar un mismo estándar.
Posibilidad de que una apliación pueda acceder a datos almacenados en diferentes SGBDOO e inluso en diferentes sistemas de bases de datos.