Saltar al contenido
Logotipo de Trainontech Trainontech

Bases de Datos · BBD-103

SQL avanzado: ventanas, CTE y analítica

Funciones de ventana, expresiones comunes recursivas y consultas analíticas sobre PostgreSQL

Bajo demanda Avanzado 7 módulos · 30 clases

Formato asíncrono Desarrollo, Ingeniería / Industria, Empresa / PYME SQL, PostgreSQL, JupyterLab

Lo que aprenderás

  • Calcular clasificaciones, acumulados y comparaciones entre filas con funciones de ventana
  • Definir particiones, orden y marcos de ventana controlando exactamente qué filas entran en el cálculo
  • Encadenar expresiones comunes de tabla para descomponer consultas analíticas extensas
  • Recorrer jerarquías y grafos con expresiones comunes recursivas evitando ciclos infinitos
  • Sustituir bucles de código de aplicación por una consulta conjunta y medir la diferencia
  • Producir subtotales y agregaciones múltiples con GROUPING SETS, ROLLUP y CUBE
  • Leer el plan de ejecución con EXPLAIN ANALYZE y decidir el índice que hace falta

Contenido del curso

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

Módulo 1 · Presentación y punto de partida 4 clases
  • Cuándo la consulta debe hacer el trabajo y cuándo la aplicación
  • El conjunto de datos de prácticas y su volumen
  • Entorno en JupyterLab contra PostgreSQL
  • Medir una consulta antes de optimizarla
Módulo 2 · Funciones de ventana 5 clases
  • Qué es una ventana y en qué se diferencia de GROUP BY
  • PARTITION BY y ORDER BY dentro de la ventana
  • Clasificaciones: ROW_NUMBER, RANK y DENSE_RANK
  • Acceso a otras filas con LAG y LEAD
  • Primer y último valor de una partición
Módulo 3 · Marcos de ventana 4 clases
  • Marcos por filas y por rango
  • Acumulados y medias móviles
  • Ventanas con nombre y reutilización
  • Errores frecuentes al definir el marco
Módulo 4 · Expresiones comunes de tabla 4 clases
  • Dividir una consulta larga en pasos legibles
  • Encadenar varias expresiones comunes
  • Materialización y su efecto en el plan
  • Expresiones comunes con modificación de datos
Módulo 5 · Recursividad 4 clases
  • Estructura de una expresión común recursiva
  • Recorrer jerarquías de organización o de materiales
  • Rutas en un grafo y detección de ciclos
  • Límites de profundidad y control de coste
Módulo 6 · Agregación avanzada 5 clases
  • GROUPING SETS para varias agrupaciones a la vez
  • ROLLUP y subtotales jerárquicos
  • CUBE y combinaciones completas
  • Agregados con filtro y agregados ordenados
  • Tablas dinámicas con expresiones condicionales
Módulo 7 · Rendimiento y caso práctico 4 clases
  • Leer un plan con EXPLAIN ANALYZE
  • Índices que ayudan a una consulta analítica
  • Comparación medida frente al bucle en la aplicación
  • Caso práctico: cuadro de mando resuelto solo con consultas

Requisitos

  • SQL sólido: uniones, agregaciones, subconsultas y modificación de datos
  • Comprender el modelo relacional y el papel de los índices
  • Basta con un navegador: se trabaja en JupyterLab contra una base PostgreSQL de prácticas

Descripción

Hay un patrón que se repite en muchos equipos: la consulta devuelve filas, la aplicación las recorre en un bucle, calcula acumulados o compara cada fila con la anterior, y el proceso tarda minutos. Ese trabajo casi siempre lo hace el motor mejor, en una sola pasada, con funciones de ventana que muchos desarrolladores no llegaron a aprender.

El curso trabaja sobre un conjunto de datos con volumen suficiente para que las diferencias se noten. Cada técnica se presenta resolviendo un caso analítico real, se compara con la solución equivalente en código de aplicación y se mide el resultado. Se cubren ventanas con sus marcos, expresiones comunes encadenadas y recursivas, agregaciones múltiples y lectura de planes con EXPLAIN ANALYZE.

El resultado es la capacidad de escribir consultas que sustituyen cientos de líneas de proceso y de justificar su coste con datos del plan de ejecución. Es directamente aplicable a informes de negocio, análisis de series temporales de proceso industrial y cuadros de mando, y enlaza con administración y rendimiento de PostgreSQL.

¿Para quién es este curso?

  • Perfiles de desarrollo que procesan datos en bucles de aplicación y quieren delegar el cálculo al motor
  • Ingeniería que analiza series temporales de proceso y necesita acumulados y comparaciones entre registros
  • Personas de empresa responsables de informes que hoy se elaboran a mano en hojas de cálculo
Bajo demanda

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

Código
BBD-103
Nivel
Avanzado
Público
Desarrollo, Ingeniería / Industria, Empresa / PYME
Entorno
SQL, PostgreSQL, JupyterLab

Este curso incluye

  • 30 clases en vídeo bajo demanda
  • Práctica íntegramente en JupyterLab, solo con un navegador
  • 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-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

Próximamente

BBD-150Bases de Datos

Neo4j y bases de datos de grafos

Cypher, recorrido de relaciones y los problemas donde el grafo gana claramente al relacional.

Neo4j

Avanzado 29 clases