Saltar al contenido
Logotipo de Trainontech Trainontech

Bases de Datos · BBD-190

ORM y acceso a datos

Usar un ORM sin perder el control del SQL que genera, del N+1 y de las transacciones.

Bajo demanda Avanzado 7 módulos · 29 clases

Formato asíncrono Desarrollo SQLAlchemy, Prisma, Python

Lo que aprenderás

  • Mapear entidades y relaciones con SQLAlchemy y con Prisma partiendo del mismo modelo de datos.
  • Detectar el problema N+1 registrando el SQL emitido y corregirlo con carga anticipada.
  • Gestionar sesiones, unidad de trabajo y transacciones sin dejar conexiones colgadas.
  • Versionar el esquema con migraciones generadas y revisarlas antes de aplicarlas.
  • Decidir cuándo bajar a SQL puro y cómo convivir con el ORM en el mismo proyecto.
  • Comparar el enfoque de SQLAlchemy, Prisma e Hibernate en mapeo, consultas y migraciones.

Contenido del curso

7 módulos · 29 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Qué resuelve un ORM 4 clases
  • Del registro de la tabla al objeto del dominio
  • Desajuste de impedancia y sus consecuencias
  • Entorno de prácticas y registro del SQL emitido
  • Modelo de dominio común para todo el curso
Módulo 2 · SQLAlchemy 5 clases
  • Core y ORM: dos niveles de la misma biblioteca
  • Modelos, relaciones y claves foráneas
  • Sesión, unidad de trabajo y ciclo de vida del objeto
  • Consultas con select y expresiones
  • Carga perezosa, anticipada y por lotes
Módulo 3 · Prisma 4 clases
  • Esquema declarativo y cliente generado
  • Relaciones, include y select
  • Transacciones interactivas y por lotes
  • Tipado estático como red de seguridad
Módulo 4 · El problema N+1 y el rendimiento 4 clases
  • Reproducir el N+1 y verlo en el registro
  • Estrategias de carga y sus efectos secundarios
  • Paginación correcta sobre conjuntos grandes
  • Cuándo el ORM genera SQL que conviene reescribir
Módulo 5 · Migraciones y evolución del esquema 4 clases
  • Migraciones con Alembic
  • Migraciones con Prisma Migrate
  • Revisar y corregir una migración generada
  • Datos existentes: rellenos y cambios destructivos
Módulo 6 · Convivir con SQL puro 4 clases
  • Consultas nativas dentro del ORM
  • Vistas y funciones del motor en el modelo
  • Repositorios y separación de responsabilidades
  • Comparativa final con el modelo de Hibernate
Módulo 7 · Caso práctico 4 clases
  • Auditar el acceso a datos de una aplicación existente
  • Corregir las tres consultas más costosas
  • Preparar y validar una migración con datos
  • Documentar las decisiones para el equipo

Requisitos

  • Experiencia programando en Python o TypeScript en proyectos con base de datos.
  • SQL sólido: uniones, agregaciones y lectura de un plan de ejecución básico.
  • Haber trabajado antes con algún framework web o de servicios.

Descripción

El ORM ahorra código repetitivo hasta que un listado que parecía inocente lanza cientos de consultas, una migración generada automáticamente borra una columna en producción o nadie sabe por qué una transacción quedó abierta. El problema casi nunca es la herramienta: es usarla sin ver el SQL que produce ni entender su modelo de sesiones.

El curso mantiene el mismo dominio implementado en SQLAlchemy y en Prisma, con referencias a Hibernate para situar el modelo clásico de mapeo. Se activa el registro de sentencias desde el primer momento, se reproducen a propósito los problemas típicos, se miden y se corrigen. Las migraciones se generan, se leen línea a línea y se prueban sobre una copia antes de tocar nada.

Lo que queda es capacidad para trabajar con un ORM sin quedar a merced de él: reconocer sus abstracciones, saber cuándo escribir la consulta a mano y defender esa decisión ante el equipo. Enlaza de forma directa con la optimización de consultas y planes de ejecución y con el trabajo de migraciones y alta disponibilidad.

¿Para quién es este curso?

  • Personas desarrolladoras de backend que heredan proyectos con acceso a datos difícil de seguir.
  • Equipos que van a elegir capa de persistencia para un servicio nuevo y quieren decidir con argumentos.
  • Perfiles técnicos que revisan código y necesitan detectar problemas de acceso a datos en una revisión.
Bajo demanda

Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.

Código
BBD-190
Nivel
Avanzado
Público
Desarrollo
Entorno
SQLAlchemy, Prisma, Python

Este curso incluye

  • 29 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

Bajo demanda

BBD-103Bases de Datos

SQL avanzado: ventanas, CTE y analítica

Funciones de ventana, expresiones comunes recursivas y consultas que sustituyen a cientos de líneas de código.

SQLPostgreSQLJupyterLab

Avanzado 30 clases

Bajo demanda

BBD-110Bases de Datos

PostgreSQL: administración y rendimiento

Configuración, índices, vacío, réplicas y monitorización de la base de datos libre de referencia.

PostgreSQLLinux

Avanzado 34 clases