Mapeo Objeto-Relacional y Bases de Datos Orientadas a Objetos

Clasificado en Informática

Escrito el en español con un tamaño de 3,19 KB

Mapeo Objeto-Relacional (ORM)

Para poder acceder a bases de datos relacionales (BBDD) usando lenguajes orientados a objetos, es necesaria una interfaz que traduzca la lógica de los objetos a la lógica relacional. Esto se conoce como Object Relational Mapping (ORM).

  • El ORM sirve para transformar las tablas de nuestra BBDD en estructuras (como objetos o registros) que podremos manejar con cierta facilidad.
  • Realiza la conversión de datos entre los tipos utilizados en la programación orientada a objetos y los utilizados en una BBDD relacional.
  • Las herramientas ORM permiten crear una capa de acceso a datos. Una forma común de hacerlo es crear una capa por cada tabla de la BBDD relacional y mapearlas una a una.
  • Estas herramientas aportan un lenguaje de consultas orientado a objetos propio e independiente de la BBDD subyacente, lo que permite migrar de una BBDD a otra sin necesidad de modificar el código de acceso a datos.

Ventajas del ORM

  • Ayudan a disminuir el tiempo de desarrollo y facilitan la reutilización de código.
  • Proporcionan una abstracción de la BBDD.
  • Fomentan la producción de código más limpio y mantenible.
  • Ofrecen independencia de la BBDD específica.
  • Disponen de un lenguaje de consulta propio (generalmente orientado a objetos).
  • Incentivan la portabilidad y estabilidad de los programas de software.

Inconvenientes del ORM

  • Las aplicaciones pueden ser más lentas. Esto se debe a que las consultas sobre la BBDD deben ser transformadas al lenguaje propio de la herramienta ORM, luego los registros leídos y, finalmente, los objetos creados a partir de ellos.

Bases de Datos Orientadas a Objetos (BDOO)

  • Proporcionan un modelo de datos más rico y extensible, logrando una mayor equivalencia con los lenguajes de programación orientada a objetos.
  • Permiten el almacenamiento persistente de objetos de forma nativa.
  • Ofrecen una gestión de BBDD a todos los niveles, desde la definición de datos hasta el lenguaje de consulta, todo basado en el paradigma de objetos.

Persistencia en BDOO

La persistencia es la propiedad por la cual los objetos deben permanecer en la BBDD una vez que el programa que los creó ha finalizado. Los objetos transitorios desaparecen al terminar la ejecución del programa, mientras que los persistentes se almacenan en la BBDD.

Para hacer un objeto persistente, existen generalmente tres alternativas:

  • Marcarlo explícitamente como persistente.
  • Hacerlo alcanzable a partir de otro objeto ya marcado como persistente (persistencia por alcance).
  • Añadiéndolo a una colección persistente de su clase.

El objeto contenedor (la BDOO) encapsula el almacenamiento de los objetos. A partir del momento en que un objeto se hace persistente, todos los cambios que se produzcan en él se guardan automáticamente.

Al marcar un objeto como persistente, existe la posibilidad de asignarle un nombre único dentro de la BBDD. Los objetos con nombre único suelen ser pocos y sirven como puntos de acceso principales a la BBDD.

Entradas relacionadas: