En este artículo veremos que es un ORM empezando por definir concretamente que significa este termino hoy en día muy popular para los desarrollodares y muy usado en diferentes frameworks y aplicaciones.
ORM (Object To Relational Mapping)
Es un modelo de programación que permite mapear las estructuras de una base de datos relacional, algunas de las más populares son: Sql Server, Oracle, Mysql, PostgreSql, etc. Algunos de los frameworks m´ás populares tienen incluido su ORM como es el caso de Laravel cuyo ORM es “Eloquent” y .NET Core cuyo ORM se llama Entity Framework Core.
En el gráfico anterior separamos e identificamos que en el primero corresponde a una clase (Objeto) ya conocida en programación orientada a objetos en cualquiera de los lenguajes allí descritos a esta clase se le llama modelo, en la segunda estaría la base de datos con toda su estructura de tablas, campos, tipos de datos y relaciones (RELATIONAL) y la tercera la parte del MAPPING que es la que se encarga de pasar esta estructura de base de datos a un objecto o clase. Una vez que tenemos este mapeo listo podremos entonces realizar operaciones sobre la base de datos pero usando la clase, en otra palabras podremos usar este modelo o clase para leer registros, insertar registros, actualizar y borrar y todo se replicará a la base de datos.
Veamos dos ejemplo de como sería el proceso de lectura tradicional sin un ORM:
Y este sería el mismo proceso usando un ORM en este caso Entity Framework Core
Como podemos ver el proceso es más sencillo se hace en una sola línea y esto también tiene ventajas de rendimiento, optimización para pruebas unitarias, entre otros, veamos algunas de ellas
Ventajas de un ORM
- Según el ejemplo anterior podemos decir que usando un ORM podemos interactura con una base de datos usando nuestros lenguaje preferidos y sin usar SQL
- Se escribe usando un lenguaje de programación
- El acceso a la base de datos es sencillo
- Muchos de las consultas tendrán mejor rendimiento que si fueran hechas con SQL común
- Ahorro de tiempo comparado con SQL Común
- Más seguridad puesto que la mayoría de ORM tienen protección contra inyecciones SQL y otro tipos de ataques
Mira el siguiente video donde te explico que es un ORM
Este artículo hace parte de mi nuevo curso profesional de Entity Framework Core. Puedes ver la información completa de este curso en el siguiente enlace: