Contenido del curso
Bases de Datos: De Cero a Experto

🎯 Objetivo:

Entender qué es un ORM, cómo facilita trabajar con bases de datos en Python y conocer dos de los más usados: SQLAlchemy y Django ORM.


🧩 ¿Qué es un ORM?

  • ORM significa Object-Relational Mapping (Mapeo Objeto-Relacional).

  • Permite trabajar con bases de datos usando objetos y clases en lugar de escribir SQL manualmente.

  • Traduce operaciones en código Python a consultas SQL automáticamente.


⚙️ Ventajas de usar ORM

  • Más fácil y rápido para programar.

  • Código más limpio y mantenible.

  • Abstracción de detalles específicos de cada base de datos.

  • Previene errores comunes en SQL.

  • Facilita migraciones y actualizaciones del esquema.


🐍 SQLAlchemy (Python puro)

  • ORM muy flexible y potente.

  • Permite usar SQL directamente si se necesita.

  • Compatible con varias bases (PostgreSQL, MySQL, SQLite, etc.).

Ejemplo básico con SQLAlchemy:

python
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import declarative_base, sessionmaker

Base = declarative_base()

class Usuario(Base):
__tablename__ = 'usuarios'
id = Column(Integer, primary_key=True)
nombre = Column(String)
email = Column(String)

engine = create_engine('sqlite:///mi_base.db')
Base.metadata.create_all(engine)

Session = sessionmaker(bind=engine)
session = Session()

# Crear nuevo usuario
nuevo_usuario = Usuario(nombre='Cristian', email='c@example.com')
session.add(nuevo_usuario)
session.commit()

# Consultar usuarios
usuarios = session.query(Usuario).all()
for u in usuarios:
print(u.nombre, u.email)


🐍 Django ORM

  • Integrado en el framework Django.

  • Usa modelos para definir tablas y relaciones.

  • Incluye herramientas para migraciones y administración.

Ejemplo básico en Django:

python
# models.py
from django.db import models

class Usuario(models.Model):
nombre = models.CharField(max_length=100)
email = models.EmailField()

# Uso en views.py o shell Django
usuarios = Usuario.objects.all()
for u in usuarios:
print(u.nombre, u.email)


📝 Actividad práctica

  1. Crea un proyecto pequeño con SQLAlchemy para manejar una tabla de usuarios.

  2. Si tienes Django, crea un modelo similar y usa el ORM para insertar y consultar datos.

  3. Compara cómo trabajarías con ORM vs SQL puro.


✅ Revisión rápida

  • ¿Qué significa ORM?

  • ¿Qué ventaja tiene usar ORM?

  • ¿Cuál es la diferencia principal entre SQLAlchemy y Django ORM?

Scroll al inicio