¿Qué es un ORM?
Empezamos una serie de posts relacionados con los ORM, que vamos a dividir en:
- Introducción. ¿Qué es un ORM?
- Diferentes ORM. Entity Framework.
- Diferentes ORM. Linq.
- Diferentes ORM. Eloquent.
Introducción. ¿Qué es un ORM?
Esta es la primera entrada de esta sección del blog, en la que vamos a hablar de diferentes ORM y presentar los puntos positivos y negativos de aquello con los que tenemos más práctica y conocimiento.
Pero hay que empezar por lo más básico: ¿Qué es un ORM?
Un ORM (Object Relational Mapping o Mapeo Objeto-Relacional en castellano) es una herramienta que nos permite mapear, o lo que es lo mismo, convertir los objetos de tu aplicación a un formato adecuado para ser almacenados en cualquier base de datos, creándo para ello una base de datos virtual donde los datos disponibles en nuestra aplicación quedan vinculados con la base de datos final.
Lo que podemos obtener de la definición anterior, es que además de convertir, los ORM nos ayudan a eliminar todo el lenguaje tedioso de sentencias SQL necesario para realizar las acciones CRUD (Create, Read, Update, Delete) en nuestro código, ya que es el propio ORM quien se encarga de ello.
Aquí un sencillo ejemplo sin entrar a profundizar, basado en el lenguaje C#, para la persistencia de datos:
Como podemos ver, el código queda mucho más comprensible e integrado en el global de la aplicación. Pero el punto más importante es que gracias a usar un ORM no tenemos que preocuparnos de actualizar una tabla en nuestra base de datos o incluso de cambiar el motor de la misma, ya que será el propio ORM el que se encargará de hacer el mapeo pertinente. En cambio, si no utilizáramos un ORM, tendríamos que actualizar nuestros métodos de creación y actualización con los cambios en nuestras tablas, y habría que revisar la sintaxis general de todas las sentencias si decidimos cambiar de base de datos.
Tras pequeña introducción para mostrar los puntos interesantes de utilizar un ORM, en las siguientes entradas iremos presentando algunos de los que utilizamos en nuestro día a día en dreams para mostrar porqué utilizamos uno u otro en cada ocasión.