Вы находитесь на странице: 1из 2

Presentacin bases de datos orientadas a objetos.

Resumen
Hctor Fabio Cadavid Rengifo Maestra en ingeniera de Sistemas Universidad Nacional de Colombia hfcadavidr@unal.edu.co 1. Introduccin
Las bases de datos orientadas a objetos fue un tema que se pens revolucionara la manera de hacer persistente la informacin en los sistemas software durante los aos 90. En la actualidad es evidente que esto no fue as. Sin embargo, un resurgimiento de este concepto, gracias a las comunidades de software libre, y la identificacin de aplicaciones idneas para el mismo, motivan la revisin de las caractersticas de esta alternativa a las omnipresentes bases de datos relacionales. vez, referencian a ms objetos. Un OODBMS se encarga de hacer persistente de forma descendente y transparente para el usuario- toda una familia de objetos asociada a cada objeto que se inserte a la base de datos. Estructuras recurrentes: estructuras recurrentes como listas y rboles son manejadas eficientemente por los OODBMS, en comparacin con los RDBMS que requeriran de muchas operaciones de join para obtener la informacin de una estructura equivalente creada para un modelo relacional.

2. Definicin
OODBMS: object-oriented database management system. Es un manejador de base de datos que soporta el modelaje y la creacin de datos como objetos. En la actualidad, las arquitecturas tradicionales de un sistema de informacin delegan la responsabilidad de la persistencia de los datos a un motor de base de datos relacional, mientras que en la parte lgica, y en general en la ejecucin del sistema, se mantienen familias de objetos para encapsular las entradas y mantener el estado de las operaciones en dichos sistemas. Esto obliga a siempre buscar alternativas para extraer la informacin contenida en una familia de objetos y adaptarla de tal forma que se pueda almacenar el estado de stos en tablas de un modelo relacional. Las bases de datos O.O. hacen transparente este proceso, permitiendo hacer la persistencia, consulta y reconstruccin de objetos de forma inmediata.

Identidad de objetos: Los objetos dentro de un OODBMS no manejan el concepto de llave primaria, es decir, permite dos objetos con los mismos atributos: son iguales, pero no son el mismo. o Esto implica que para relacionar de forma consistente un objeto con otro que est en la base de datos, no se puede pensar en usar llaves forneas. Hay que buscar el objeto dada alguna de sus caractersticas, recuperarlo, asociarlo al nuevo objeto, y luego hacerlo persistente. Un OODBMS no afecta las caractersticas de polimorfismo y encadenamiento dinmico de los objetos

3. Caractersticas fundamentales
Un OODBMS por definicin maneja las siguientes caractersticas: Manejo de objetos complejos o Objetos compuestos: un objeto puede tener referencia a otros objetos, que a su

4. Polimorfismo
Persona

Consultas nativas: se crean nuevas clases en las cuales se programan los condicionales que se usarn durante la consulta. Ejemplo para db4o: condicin programada para que slo se seleccionen los pilotos con exactamente 100 puntos:
public boolean match(Pilot pilot) { return pilot.getPoints() == 100; }

Profesor

Estudiante

EstudiantePosgrado

EstudiantePregrado

Figura 1 El polimorfismo es una caracterstica del paradigma O.O., en el que objetos de una determinada clase, puede verse o tratarse como una clase ms general dentro de su jerarqua. Para la figura 1 por ejemplo, un objeto EstudiantePosgrado puede tratarse como Estudiante o como Persona. Esta caracterstica determina y potencia las capacidades de consulta de un OODBMS, ya que por ejemplo, si en la base de datos se tienen objetos EstudiantePosgrado y EstudiantePregrado, si se consultan todos los objetos Estudiante el resultado por polimorfismo- incluir simultneamente estos dos tipos de estudiante.

6. Ventajas / desventajas
Ventajas: Manejo natural de modelos complejos (informacin estructurada recursivamente, modelos polimorfos, etc). Elimina por completo la necesidad de ORMs1 (impedancia), con su consecuente mejora en desempeo.

Desventajas Mecanismos de consulta muy primitivos, sin un estndar independiente de la plataforma aceptado. Imposibilidad de procedimientos almacenados, ya que los objetos solo pueden ser consultados en el cliente. Ineficiente para algunas operaciones optimizadas en los RDBMS, como por ejemplo, el mayor de todos los salarios, los nombres de todos los empleados ordenados alfabticamente, etc.

5. Consultas
Aunque anteriormente hubo algunas iniciativas para desarrollar un lenguaje de consultas estndar como el SQL pero para objetos (por ejemplo OQL), stas no prosperaron. Sin embargo, los OODBMS tpicamente ofrecen las siguientes alternativas de consulta: Basada en patrones: a la consulta se le da un objeto patrn, al cual se le dan las mismas caractersticas (dar valor a sus atributos) de los objetos que se estn buscando. La consulta devuelve el conjunto de objetos que tienen dichas caractersticas. Basadas en API: a travs mtodos de clases especiales, se especifican de forma programtica las restricciones que deben cumplir los datos a consultar (ejemplo de db4o):
Query q = db.query(); q.constrain(Player.class); q.descend("battingAverage") .constrain(new Float(0.3f)).greater(); ObjectSet result = q.execute();
1

ORM: object-relational mapping tool

Вам также может понравиться