INTRODUCCIÓN AL CURSO
Este curso de SQL está diseñado para cubrir todos los conocimientos necesarios que te permitirán desempeñarte eficientemente en un entorno laboral real. Aunque utilizaremos PostgreSQL como gestor de bases de datos principal, los conceptos aprendidos serán aplicables a cualquier sistema de bases de datos relacionales (SQL).
Al finalizar los módulos y completar los ejercicios prácticos, los estudiantes estarán preparados para manejar situaciones comunes en el desarrollo con SQL, incluyendo aplicaciones avanzadas como transacciones, triggers y consultas complejas.
¿Qué se espera del estudiante?
Independencia y dedicación.
Aunque el curso está estructurado para enseñar SQL desde cero, es importante entender que:
-
Los conceptos cubiertos en clase representarán solo entre el 50%, siendo optimista, de lo que podrías encontrarte en un trabajo real.
-
La práctica constante es indispensable: al terminar el curso, habrás adquirido apenas una porción pequeña de la habilidad práctica necesaria en un entorno profesional. Sin embargo, esta porcion sera la base para que puedas avanzar en el campo de las bases de datos.
En otras palabras: si no practicas, no avanzarás.
SQL es un lenguaje eminentemente práctico. Todo el contenido teórico de este curso podría aprenderse en una semana leyendo la documentación de PostgreSQL, explorando tutoriales o viendo un curso intensivo de 8 horas en YouTube. Sin embargo, lo que diferencia este curso es el enfoque en la aplicación real, con los ejercicios y proyectos que simularán desafíos del mundo laboral.
Si el estudiante no aprovecha esta oportunidad para practicar de manera activa, los resultados serán limitados.
Proyectos de SQL y Fast Api
Cada módulo del curso incluye un proyecto final en el que el estudiante desarrollará un sistema backend conectado a una base de datos. Estos proyectos no se limitan únicamente al ámbito de bases de datos, sino que requieren un esfuerzo significativo en el desarrollo de servidores para cumplir con los requisitos planteados.
Hoy en día, especializarse exclusivamente en bases de datos no es una opción viable. Las demandas del mercado no esperan que un profesional se dedique solo a esta área, sino que busca desarrolladores backend que, independientemente del lenguaje que utilicen, dominen SQL como competencia básica. De la misma manera que se asume que cualquier persona en el sector tecnológico tiene conocimientos de HTML por su uso generalizado, el manejo de SQL es un requisito implícito.
¿Por qué proyectos backend y no solo SQL?
Plantearte un proyecto puramente basado en SQL no solo resulta poco práctico, sino también poco motivador. Por ejemplo, en el Módulo II, enfocado en la lectura de datos, es difícil imaginar que alguien decida por iniciativa propia cargar un seeder en una base de datos con información ficticia y ejecutar múltiples consultas sin un propósito claro.
Seamos honestos: nadie lo haría y es aburrido.
Al menos que hagas benchmarking de funciones de postgres, nadie practicaría así y menos siendo la primera vez. Del mismo modo, no es llamativo mostrar un README con consultas SQL como un proyecto relevante para un portafolio. Por ello, este curso propone el desarrollo de proyectos backend con un grado de complejidad y extensión adecuados, orientados a servicios reales, donde el estudiante pueda aplicar sus conocimientos de SQL en un contexto profesional, como la seran la generación de reportes y la automatización de tareas.
Preparación para el desarrollo backend
Sabemos que no todos los estudiantes tienen experiencia previa en desarrollo backend, por lo que, al final de cada módulo, se incluirán clases dedicadas a abordar los aspectos clave para implementar estos proyectos. Entre los temas cubiertos se encuentran:
-
Asincronía y concurrencia.
-
Pool de conexiones.
-
Protocolos de comunicación: HTTP, WebSockets (WS), RPC, entre otros.
Para garantizar consistencia en el aprendizaje, las clases se impartirán utilizando FastAPI como framework backend y SQLAlchemy como ORM. El uso de estas tecnologías será obligatorio para mantener un estándar común entre todos los estudiantes.
Respecto al frontend, aunque no será un requisito obligatorio, su implementación se valorará positivamente y puede ser un diferencial importante en el proyecto final.