Skip to content

About

Examen de recuperación de la materia de Bases de Datos 💀

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Examen de Recuperación - Base de Datos - Tercer Nivel

Sistema de Renta de Vehículos – RentAutos

Este examen consiste en aplicar ingeniería inversa a partir de una interfaz web de registro de reservas y un dashboard gerencial. El objetivo es que diseñes y construyas una base de datos que respalde completamente la lógica visual del sistema, aplicando procedimientos almacenados, vistas, generación de datos y control de accesos.


🎯 Objetivos

  • Modelar correctamente entidades y relaciones desde el sistema visual.
  • Automatizar operaciones con procedimientos almacenados.
  • Consolidar información para reportes mediante vistas.
  • Generar datos de prueba usando funciones nativas.
  • Aplicar seguridad mediante roles y permisos.
  • Documentar y estructurar adecuadamente la entrega.

🛠 Instrucciones para desarrollar y probar el examen

🔽 1. Clonar este repositorio

Puedes clonar este repositorio en tu máquina local con:

git clone https://github.com/usuario/proyecto-rentautos-db.git
cd proyecto-rentautos-db

💻 2. Herramientas necesarias

Asegúrate de contar con las siguientes herramientas instaladas: • PostgreSQL 13+ • pgAdmin, DBeaver o consola psql • (Opcional) Visual Studio Code o cualquier editor SQL

📝 Importante

•	Todo tu desarrollo debe ejecutarse sobre PostgreSQL, sin dependencias externas.
•	Si usas herramientas gráficas como pgAdmin o DBeaver, asegúrate de entregar solo el script SQL.
•	Tu script debe correr de inicio a fin sin errores.

🖼️ Interfaz Visual del Sistema

Las siguientes capturas representan el sistema sobre el cual debes desarrollar la base de datos.

📋 Registro de Reserva

Registro de Reserva

📊 Dashboard Gerencial

Dashboard Gerencial

A partir de estas imágenes deberás identificar las entidades, relaciones, lógica de negocio y reportes requeridos para modelar y construir tu base de datos.


⚙️ Requisitos Técnicos

1. Modelo Relacional

  • Mínimo 5 entidades.
  • Incluir atributos, tipos de datos, PK/FK, restricciones y relaciones 1:N / N:M, etc.

2. Procedimientos Almacenados

  • CRUD completo con validaciones para al menos 2 entidades.
  • Usar parámetros, validar existencia, dependencias y retornar mensajes.

3. Generación de Datos

  • Mínimo 1000 registros totales.
  • Usar generate_series(), random(), ciclos FOR, etc.

4. Vistas y Consultas para Dashboard

Crear vistas o consultas que representen los siguientes reportes:

Gráfico Requerimientos técnicos
Rentas por categoría GROUP BY, JOIN
Ingresos por mes SUM(), DATE_TRUNC()
Reservas activas vs finalizadas COUNT(), GROUP BY
Clientes con más reservas ORDER BY, LIMIT

5. Seguridad y Roles

  • Crear dos roles:
    • rol_lectura: acceso solo a vistas.
    • rol_escritura: acceso a tablas y SPs.
  • Usar GRANT, REVOKE, ALTER DEFAULT PRIVILEGES.

📦 Entregables

  1. Script SQL único con:

    • Creación de tablas, relaciones y restricciones
    • Procedimientos almacenados
    • Vistas y generación de datos
    • Creación de roles y permisos
  2. Archivo PDF o Markdown con:

    • Diagrama ER (puede ser digital o escaneado)
    • Justificación de vistas
    • Consultas utilizadas en reportes

📊 Rúbrica de Evaluación

Criterio Ponderación
Modelo relacional y restricciones 25%
CRUD completo con SPs y validaciones 20%
Generación masiva de datos 10%
Consultas para reportes + vistas 20%
Seguridad y roles 15%
Documentación y organización 10%

📝 Reglas

  • Trabajo individual.
  • No se permite reutilizar proyectos de exámenes anteriores.
  • Puedes consultar documentación oficial, pero debes entender y justificar tu solución.
  • Se valorará la claridad, lógica y profundidad del trabajo.

Duración estimada: 2 sesiones (2h c/u) + presentación final


About

Examen de recuperación de la materia de Bases de Datos 💀

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages