Caso Práctico 5
La Universidad USIL está implementando una nueva plataforma de gestión académica
integral que permita administrar los procesos académicos de manera eficiente y
centralizada. Hasta ahora, la información académica se ha gestionado mediante sistemas
aislados en cada facultad, lo cual ha generado duplicidad de datos, errores de
sincronización y dificultades para acceder a información unificada.
Como parte del equipo de ingeniería de software, has sido asignado al desarrollo y
modelado del sistema de base de datos, que servirá como núcleo de la plataforma. El
objetivo es crear una solución robusta que permita gestionar estudiantes, docentes,
carreras, cursos, matrículas, evaluaciones, horarios, aulas, ciclos académicos, asistencias,
becas, pagos y egresos.
La universidad te ha entregado un documento general de requisitos y espera que, a partir
de esta información, propongas un modelo relacional bien estructurado, crees las tablas
necesarias, relaciones, restricciones, inserciones de datos, y ejecutes operaciones SQL
complejas para validar el sistema.
Los requerimientos funcionales son los siguientes:
✓ Los estudiantes pueden matricularse en varias asignaturas por ciclo académico.
Pueden tener becas totales o parciales y deben realizar pagos por concepto de
matrícula, y pensiones.
✓ Cada docente puede dictar múltiples asignaturas, en distintos ciclos. Algunos
docentes son contratados, otros nombrados, y algunos pueden estar activos o
inactivos.
✓ Las carreras profesionales tienen múltiples asignaturas distribuidas en ciclos.
Cada carrera puede tener múltiples estudiantes y docentes asignados.
✓ Cada curso puede tener prerrequisitos, un docente a cargo, y diferentes secciones
y horarios.
✓ El sistema debe llevar un registro de notas por evaluación, así como la asistencia
de cada estudiante en cada clase.
✓ Los estudiantes deben poder ser identificados como egresados o activos.
✓ Se debe llevar un control de pagos realizados por los estudiantes, incluyendo
fecha, monto, concepto y forma de pago.
✓ Algunas aulas pueden estar en mantenimiento y no deben ser asignadas en
horarios de clase.
Como especialista asignado al proyecto debes realizar lo siguiente:
✓ Analizar los requerimientos y proponer las entidades necesarias, definiendo sus
atributos, claves primarias, claves foráneas, relaciones y restricciones.
✓ Crear el modelo relacional en SQL.
✓ Insertar datos de prueba suficientes para poder realizar consultas complejas.
✓ Simular el uso del sistema con sentencias de actualización, eliminación,
inserción, consultas y alteraciones de estructura.
✓ Asegurar la integridad referencial y aplicar buenas prácticas de normalización.
Asimismo, responde y desarrolla las siguientes preguntas utilizando SQL:
1. Crear las tablas necesarias para el sistema académico de una universidad,
asegurando que todas tengan claves primarias, claves foráneas y restricciones
adecuadas, incluyendo una tabla para aula.
2. Establecer las relaciones entre las tablas con claves foráneas que aseguren la
integridad referencial del modelo.
3. Insertar datos de prueba para todas las tablas, incluyendo al menos 10 estudiantes,
5 docentes, 6 cursos, 10 evaluaciones, 3 ciclos académicos, 3 aulas, entre otros.
4. Obtener la lista de estudiantes con su carrera.
5. Mostrar los docentes activos, indicando su tipo (nombrado o contratado).
6. Listar los cursos y la carrera a la que pertenecen.
7. Mostrar los estudiantes matriculados por sección, incluyendo nombre del curso,
docente y aula.
8. Ver todos los pagos realizados por un estudiante específico, incluyendo monto y
forma de pago.
9. Mostrar los nombres de los estudiantes que llevan cursos con un docente
específico.
10. Mostrar la cantidad de estudiantes matriculados por carrera.
11. Mostrar los docentes contratados que están activos.
12. Mostrar el total pagado por cada estudiante.
13. Mostrar los cursos y sus prerrequisitos.
14. Mostrar las aulas disponibles.
15. Mostrar los estudiantes con beca total.
16. Mostrar las evaluaciones con su porcentaje.
17. Mostrar las notas mayores a 18, incluyendo estudiante y curso.
18. Mostrar la asistencia de los estudiantes por fecha.
19. Mostrar el promedio de nota por curso.
20. Mostrar los estudiantes que han llevado más de un curso.