db4o

18
DB4O DB4O BASES DE DATOS III

Upload: macieljairo

Post on 12-Aug-2015

70 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DB4O

DB4ODB4O

BASES DE DATOS III

Page 2: DB4O

Introducción.-Introducción.-Db4o (DB for Objects) es una

implementación de OODB libre (bajo GPL – General Public Licence, por lo tanto de código abierto) que se encuentran actualmente en el mercado. db4o representa una alternativa a las bases de datos relacionales utilizadas tradicionalmente.

Page 3: DB4O

DIFERENCIAS PRINCIPALES DIFERENCIAS PRINCIPALES ENTRE OODB y RDBENTRE OODB y RDBLa 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 están 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.

Page 4: DB4O

DIFERENCIAS DIFERENCIAS PRINCIPALES ENTRE PRINCIPALES ENTRE OODB y RDBOODB y RDBEn cambio usando db4o y las demás bases de datos orientadas a objetos esto es transparente al desarrollador, quien sólo llama desde su código a métodos del objeto que administra la base de datos para realizar una consulta, dar un alta, una modificación o eliminar algún 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 navegación a través de las estructuras de dichos objetos)

Page 5: DB4O

Ventajas.-Ventajas.-Mayor velocidad de desarrollo

(transparencia).No hay mapeos entre objetos y tablasNo hay que crear componentes que

accedan a las bases de datos.El código de acceso a la base es muy

sencillo y entendible (métodos 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)

Fácil Backup (la base completa está en un solo archivo)

No necesita administración

Page 6: DB4O

Ventajas.-Ventajas.-Al cambiar algo en las clases no se

necesita modificar nada en la base de objetos

Sistema de versionado automáticoLas búsquedas se hacen

directamente usando objetos.Búsquedas usando objetos,

sencillas (QBE, "Query By Example")

Búsquedas Nativas (la manera recomendada para buscar).

Page 7: DB4O

Ventajas.-Ventajas.-Capacidades transaccionales ACID Multiplataforma: Nativo en Java y .Net Dispositivos móviles, aplicaciones

de escritorio, servidores,…Ofrece un motor de base de datos

embebida para dispositivos móviles en entornos OO

Page 8: DB4O

Inconvenientes.-Inconvenientes.- No existe un lenguaje de consultas como sql (se

deben realizar programáticamente) No existen restricciones, deben programarse (No

implementa integridad referencial). Tamaño limitado de los ficheros de BBDD (2GB –

264GB). No permite clustering. No existe gestión de permisos. No existen aplicaciones para data mining ni informes. No se puede realizar explotación de los datos

existentes mediante otros medios. Para accesos sencillos y persistencia de objetos

simples los motores de persistencia ofrecen un rendimiento similar.

Page 9: DB4O

Descarga y utilización de Descarga y utilización de db4o (para Java).-db4o (para Java).-

Primero hay que descargar el archivo que contiene el jar con las clases de db4o. Se puede encontrar tanto en la sección de Community como en la sección TestDrive de la página 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 código para comenzarlo a usar.

Page 10: DB4O

¿Para que usar DB4O?¿Para que usar DB4O?La base de datos de código abierto

db4o se integra mejor en nuestro ambiente en comparación a la alternativa de utilizar una base de datos relacional con un mapeador objeto-relacional. db4o corre hasta cuatro veces más rápido persistiendo objetos y es hasta un 50% más veloz consultando objetos.

Page 11: DB4O

Insertar Objetos Ahora bien, llegó la hora de guardar un

objeto en la base de datos. Para los insert, no es necesario crear métodos específicos. Cuando digo específicos me refiero a que no es necesario un método guardar Cliente(Cliente cliente), sino que con un guardar(Object obj)

El método set de la clase ObjectContainer guarda un objeto en la base de datos.

Page 12: DB4O

Insertar Objetos.- Método ingresar de la clase GestorCliente:

Page 13: DB4O

Update.- La actualización se realiza

mediante el mismo método set. Método en la clase Fachada:

Page 14: DB4O

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 método genérico:

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.

Page 15: DB4O

Consultas Db4o ofrece varias formas de

realizar consultas, yo les explicaré la que apliqué yo a mi proyecto. En la clase Fachada hice un método genérico que recibe un Objeto y devuelve un Vector de esa misma clase, con los resultados de la consulta.

Page 16: DB4O

ConsultasConsultas específicas.- En el

caso de que por ejemplo necesitamos buscar clientes, filtrando solo por nombre y apellido

Page 17: DB4O

Consultas.-

Page 18: DB4O

Consultas.-clase Pedido tiene dentro un

vector de Productos