Академический Документы
Профессиональный Документы
Культура Документы
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.
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.
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.
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)
Insertar Objetos.
Update.
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.