ORM

Las técnicas de programación dedicada a base de datos son un fuerte fundamento teórico que ha guiado la evolución y la implementación de las técnicas para tratar las bases de datos relacionales. Actualmente, las experiencias en mapeo objeto relacional (ORM por sus siglas en inglés) se han destacado por ser técnicas automáticas e independientes a los datos de origen, donde se traducen códigos de datos en sentencias de lenguaje de consulta estructurados, para tales fines.

📌 ¿Qué es ORM?

Es una técnica de desarrollo de software (programación), donde se simplifica a gran escala el trabajo del desarrollo de aplicaciones multiplataforma. Su objetivo es conectar las diferentes bases de datos relacionales u orígenes de datos (ODBC) con diferentes tipos de lenguaje de programación orientado a objetos.

Procede de las siglas Object Relational Mapping (Mapeo de Objeto Relacional). Es un modelo excelente de programación que transforma las tablas de una base de datos en entidades fáciles de administrar por parte del desarrollador de software.

📌 ¿Para qué sirve?

La función principal de esta técnica de programación es convertir los datos de los objetos en formato correcto para que sea más simple de guardar la información en una base de datos, a esto se le denomina mapeo, lo que crea una base de datos virtual vinculados a un motor de persistencia.

Por otro lado, cuando se trata el desarrollo de aplicaciones o el diseño web de sitios que necesiten conectarse constantemente con una base de datos, esta técnica funciona para simplificar el proceso de transformación de la información, especialmente cuando se trabaja en Tablas. Al utilizar un ORM el proceso es totalmente automático e independiente, de forma que también será posible cambiar el motor de persistencia cuando sea necesario.

📌 Origen

Las técnicas de mapeo relacionales datan del año 2001, donde se liberan las primeras sentencias de programación bajo ambientes SQL, Java, entre otras. Estas se destacaban por la ejecución a tiempo de sus datos, manteniendo portabilidad entre los motores de BD.

📌 Ejemplo de ORM

Estos factores proporcionan el desarrollo de una aplicación en específico con ayuda de un mapeo en forma independiente, son flexibles y de fácil uso su integración. Tienen una excelente abstracción de la base de datos consultada, mantienen seguridad en la capa de acceso contra ataques, entre otras. Pero, ¿cómo se aplica todo esto en un caso real?

Por ejemplo, si una empresa tiene una tabla de clientes y quiere transformarla en una base de datos virtual se deben tener en cuenta las funciones básicas sobre ella, como son las sentencias CRUD de SQL, su significado en inglés “crear, obtener, actualizar y borrar”. En este sentido, la tabla básica tendría el siguiente aspecto, teniendo en cuenta que se almacena el nombre, la identificación, el email y el país del cliente.

String query = "INSERT INTO clientes (id,nombre,email,pais) VALUES (@id, @nombre, @email, @pais)";

command.Parameters.AddWithValue("@id","1")

command.Parameters.AddWithValue("@nombre","nombre")

command.Parameters.AddWithValue("@email","email")

command.Parameters.AddWithValue("@pais","pais")

command.ExecuteNonQuery();

Cuando se utiliza un sistema ORM el código se reduce considerablemente, pero también será más fácil aplicar las sentencias “insertar, seleccionar y actualizar” en caso de que sea necesario introducir un nuevo campo, por ejemplo, el apellido del cliente. Esta sentencia se llevarán a cabo de forma automática gracias al sistema, una vez aplicado se verá de la siguiente forma.

String query = "INSERT INTO clientes (id,nombre,email,pais) VALUES (@id, @nombre, @email, @pais)";

command.Parameters.AddWithValue("@id","1")

command.Parameters.AddWithValue("@nombre","nombre")

command.Parameters.AddWithValue("@email","email")

command.Parameters.AddWithValue("@pais","pais")

command.ExecuteNonQuery();

📌 Más información sobre ORM

Si quieres aplicar este sistema para mejorar tu proceso de desarrollo de apps, te tienes que informar más al respecto, aquí tienes algunos enlaces para ello.

Pin It on Pinterest