Una base
de datos orientada a objetos es una base de datos donde
los elementos son objetos. Estos pueden ser bases de datos multimedia (videos, imágenes y
sonidos), donde la herencia nos
permita una mejor representación de la información,
estas bases
de datos tienen una identidad de
ser un Todo, y no solo una parte de una gran base, por ejemplo una base de
secuencias de ADN.
El objetivo de
una base de datos orientada a objetos son los mismos que los de las bases de
datos tradicionales, pero con la ventaja de representar las modelos de
datos con un marco mucho más eficiente, manteniendo la integridad y relación
entre ellos.
Recordemos que un objeto es una estructura que
tiene asociado un estado y
un comportamiento (propiedades
y métodos).
Estas bases tienen las características de todo lo que es orientado a objeto
que son Herencia, Polimorfmismo, Abstraccion y Encapsulamiento.
Un objeto puede heredar comportamiento de otro tipo de objetos (herencia) y
puede adaptarse para responder de diferentes maneras ante la solicitud de
una acción (polimorfismo),
lo importante es que permite representar cosas de la vida real con relativa
facilidad (abstracción) y que todo esto se puede implementar de manera que
no nos importe el código,
sino sólo la manera de comunicarnos con estos objetos pensando en ellos como
una sola unidad (encapsulamiento).
Las bases de datos orientados a objetos han adoptado muchos de los objetos
creados para los lenguajes de programación orientados
a objetos.
La utilización de una BDOO simplifica la conceptualización ya que la
utilización de objetos permite representar de una manera más natural la
información que se quiere guardar.
Para modelar la estructura o vista lógica de
la BD, se utiliza el Diagrama de
clases que permite presentar las clases con sus respectivas relaciones
estructurales y de herencia, además del Diagrama de Objetos cuando no está
muy claro y preciso cómo serían las instancias de las clases o para
especificar más el Diagrama de Clases.
Para modelar la parte dinámica,
la interacción y
comportamiento entre los objetos, se emplearía el Diagrama de Secuencia para
presentar las interacciones entre los objetos organizados en una secuencia
temporal y describir como estos objetos colaboran; así como también, el
Diagrama de Estado para mostrar los posibles estados en que puede
encontrarse un objeto y las transacciones que pueden causar un cambio de
estado, luego que ocurre un evento.
En general, cada objeto está asociado con:
Un conjunto de variables que
contiene los datos del objeto; las variables corresponden con los atributos
del modelo E-R.
Un conjunto de mensajes a los que responde; cada mensaje puede o no tener
parámetros o tener uno o varios.
Un conjunto de métodos, cada uno de los cuales es el código que implementa
un mensaje; el método devuelve
un valor como
respuesta al mensaje.
Además tienen un Nombre, Tiempo de
vida pueden ser transitorios o persistentes, estado y comportamiento.
Mandatorias: son las que el Sistema debe
satisfacer a orden de tener un sistema de BDOO y estos son: Objetos
complejos, Identidad de Objetos, Encapsulación, Tipos o clases, Sobre paso
con unión retardada, Extensibilidad, Completación Computacional,
Persistencia y Manejador de almacenamiento secundario,
Concurrencia, Recuperación y Facilidad de Query.
Opcional: Son las que pueden ser añadidas para hacer el sistema mejor
pero que no son Mandatorias, estas son de: herencia múltiple, chequeo de
tipos e inferencia d e distribución y diseño de
transacciones y versiones.
Abiertas: Son los puntos donde el diseñador puede hacer un número de
opciones y estas son el paradigma de
la programación, la representación del sistema ó el tipo de sistema y su
uniformidad. Hemos tomado una posición no muy a la expectativa para tener
una palabra final más bien para proveer un punto de orientación para un debate futuro.
La clave que posee la BDOO es el poder que
confieren al diseñador para especificar tanto la estructura de objetos
complejos como las operaciones que
se pueden aplicar a esos objetos.
Está su flexibilidad, y soporte para el manejo de tipos
de datos complejos. Ya que puedo tener clases y subclases creadas por
ejemplo una base de clientes puede
tener una subclase de la referencia de este cliente y
esta heredara todos sus atributos y característica de la clase original.
La segunda ventaja de una BDOO, es que manipula datos complejos en forma
rápida y ágilmente. La estructura de la base de datos está dada por
referencias (o apuntadores lógicos) entre objetos.
Al considerar la adopción de
la tecnología orientada
a objetos, la inmadurez del mercado de
BDOO constituye una posible fuente de problemas.
Hay muy pocos manejadores de base de datos en el mercado que soporten este
tipo de arquitectura Algunos
de los pocos oodbms que existen son:
• Db4o
• Informix
• Bdoviedo3
Quizá esta sea una de las causas por las cuales las oodb aún no tengan ese
crecimiento que en algún momento tantas expectativas generaron.
El segundo problema es la falta de estándares en la industria orientadas
a objetos.
Las Bases de Datos Orientadas a Objetos permiten que múltiples usuarios
compartan objetos complejos y los manipulen en un ambiente seguro y
estructurado. Las bases de datos convencionales fueron diseñadas para
manejar tipos de datos alfanuméricos y por esto difícilmente pueden
manipular objetos y métodos (los métodos son los comportamientos definidos
de los objetos).
RENDIMIENTO
Las BDOO permiten que los objetos hagan referencia directamente a otro
mediante apuntadores suaves. Esto hace que las BDOO pasen más rápido del
objeto A al objeto B que las BDR, las cuales deben utilizar comandos JOIN
para lograr esto. Incluso el JOIN optimizado es más lento que un recorrido
de los objetos. Así, incluso sin alguna afinación especial, una BDOO es en
general más rápida en esta mecánica de
caza-apuntadores.
Las BDOO hacen que el agrupamiento sea más eficiente. La mayoría de los sistemas de
bases de datos permiten que el operador coloque cerca las estructuras relacionadas
entre sí, en el espacio de almacenamiento en disco. Esto reduce en forma
radical el tiempo de recuperación de los datos relacionados, puesto que
todos los datos se leen con una lectura de
disco en vez de varias.

Figura 1: Base de Datos Orientada a Objetos.

Figura 2: Características básicas de los SGDBOO.

Figura 3: Ejemplo de Una Base de Datos Orientada a Objetos.

Bases de Datos Modelos, Lenguajes, Diseños James L. Johnson. Sistemas de
Bases de
Datos Elmasri / Nawathe.
Fundamentos de Bases de Datos Henry Korth/ Abraham Silverschatz/ Sudargham.
http://www.articulo.org/articulo/3041/bases_de_datos_orientadas_a_objetos__una_opcion
_de_desarrollo_viable.html
http://es.wikipedia.org/wiki/Base_de_datos