Ejercicio 2.2: PostgreSQL con Base de Datos Jardinería¶
Estado: Disponible
Descripción General¶
Practicarás consultas SQL avanzadas con una base de datos de gestión de ventas de jardinería.
Duración estimada: 4-6 horas Nivel: Intermedio Prerequisitos: SQL básico, Ejercicio 2.1 (PostgreSQL HR)
Objetivos de Aprendizaje¶
Al completar este ejercicio serás capaz de:
- ✅ Analizar datos de ventas con SQL
- ✅ Generar reportes de negocio
- ✅ Usar agregaciones complejas (GROUP BY, HAVING)
- ✅ Aplicar Window Functions para rankings y análisis temporal
- ✅ Optimizar consultas con índices
- ✅ Crear vistas materializadas
Base de Datos Jardinería¶
Base de datos de una empresa que vende productos de jardinería y plantas.
Entidades Principales¶
- Clientes - Clientes de la empresa
- Empleados - Organización y ventas
- Oficinas - Ubicaciones de la empresa
- Pedidos - Órdenes de compra
- Detalle_Pedidos - Líneas de cada pedido
- Productos - Catálogo de productos
- Gamas_Producto - Categorías
- Pagos - Transacciones
Diagrama ER¶
erDiagram
OFICINAS ||--o{ EMPLEADOS : trabaja_en
EMPLEADOS ||--o{ CLIENTES : atiende
CLIENTES ||--o{ PEDIDOS : realiza
CLIENTES ||--o{ PAGOS : hace
GAMAS_PRODUCTO ||--o{ PRODUCTOS : tiene
PEDIDOS ||--o{ DETALLE_PEDIDOS : contiene
PRODUCTOS ||--o{ DETALLE_PEDIDOS : incluido_en Casos de Uso Reales¶
Este ejercicio simula análisis que harías en una empresa real:
1. Análisis de Ventas¶
- Total de ventas por cliente
- Productos más vendidos
- Evolución de ventas por mes/año
2. Gestión de Clientes¶
- Clientes con mayor volumen de compra
- Clientes inactivos (sin pedidos recientes)
- Distribución geográfica
3. Rendimiento de Empleados¶
- Ventas por empleado
- Clientes asignados por empleado
- Performance por oficina
4. Inventario¶
- Productos con bajo stock
- Análisis de rotación
- Productos sin ventas
Requisitos Técnicos¶
- PostgreSQL 14+ instalado (del Ejercicio 2.1)
- Cliente SQL (pgAdmin, DBeaver)
Contenido del Ejercicio¶
El ejercicio completo está en:
Datos¶
Scripts SQL están en: datos/jardineria/
Temas Cubiertos¶
1. Consultas de Análisis¶
- Agregaciones con GROUP BY
- Filtrado con HAVING
- Múltiples JOINs
2. Window Functions¶
- ROW_NUMBER() para rankings
- LAG/LEAD para comparaciones temporales
- PARTITION BY para análisis por grupo
3. Subconsultas¶
- Subconsultas correlacionadas
- EXISTS / NOT EXISTS
- IN / NOT IN
4. Optimización¶
- EXPLAIN para analizar planes de ejecución
- Creación de índices
- Análisis de rendimiento
5. Vistas¶
- Vistas simples
- Vistas materializadas
- Actualización de vistas
Entregas¶
Consulta las instrucciones de entrega para saber qué archivos debes subir.
Carpeta de entrega:
Recursos de Apoyo¶
Documentación¶
Tutoriales¶
Próximos Pasos¶
Después de completar este ejercicio:
- Ejercicio 2.3 - Migración SQLite → PostgreSQL
- Ejercicio 3.2 - Oracle Jardinería (comparar implementación)
---
Fecha de publicación: Por definir Última actualización: 2025-12-17