UNIVERSIDAD AUTONOMA DE MADRID DEPARTAMENTO DE INGENIERIA INFORMATICA BASES DE DATOS Curso 2006-07 Examen final febrero APELLIDOS: NOMBRE: 1 2 3 4.1 4.2 5 6.1 6.2 7 TOTAL CALIFICACION Se desea implementar una base de datos para gestionar información sobre un sistema de autoevaluación que puede ser utilizado por alumnos para resolver ejercicios sobre distintas asignaturas. El sistema tiene las siguientes características: Los ejercicios se clasifican de acuerdo a los temas en que se divide cada asignatura, siendo posible que un ejercicio esté relacionado con varios temas distintos. Para cada ejercicio es necesario almacenar el enunciado, la solución y un grado de dificultad (fácil, media, difícil, muy difícil). Los ejercicios pueden formar parte de un examen, de una hoja de problemas, o de ambos. El sistema puede ser utilizado por el profesor para componer una hoja de problemas que entregará impresa a los alumnos. En ese caso, es necesario almacenar la fecha de publicación de la hoja de problemas así como la fecha en que los alumnos deben devolverla resuelta. Se supone que cada asignatura es impartida por un único profesor. Un profesor también puede utilizar el sistema para elaborar un enunciado de examen siendo necesario almacenar la fecha en que tendrá lugar el examen y el tipo de examen (final o parcial). Debe guardarse también el porcentaje que se asignará al ejercicio dentro de la calificación global del examen así como la calificación global que obtuvo cada uno de los alumnos que se presentó al examen. Los alumnos utilizan el sistema únicamente para resolver ejercicios. El sistema debe guardar el tiempo que tarda el alumno en resolver el ejercicio así como una calificación para el mismo entre 0 y 10. 1) (2 puntos) Diseñar una base de datos que permita almacenar la información requerida por el sistema de autoevaluación previamente descrito y hacer consultas como las de los apartados 4, 5 y 6. 2) (1 punto) Transformar el diagrama E/R obtenido en el apartado anterior en un esquema relacional para la base de datos. 3) (1 punto) Dar la instrucción SQL necesaria para crear la tabla correspondiente a las asignaturas incluidas en el sistema de autoevaluación. 4) Dar razonadamente consultas del álgebra relacional que permitan obtener: 1. (1 punto) Tiempo medio que un alumno ha tardado en resolver ejercicios sobre cada uno de los temas existentes en el sistema. 2. (1 punto) Nombre de los alumnos que se han presentado a al menos un examen final de cada asignatura. 5) (1 punto) ¿Qué instrucción SQL se utilizaría para crear una vista que visualice todos los datos sobre los exámenes que tuvieron lugar en el año 2004? 6) Dar razonadamente consultas en SQL que permitan obtener: 1. (1 punto) Número de veces que ha aparecido en un examen un ejercicio con un porcentaje sobre la calificación final mayor del 20%. 2. (1 punto) Nombre del profesor que ha elaborado más exámenes finales con el sistema de autoevaluación. 7) (1 punto) Explicar brevemente las diferencias entre las siguientes operaciones en SQL: (SELECT * FROM PROFESOR_TEORIA) UNION (SELECT * FROM PROFESOR_PRACTICAS) (SELECT * FROM PROFESOR_TEORIA) UNION ALL (SELECT * FROM PROFESOR_PRACTICAS)