Este proyecto simula el backend y la interfaz de un sistema de gestión para la Cafetería Dulce y Café. Incluye modelo de datos, procedimientos almacenados, vistas, reportes y seguridad, siguiendo los requerimientos académicos del semestre.
- Modelar correctamente las entidades y relaciones que permitirían almacenar la información mostrada en la interfaz.
- Implementar procedimientos almacenados que automaticen operaciones típicas de un sistema transaccional.
- Demostrar dominio de vistas para consolidar información con criterios analíticos.
- Gestionar usuarios y permisos con buenas prácticas de seguridad.
- Defina al menos 5 entidades.
- Especifique:
- Nombre de atributos
- Tipos de datos
- Llaves primarias y foráneas
- Restricciones (NOT NULL, UNIQUE, CHECK, etc.)
- Relaciones (1:N, N:M con tablas intermedias si aplica)
- Implemente el CRUD completo para mínimo 2 entidades, usando PROCEDURE en PostgreSQL. Cada procedimiento debe:
- Usar parámetros
- Validar existencia de registros (insert/update)
- Validar dependencias (delete)
- Retornar mensajes o estados
- Inserte mínimo 500 registros usando scripts de inserción automática con generate_series() u otras funciones aleatorias (random(), md5(), etc.).
- Puede apoyarse de ciclos (FOR, LOOP) dentro de procedimientos.
- Implemente consultas funcionales que permitan alimentar los 4 gráficos del dashboard visual:
- Ingresos por categoría
- Ventas diarias
- Pagados vs No pagados
- Clientes con más pedidos
- Estas consultas deben usar:
- Joins
- Agregaciones (SUM, COUNT)
- Agrupamientos por fecha (DATE_TRUNC, EXTRACT)
- Filtros (WHERE, HAVING, CASE)
- Cree mínimo 2 vistas:
- Una vista que consolide información de facturación
- Otra con foco gerencial: como resumen de ventas por mes, productos más vendidos, etc.
- Cree al menos 2 roles/usuarios:
- Uno con permisos solo de lectura sobre las vistas.
- Otro con permisos de inserción, actualización y eliminación sobre las entidades y procedimientos.
- Use GRANT, REVOKE, ALTER DEFAULT PRIVILEGES, etc.
- Validen sus scripts paso a paso.
- Usen EXPLAIN ANALYZE para comprobar rendimiento en las consultas.
- Documenten bien cada parte del código (comentarios explicativos).
- Se penalizara el uso de IA.
- No se penalizará el uso de documentación oficial y/o proyectos hechos en clase siempre que comprendan lo que entregan.
- Modelo relacional 15%
- CRUD con procedimientos 20%
- Generación de datos 10%
- Consultas SQL para reportes 20%
- Vistas y reportes 15%
- Seguridad y permisos 10%
- Organización de entrega y claridad 10%
Puedes descargar el repositorio usando el botón verde "Code" en GitHub y seleccionando "Download ZIP" o usando el siguiente comando en tu terminal:
git clone <URL-del-repositorio>Luego, abre la carpeta en tu editor favorito y explora los archivos y scripts incluidos.
¡Buena suerte!



