Crea una cuenta o inicia sesión

¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera

Curso Básico de Django

Curso Básico de Django

Facundo García Martoni

Facundo García Martoni

¿Qué es ORM? ¿Qué es un modelo?

9/29
Recursos

Aportes 14

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Un ORM (Object-Relational Mapping) es una técnica que nos permite crear una Base de Datos Orientada a Objectos (virtual), que opera sobre la Base de Datos Relacional (real).

Utilizando un ORM podemos operar sobre la base de datos aprovechando las características propias de la orientación a objetos, como herencia y polimorfismo.

También podemos acceder a los atributos de una Entidad de la misma forma que accedemos a los atributos de una Clase, realizar operaciones para obtener, crear, modificar y eliminar datos, todo desde el código de programación sin tener que escribir SQL. Esto además nos permite escribir el código una sola vez y garantizarnos que va a seguir funcionando incluso si en el futuro se cambia el motor de Base de Datos (por ejemplo, de MySQL a Microsoft SQL Server).

👇 👇

El ORM es la traducción del lenguaje SQL a una sintaxis de Python basado en clases y sus atributos.

ORM
Tablas -> Modelos expresados mediante clases1
Columnas -> Atributos1 de las clases1
Tipos de datos -> Clases ligasdas a los Atributos1

Funciones extras del ORM de Django

Exelente explicacion sobre ORM, me habia costado mucho aprender el termino. Ahora todo me quedo claro!!

Imperdible esta explicación de ORM. Excelente.

Este es mi aporte

excelente explicacion de ORM! muchas gracias

Excelente explicación, mejor imposible de verdad, lo que entiendan los conceptos de base de datos y POO (Programación orientada a objetos) lo vana a entender mucho mas rápido y mejor.

¿Que es un ORM?
(Object Relational Mapping)

.
Técnica que nos permite a través de ciertas librerías y frameworks relacionar la estructura de una Base de Datos Relacional (RDB) Relational Data Base, con la Programación Orientada a Objetos (Poo), es decir, manipular una base de datos a través objetos ubicados en un archivo “.py”, ya que en este archivo hay una representación las tablas de la base de datos.

Ventajas del uso de un ORM:
*Facilidad y velocidad de uso
*Abstracción de la base de datos
*Seguridad de la capa de acceso a datos contra ataques.
*Reutilización. Nos permite utilizar los métodos de un objeto de datos desde distintas zonas de la aplicación, incluso desde aplicaciones distintas.
*Mantenimiento del código.
Desventajas:
*Lentitud en volúmenes de datos
*Aprender el nuevo lenguaje del ORM.

Esta imágen tal vez ayude a entender mejor cómo es la relación entre una tabla de la base de datos y una clase en programación orientada a objetos. Creo que en Python el equivalente a varchar y a hash sería string, aunque para hash se podría crear una nueva clase. Voy tomando apuntes del curso aquí, espero que les sirvan.

Modelos: Representación por medio de las tablas de una base de datos por medio de clases en django. Las columnas son los atributos de estos modelos y con clases definimos el tipo de cada atributo definido en el modelo.

Estos atributos y modelos se verán reflejados en la base de datos después que apliquemos los comandos:

python3 manage.py makemigrations
python3 mange.py migrate

Así si entiendo muchachos.