Prog Acceso a base de datos de objetos

De MediaWiki
Saltar a: navegación, buscar

Introducción

  • Una Base de Datos Orientada a Objetos (BDOO o Object Oriented DataBase OODB en inglés) es una base de datos en la que vamos a poder guardar objetos (en vez de tablas que es lo que hacen las bases de datos relacionales).
  • Podemos ver en este enlace una relación de bases de datos orientada a objetos disponibles.


  • Aunque no es de este tema, debemos diferencia una base de datos de un Sistema Gestor de Base de Datos. Podéis consultar este enlace.


  • El uso de bases de datos nos van a permitir guardar la información y que esta se mantenga en el tiempo para poder ser utilizada posteriormente. Este concepto se denomina persistencia de datos.



Posibles base de datos de Objetos


  • db4o: La última versión con licencia GPL es del año 2011. Dejó de desarrollarse en Octubre del 2014. Ahora mismo no funciona ningún enlace a su sitio web.
  • HypergraphDB.
  • Virtuoso Universal Server.
  • Object Database: Se puede probar con un máximo de 10 clases y un millón de objetos. Más información en este enlace.
  • velocitydb: Necesita definir el modelo de datos en Windows ya que funciona con .NET. Después es posible conectarse a la base de datos sin necesidad de ser Windows el sistema operativo empleado.
  • eyedb: Desde Mayo del 2009 no han sacado nuevas versiones.
  • mongodb: Almacenamiento en la nube.




Como usar db4o



Como usar ObjectDB con JPA

  • Más información sobre la API JPA en este enlace.
  • Comparativa de rendimientos de diferentes bases de datos que implementan JPA en este enlace.
  • Con JPA se puede hacer un 'mapeo' automático entre una base de datos relacional y clases en Java.
Podéis seguir este manual para implementarlo.
  • ObjecDB puede utilizarse para:
  • Acceder a bases de datos ObjectDB directamente desde Java, abriendo dicha base de datos de modo 'exclusivo' no permitiendo conexiones múltiples.
  • Acceder a bases de datos ObjectDB desde un entorno cliente/servidor, en el que la base de datos está asociada a un servidor (con un puerto y dirección) y permite conexiones múltiples a través de la red. Más información en este enlace.


Explicación etiquetas Id y GeneratedValue en JPA

  • Si seguisteis el ejemplo anterior, cuando define el modelo, agrega a uno de los campos (campo id) las siguientes etiquetas:
  • @Id
  • @GeneratedValue
Podéis consultar cual es su utilidad en este enlace.




Operaciones CRUD (Create, Read, Update, Delete) con JPA



Operaciones SELECT con Parámetros

  • Podéis consultar como hacer un select con parámetros en este enlace.
Indicar que si una clase tiene como atributo un objeto de otra clase, podemos hacer la consulta de la forma: SELECT a FROM Clase1 a WHERE a.objeto.atributo = :valor



Ejemplo completo de uso de JPA con ObjectDB





-- Ángel D. Fernández González -- (2017).