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

DB4O

BASES DE DATOS III

Introduccin.

Db4o (DB for Objects) es una implementacin de OODB libre (bajo GPL General Public Licence, por lo tanto de cdigo abierto) que se encuentran actualmente en el mercado. db4o representa una alternativa a las bases de datos relacionales utilizadas tradicionalmente.

DIFERENCIAS PRINCIPALES ENTRE OODB y RDB

La diferencia entre un tipo de base de datos y el otro radica en la naturaleza con la que se guardan, consultan y manejan los datos. En las bases de datos relacionales los datos estn en registros de tablas, que almacenan datos propiamente dichos o referencias a registros de otras tablas. En el modelo relacional el mapeo entre los objetos del modelo de negocio y las tablas debe establecerse y configurarse en tiempo de desarrollo.

DIFERENCIAS PRINCIPALES ENTRE OODB y RDB

En cambio usando db4o y las dems bases de datos orientadas a objetos esto es transparente al desarrollador, quien slo llama desde su cdigo a mtodos del objeto que administra la base de datos para realizar una consulta, dar un alta, una modificacin o eliminar algn objeto de la base de objetos. El almacenamiento y el acceso a los objetos se realiza mediante el uso de punteros (lo que facilita la navegacin a travs de las estructuras de dichos objetos)

Ventajas.

Mayor velocidad de desarrollo (transparencia). No hay mapeos entre objetos y tablas No hay que crear componentes que accedan a las bases de datos. El cdigo de acceso a la base es muy sencillo y entendible (mtodos get, set y delete) en el caso de db4o Mejor rendimiento con objetos de negocio complejos (rboles, estructuras anidadas, relaciones N a N, relaciones recursivas) Fcil Backup (la base completa est en un solo archivo) No necesita administracin

Ventajas.Al cambiar algo en las clases no se necesita modificar nada en la base de objetos Sistema de versionado automtico Las bsquedas se hacen directamente usando objetos. Bsquedas usando objetos, sencillas (QBE, "Query By Example") Bsquedas Nativas (la manera recomendada para buscar).

Ventajas.Capacidades transaccionales ACID Multiplataforma: Nativo en Java y .Net Dispositivos mviles, aplicaciones de escritorio, servidores, Ofrece un motor de base de datos embebida para dispositivos mviles en entornos OO

Inconvenientes.

No existe un lenguaje de consultas como sql (se deben realizar programticamente) No existen restricciones, deben programarse (No implementa integridad referencial). Tamao limitado de los ficheros de BBDD (2GB 264GB). No permite clustering. No existe gestin de permisos. No existen aplicaciones para data mining ni informes. No se puede realizar explotacin de los datos existentes mediante otros medios. Para accesos sencillos y persistencia de objetos simples los motores de persistencia ofrecen un rendimiento similar.

Descarga y utilizacin de db4o (para Java).Primero hay que descargar el archivo que contiene el jar con las clases de db4o. Se puede encontrar tanto en la seccin de Community como en la seccin TestDrive de la pgina oficial del producto. Para usar el jar, simplemente hay que extraerlo del zip en el que viene comprimido (dentro del directorio lib) e importarlo desde el cdigo para comenzarlo a usar.

Para que usar DB4O?

La base de datos de cdigo abierto db4o se integra mejor en nuestro ambiente en comparacin a la alternativa de utilizar una base de datos relacional con un mapeador objeto-relacional. db4o corre hasta cuatro veces ms rpido persistiendo objetos y es hasta un 50% ms veloz consultando objetos.

Insertar Objetos

Ahora bien, lleg la hora de guardar un objeto en la base de datos. Para los insert, no es necesario crear mtodos especficos. Cuando digo especficos me refiero a que no es necesario un mtodo guardar Cliente(Cliente cliente), sino que con un guardar(Object obj)

El mtodo set de la clase ObjectContainer guarda un objeto en la base de datos.

Insertar Objetos.

Mtodo ingresar de la clase GestorCliente:

Update.

La actualizacin se realiza mediante el mismo mtodo set. Mtodo en la clase Fachada:

Delete

Para borrar un objeto debemos asegurarnos igual que en el caso anterior, de estar seguros que el objeto recuperado es el que queremos borrar. Luego basta con un mtodo genrico:

El nico recaudo que debemos tomarnos es estar seguros que el objeto que le pasamos, el mismo que recuperamos anteriormente, que modificamos y que queremos persistir esos cambios.

Consultas
Db4o

ofrece varias formas de realizar consultas, yo les explicar la que apliqu yo a mi proyecto. En la clase Fachada hice un mtodo genrico que recibe un Objeto y devuelve un Vector de esa misma clase, con los

Consultas

Consultas especficas.- En el caso de que por ejemplo necesitamos buscar clientes, filtrando solo por nombre y apellido

Consultas.-

Consultas.

clase Pedido tiene dentro un vector de Productos

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