Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Examen Segundo Parcial (Bases de Datos) - Sistema Cafetería Dulce y Café

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.

Objetivos

  1. Modelar correctamente las entidades y relaciones que permitirían almacenar la información mostrada en la interfaz.
  2. Implementar procedimientos almacenados que automaticen operaciones típicas de un sistema transaccional.
  3. Demostrar dominio de vistas para consolidar información con criterios analíticos.
  4. Gestionar usuarios y permisos con buenas prácticas de seguridad.

Requerimientos Técnicos

1. Modelo Relacional

  • 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)

2. Procedimientos Almacenados

  • 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

3. Generación de Datos de Prueba

  • 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.

4. SQL para Reportes

  • 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)

5. Vistas

  • 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.

6. Seguridad: Usuarios y Permisos

  • 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.

Recomendaciones Adicionales

  • 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.

Criterio Ponderación

  • 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%

Imágenes de la Interfaz

Dashboard

Dashboard

Registro de Clientes

Registrar Clientes

Registro de Productos

Registrar Productos

Registro de Venta

Registrar Venta


¿Cómo descargar este proyecto?

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!

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages