Instructora
Valeria Méndez es Docente de negocios digitales con base en Lima, Perú. Su trabajo se enfoca en transformar temas complejos en rutas de aprendizaje claras, prácticas y fáciles de seguir.
Ha acompañado a estudiantes, profesionales y equipos de empresas en procesos de formación online, combinando teoría útil con ejercicios aplicables desde la primera clase.
En Cursalo diseña experiencias de aprendizaje con ejemplos reales, lenguaje directo y una estructura pensada para avanzar paso a paso sin perder contexto.
Este curso incluye 4 modulos, 12 lecciones y 3:37 horas de materiales.
SELECT y WHERE: leer datos sin romper nada La consulta SELECT es la herramienta que más vas a usar en tu vida con bases de datos. Sirve para leer datos sin modificarlos: por eso es segura para explorar. La clave mental es pensar en una tabla como un conjunto de filas, y en cada consulta como una pregunta que filtra y proyecta hasta quedarte solo con lo que te interesa. Las tres piezas que necesitas hoy SELECT: elige qué columnas quieres ver (la "proyección"). FROM: indica de qué tabla salen los
Orden y paginacion Aprende a ordenar resultados y paginar sin duplicar ni saltarte filas. Conceptos clave ORDER BY asc/desc OFFSET (y por que es caro) Keyset pagination (idea) Ejemplo SELECT id, created_at FROM events ORDER BY created_at DESC LIMIT 50; Ejercicio Ordena por created_at desc. Implementa paginacion con LIMIT/OFFSET (solo para practicar). Checklist de mastery Se ordenar resultados. Entiendo por que OFFSET se vuelve lento.
NULL y fechas NULL es un valor especial. Si lo tratas como 0 o '', te metes bugs silenciosos. Conceptos clave IS NULL / IS NOT NULL COALESCE para defaults Filtrar por rangos de fechas Ejemplo SELECT COALESCE(country, 'unknown') AS country, COUNT(*) FROM users WHERE deleted_at IS NULL GROUP BY 1 ORDER BY 2 DESC; Ejercicio Cuenta usuarios por country usando COALESCE. Filtra registros donde un campo sea NULL. Checklist de mastery Se filtrar NULL correctamente. Uso COALESCE de forma intencional.
JOINs Aprende INNER/LEFT JOIN y como pensar cardinalidad (1:N). Eso evita resultados raros. Conceptos clave INNER vs LEFT Cardinalidad: 1:1, 1:N, N:N JOINs y duplicacion de filas Ejemplo SELECT u.email, o.total FROM users u JOIN orders o ON o.user_id = u.id WHERE o.status = 'paid' ORDER BY o.created_at DESC LIMIT 50; Ejercicio Une users con orders y trae el total. Cambia a LEFT JOIN y analiza la diferencia. Checklist de mastery Entiendo INNER vs LEFT. Puedo detectar duplicacion por joins.
GROUP BY Conteos, sumas y promedios. Si dominas esto, ya puedes responder preguntas reales. Conceptos clave COUNT/SUM/AVG GROUP BY columnas HAVING (filtra grupos) Ejemplo SELECT date_trunc('week', created_at) AS week, COUNT(*) AS signups FROM users GROUP BY 1 ORDER BY 1; Ejercicio Cuenta registros por semana (date_trunc). Filtra semanas con HAVING signups > X. Checklist de mastery Puedo armar metricas con GROUP BY. Se usar HAVING cuando corresponde.
CTEs (WITH) CTEs te dejan partir queries grandes en bloques legibles. No es solo estetica: reduce errores. Conceptos clave WITH como variable de query Componer CTEs Evitar duplicacion Ejemplo WITH paid AS ( SELECT user_id, SUM(total) AS revenue FROM orders WHERE status = 'paid' GROUP BY 1 ) SELECT u.email, paid.revenue FROM paid JOIN users u ON u.id = paid.user_id ORDER BY paid.revenue DESC LIMIT 20; Ejercicio Crea un CTE con top users por revenue. Agrega un segundo CTE con segmentacion por coun
Constraints Si tu DB acepta basura, tu app se llena de ifs. Constraints ponen reglas donde corresponde. Conceptos clave PRIMARY KEY, FOREIGN KEY UNIQUE CHECK Ejemplo CREATE TABLE users ( id text PRIMARY KEY, email text UNIQUE NOT NULL, plan text NOT NULL CHECK (plan IN ('free','pro')) ); Ejercicio Crea una tabla con UNIQUE y CHECK. Intenta insertar un valor invalido y mira el error. Checklist de mastery Se para que sirve CHECK. Entiendo UNIQUE y FK en la practica.
Indices y EXPLAIN Un indice mal puesto no ayuda. Aprende a usar EXPLAIN para decidir con datos. Conceptos clave B-tree indexes (default) Indices compuestos EXPLAIN ANALYZE Ejemplo EXPLAIN ANALYZE SELECT * FROM orders WHERE user_id = 'u_123' ORDER BY created_at DESC LIMIT 50; CREATE INDEX idx_orders_user_created ON orders (user_id, created_at DESC); Ejercicio Corre EXPLAIN ANALYZE en una query lenta. Agrega un indice y compara. Checklist de mastery No agrego indices sin medir. Se leer un plan bas
Transacciones Si una operacion tiene 2 pasos, necesita transaccion. Asi evitas estados rotos. Conceptos clave BEGIN/COMMIT/ROLLBACK Atomicidad Bloqueos (idea) Ejemplo BEGIN; UPDATE accounts SET balance = balance - 100 WHERE id = 'a1'; UPDATE accounts SET balance = balance + 100 WHERE id = 'a2'; COMMIT; Ejercicio Crea un flujo de transferencia con rollback en error. Explica por que es atomico. Checklist de mastery Se cuando usar transacciones. Entiendo atomicidad con ejemplos.
Esquema del proyecto Define 3 tablas con relaciones basicas. El objetivo es poder responder preguntas de funnel. Conceptos clave users -> orders (1:N) users -> events (1:N) Keys consistentes Ejemplo Tablas: users(id,email,created_at), orders(id,user_id,total,status,created_at), events(id,user_id,name,created_at). Ejercicio Escribe CREATE TABLE para las 3 tablas (sin perfeccion). Agrega 1 FK y 1 indice. Checklist de mastery Puedo diseñar un esquema minimo. Tengo relaciones claras.
Reportes Arma 3 queries: signups por semana, conversion a pago, revenue por mes. Conceptos clave Agregaciones Joins Fechas con date_trunc Ejemplo SELECT date_trunc('month', created_at) AS month, SUM(total) AS revenue FROM orders WHERE status = 'paid' GROUP BY 1 ORDER BY 1; Ejercicio Crea query de conversion: usuarios con al menos 1 order paid / total. Crea query de revenue mensual. Checklist de mastery Puedo responder preguntas de negocio. Mis queries son legibles.
Performance del proyecto Optimiza 1 query con EXPLAIN y un indice compuesto. No mas. Conceptos clave Medir antes/despues Indice compuesto segun WHERE + ORDER No sobre-indexar Ejemplo Si filtras por user_id y ordenas por created_at, un indice (user_id, created_at) suele ayudar. Ejercicio Elige una query y corre EXPLAIN ANALYZE. Agrega un indice y vuelve a medir. Checklist de mastery Uso EXPLAIN con intencion. Puedo justificar un indice.
Data Analyst at Microsoft
Responder al comentario