Domina el arte de almacenar y exponer datos de forma eficiente. Desde el diseño de esquemas relacionales hasta la construcción de APIs REST profesionales documentadas con Swagger.
Seis bloques progresivos que cubren desde el diseño de bases de datos hasta la construcción y documentación de APIs REST de nivel profesional.
Aprende los principios fundamentales del diseño de bases de datos: normalización (1NF, 2NF, 3NF), diagramas entidad-relación (ER), claves primarias y foráneas, integridad referencial y estrategias de indexación. Aprenderás a modelar desde casos de uso reales como sistemas de e-commerce, plataformas de contenido y aplicaciones SaaS.
Lleva SQL al siguiente nivel con consultas de alta complejidad: CTEs (Common Table Expressions), funciones de ventana (window functions), EXPLAIN ANALYZE para optimización de consultas, índices parciales y compuestos, y particionamiento de tablas. También aprenderás a escribir funciones y procedimientos almacenados en PL/pgSQL para lógica de negocio en la base de datos.
Comprende cuándo y por qué usar NoSQL en lugar de SQL. Aprende el modelo de documentos de MongoDB, el lenguaje de consulta MQL, agregaciones con el pipeline, índices en MongoDB y Mongoose como ODM para Node.js. Verás casos de uso reales donde MongoDB brilla: catálogos de productos, datos de usuario con estructura variable y almacenamiento de eventos.
Construye APIs REST que sigan los principios y convenciones de la industria: recursos bien definidos, verbos HTTP correctos (GET, POST, PUT, PATCH, DELETE), códigos de estado apropiados, paginación, filtrado y ordenación de resultados, versionado de API y manejo de errores consistente con RFC 7807 (Problem Details). Implementarás también rate limiting y caché con Redis.
Una API sin documentación es una API inutilizable. Aprenderás a documentar tus APIs usando la especificación OpenAPI 3.0 y Swagger UI, a generar documentación interactiva automáticamente desde el código, a escribir ejemplos de requests y responses claros, y a versionar tu documentación junto con tu código. Tu equipo (y los consumidores de tu API) te lo agradecerán.
Construirás una API REST para una plataforma de reservas de eventos: diseño del esquema PostgreSQL, endpoints completos con autenticación JWT, búsqueda y filtrado avanzado, gestión de transacciones para reservas, documentación completa con Swagger y tests de integración con Jest y Supertest. Un proyecto listo para añadir a tu portfolio y enseñarlo en entrevistas.
Una de las decisiones más importantes en arquitectura es elegir entre una base de datos relacional y una NoSQL. No existe una respuesta universal: depende del caso de uso, los requisitos de consistencia y la estructura de los datos.
En este módulo aprenderás a analizar los requisitos de un proyecto y a elegir la tecnología adecuada. Conocerás en profundidad tanto PostgreSQL como MongoDB, y aprenderás cuándo usar cada uno, e incluso cuándo combinarlos en una arquitectura polígota de persistencia.
Cuatro principios que separan a los desarrolladores que construyen sistemas que funcionan de los que construyen sistemas que duran.
Aprende a proteger tus bases de datos y APIs desde el primer día. Validación de entradas con Zod, queries parametrizadas para prevenir SQL injection, principio de mínimo privilegio en usuarios de base de datos, cifrado de datos sensibles y auditoría de accesos. La seguridad no se añade al final: se diseña desde el principio.
Escribe consultas SQL eficientes que no colapsen tu base de datos. Aprende a usar EXPLAIN ANALYZE para identificar consultas lentas, a crear índices en las columnas correctas, a implementar caché con Redis para reducir la carga de la base de datos y a paginar resultados para evitar cargar millones de registros en memoria.
Entiende las propiedades ACID y cómo garantizarlas en tu aplicación. Aprende a usar transacciones para operaciones que deben ejecutarse como un todo o no ejecutarse, el manejo de bloqueos para prevenir condiciones de carrera, y los niveles de aislamiento de transacciones para equilibrar consistencia y rendimiento.
Un esquema de base de datos bien gestionado es tan importante como el código que lo usa. Aprende a gestionar migraciones de base de datos con herramientas como Flyway o las migraciones de Sequelize, a versionar tu esquema junto con tu código, y a realizar cambios de esquema en producción sin tiempo de inactividad usando técnicas de migración gradual.