[Escribir el título del documento] [Año] Introducción a las Bases de Datos – FINAL 28/02/2013 Cada pregunta puede tener más de una correcta por marcar. Se considera un ejercicio bien respondido sólo si todas las preguntas correctas son marcadas. Un ejercicio bien respondido suma 1. Un ejercicio mal respondido resta 0,50. Un ejercicio sin responder se considera neutro. 1. Dado el siguiente modelo de tabla (en el modelo no se presentan claves candidatas en ninguna de las tablas): Alumnos= (id alumno, nombre, dirección, idlocalidad, numeroalumno) Localidades = (idlocalidad, nombre) Materias= (idmateria, nombre, año de curso) Cursadas = (idcursada, idalumno, idmateria, resultado, fecha) Finales = (idfinal, idalumno, idmateria, resultado, fecha) a. Indicar cuál de las siguientes consultas informa el nombre de los alumnos de La Plata Select nombre From Alumnos Where idlocalidad = (Select idlocalidad From localidades Where nombre = ‘La Plata’) Select nombre From Alumnos, Localidades Where Nombre = ‘La Plata’ and alumnos.idlocalidad=localidades.idlocalidad b. Indicar cuál de las siguientes consultas informa el nombre de los alumnos con Física aprobada a nivel cursada Select nombre From Alumnos Where idalumno =( Select idalumno From cursadas c, materias m Where m.nombre = ‘Fisica’ and m.idmateria = c.idmateria and resultado = ‘aprobado’) Select nombre From Alumnos Where idalumno Exist ( Select idalumno From cursadas c, materias m Where m.nombre = ‘Fisica’ and m.idmateria = c.idmateria and resultado = ‘aprobado’) 1 Select nombre From Alumnos Where idlocalidad in (Select idlocalidad From localidades Where nombre = ‘La Plata’) Select nombre From Alumnos, Localidades Where Localidades.Nombre = ‘La Plata’ Select nombre From Alumnos Where idalumno in ( Select idalumno From cursadas c, materias m Where m.nombre = ‘Fisica’ and m.idmateria = c.idmateria and resultado = ‘aprobado’) Select nombre From Alumnos Where Exist (Select * From cursadas c, materias m Where m.nombre = ‘Fisica’ and m.idmateria = c.idmateria and resultado = ‘aprobado’) [Escribir el título del documento] [Año] c. Indicar los alumnos que tengan todos los finales rendidos y aprobados de sus materias con cursadas aprobadas Select nombre From alumnos a Where Not exist ( (Select idmateria From cursadas c Where c.idalumno = a.idalumno and resultado = ‘Aprobado’) Except (Select idmateria From finales f Where f.idalumno = a.idalumno and resultado = ‘Aprobado’)) Select nombre From alumnos a Where Exist ( (Select idmateria From cursadas c Where c.idalumno = a.idalumno and resultado = ‘Aprobado’) Except (Select idmateria From finales f Where f.idalumno = a.idalumno and resultado = ‘Aprobado’)) d. Indicar para cada materia la cantidad de alumnos con cursada aprobada durante 2012: Select nombre, count (*) From materias m INNER JOIN cursadas c ON (m. idmateria = c.idmateria) Where resultado = ‘aprobado’ and YEAR (fecha) = 2012 Select idmateria, count (*) From materias m INNER JOIN cursadas c ON (m. idmateria = c.idmateria) Where resultado = ‘aprobado’ and YEAR (fecha) = 2012 Group By idmateria e. 2 Select nombre From alumnos a Where Not exist ( (Select idmateria From cursadas c Where c.idalumno = a.idalumno and resultado = ‘Aprobado’) Intersect (Select idmateria From finales f Where f.idalumno = a.idalumno and resultado = ‘Aprobado’)) Select nombre From alumnos a Where Not exist ( (Select idmateria From cursadas c Where c.idalumno = a.idalumno and resultado = ‘Aprobado’ and idmateria NOT IN (Select idmateria From finales f Where f.idalumno = a.idalumno and resultado = ‘Aprobado’)) Select nombre, count (*) From materias m INNER JOIN cursadas c ON (m. idmateria = c.idmateria) Where resultado = ‘aprobado’ and YEAR (fecha) = 2012 Group By nombre Select nombre, count (*) From materias m INNER JOIN cursadas c ON (m. idmateria = c.idmateria) Where resultado = ‘aprobado’ and YEAR (fecha) = 2012 Group By idmateria Dada la siguiente consulta, indicar qué informa Select nombre From alumnos a Where Not Exist (Select nombre From materias m Where Not Exist (Select idmateria From finales f Where f.idmateria = m.idmateria and f.idalumno = a.idalumno) a. Nombre de los alumnos con todas las cursadas aprobadas b. Nombre de los alumnos con todos los finales aprobados c. Nombre de los alumnos que pueden rendir los finales [Escribir el título del documento] [Año] d. Nombre de los alumnos que pueden rendir todos los finales e. Ninguna de las anteriores. f. 2. Dada la siguiente consulta, indicar qué informa {t/ (Exist s /s Ɛ alumnos) ^(Exist r/ r Ɛlocalidades ^r.localidad = s.idlocalidad ^r.nombre ) ‘La Plata’ ) ^( Exist w/w Ɛ cursadas ^w.idalumno = s.idalumno) ^(t.nombre = s.nombre ^t.materia = w.idmanteria)} a. Nombre de los alumnos y nombres de las materias en las cuales tienen la cursada aprobada. b. Nombre de los alumnos y los nombres de materias que tienen la inscripción a la cursada. c. Nombre de los alumnos de La Plata y los nombres de las materias en las cuales tienen la cursada. d. Nombre de los alumnos de La Plata, nombres de materias en las cuales tienen la inscripción a la cursada y el nombre de la localidad del alumno. e. Ninguna de las anteriores. El procesamiento de una transacción asegura la condición de atomicidad, aislamiento, durabilidad y consistencia. Para lograr la atomicidad: a. Se puede utilizar el protocolo de bloque de dos fases. b. Se puede utilizar el protocolo de hora de entrada. c. Se puede utilizar el protocolo de bitácora. d. Se puede utilizar el protocolo de doble paginación. 3. Los atributos polivalentes o compuestos pueden ser utilizados en un modelo para aumentar la expresividad y legibilidad del modelado E-R. Para poder definir atributos compuestos: a. Es necesario definir atributos polivalentes b. Es necesario incluirlos dentro de una entidad. c. Es necesario definir al menos un atributo simple que lo componga. d. Es necesario definir al menos dos atributos simples que lo compongan. 4. El proceso de optimización de consultas permite generar una consulta equivalente a la definida por el usuario, que sea más eficiente de resolver por parte del DBMS. El proceso de optimización: a. Puede llevar a resolver las selecciones como primera operación de la consulta. b. Puede llevar a resolver las proyecciones como primera operación de la consulta. c. Puede llevar a resolver los productos como primera operación de las consultas. d. Ninguna de las anteriores. 5. Los árboles balanceados representan una estructura organizacional válida y eficiente para el tratamiento de índices. Un árbol balanceado: a. Debe ser multicamino. b. Debe tener sus nodos llenos. c. Debe tener más punteros que elementos en sus nodos no terminales. d. Debe tener sus nodos llenos en 2/3 de su capacidad. 3 [Escribir el título del documento] [Año] Respuestas (corregidas por la cátedra) Pregunta Respuesta 1–a b 1–b a, b 1–c a, d 1–d c 1–e e 1–f e 2 c, d 3 d 4 a,b* 5 a, c *sin confirmar 4