Estructura de Dades i de la Informació II Pàgina 1 Estructura de Dades i de la Informació II Pàgina 2 Tests. Examen Setembre 2002-03 2) Dada la siguiente consulta. Podemos afirmar que: Estructura de Dades i de la Informació 2 Solució Examens TEORIA select codi_emp from Empleats where sou = (select min(sou) from Empleats group by codi_dept); a) Devuelve, para cada departamento, los códigos de los empleados que tienen el menor sueldo. b) Es incorrecta, pero añadiendo la palabra reservada ANY antes de la subconsulta entonces la consulta ya devuelve, para cada departamento, los códigos de los empleados que tienen el menor sueldo. c) Es incorrecta, pero añadiendo la palabra reservada ALL antes de la subconsulta entonces la consulta ya devuelve, para cada departamento, los códigos de los empleados que tienen el menor sueldo. d) Ninguna de las demás respuestas es correcta. Estructura de Dades i de la Informació II Pàgina 3 Tests. Examen Gener 2002-03 1) Dadas las siguientes relaciones: R(a, b, c) y S(d, e, f) podemos afirmar que: a) R está en segunda forma normal (2FN) y S no está en tercera forma normal (3FN). b) Ni R ni y S están en 2FN. c) R está en 2FN y S está en 3FN. d) Ninguna de las demás respuestas es correcta. Estructura de Dades i de la Informació II Pàgina 4 Tests. Examen Gener 2002-03 2) Dada la tabla R(a) y las consultas Q1 y Q2: Q1: SELECT a FROM R rr WHERE NOT EXISTS (SELECT * FROM R WHERE a > rr.a); Q2: SELECT MAX(a) FROM R; a) Las consultas Q1 y Q2 producen siempre el mismo resultado. b) La consulta Q1 puede devolver más filas que la consulta Q2. c) La consulta Q2 puede devolver más filas que la consulta Q1. d) Las consultas Q1 y Q2 producen resultados distintos, pero con el mismo número de filas. Estructura de Dades i de la Informació II Pàgina 5 Tests. Examen Setembre 2002-03 7) Dada la relación Empleats(codi_emp, dni, num_SS, nom, cog1, cog2) el conjunto de claves candidatas de la relación es: a) Claves_Candidatas = { {codi_emp}, {dni}, {num_SS}, {nom, cog1, cog2} } b) Claves_Candidatas = { {codi_emp}, {dni, num_SS} } c) Claves_Candidatas = { {codi_emp}, {dni}, {num_SS} } d) Claves_Candidatas = { {codi_emp} } Estructura de Dades i de la Informació II Pàgina 6 Tests. Examen Gener 2002-03 3) Dada la tabla Empleados(codigo,salario,codigo_dept) y la siguiente transacción: T: (Q1) SELECT avg(salario) FROM Empleados; <read-only activity> (Q2) SELECT avg(salario) FROM Empleados; commit; Suponed que todas las otras transacciones de la BD están definidas con nivel de aislamiento serializable y que sólo hacen consultas y updates. ¿Cuál es el nivel de aislamiento mínimo imprescindible (según el estándar ANSI/SQL92) con el que habría que definir la transacción T para que las consultas Q1y Q2 muestren siempre el mismo resultado? a) READ UNCOMMITTED. b) READ COMMITTED. c) REPEATABLE READ. d) SERIALIZABLE. 1 Estructura de Dades i de la Informació II Pàgina 7 Tests. Examen Gener 2002-03* 5) Dadas las relaciones; R(a, e) , S(b, c) y T(c, d) y las siguientes tuplas: R(a, e) S(b, c) T(c, d) <0, 1> <4, 5> <8, 9> <1, 2> <5, 2> <5, 6> <5, 10> <13, 10> <2, 3> <6, 7> <10, 11> <10, 3> El número de tuplas resultado de las siguientes operaciones del álgebra relacional es: Res’ = R [e > b] S Resultado = Res’ * T a) 5. b) 6. c) 10. d) 13. Estructura de Dades i de la Informació II Pàgina 8 Tests. Examen Gener 2002-03 6) ¿Cuál de las siguientes afirmaciones es cierta? a) Si una BD relacional no está normalizada hasta BCNF entonces hay inconsistencia en los datos. b) El problema de la inconsistencia en los datos provoca una ocupación innecesaria del tamaño de la BD. c) Si una BD relacional no está normalizada hasta BCNF entonces puede haber redundancia en los datos. d) Todas las demás son falsas. Estructura de Dades i de la Informació II Pàgina 9 Tests. Examen Gener 2002-03 15) En un sistema de BD relacional se puede implementar un mecanismo de clave primaria mediante: a) b) c) d) un trigger. la restricción UNIQUE y un CHECK constraint. la restricción NOT NULL y un CHECK constraint. la restricción UNIQUE. Estructura de Dades i de la Informació II Pàgina 10 Tests. Examen Desembre 2001* 8) Dadas las relaciones R y S: R(a1, a2, a3) S(a1, a2, a3) 123 456 234 557 443 113 324 456 324 a) La tupla <3,3,3,5,5,7> es una de las tuplas resultantes de hacer el producto cartesiano entre R y S. b) La operación R UNION S devuelve 9 tuplas. c) La relación Resultado contiene 4 tuplas. R1[A1’] := R [A1] Resultado := R1 [A1’ > A1] S d) Ninguna de las demás respuestas es correcta. (!!!) Estructura de Dades i de la Informació II Pàgina 11 Tests. Examen Desembre 2001 10) Suponed que un cliente de un banco puede tener distintas cuentas corrientes y que una cuenta corriente puede ser compartida por distintos clientes. ¿Cuál de los siguientes modelos relacionales es el más adecuado para gestionar las cuentas corrientes del banco? a) CuentasCorrientes(numCC, tipo, balance) Clientes(codigo, nombre, dirección) Tiene(numCC, cod_cliente) b) CuentasCorrientes(numCC, tipo, balance) Clientes(codigo, nombre, dirección) Tiene(numCC, cod_cliente) c) CuentasCorrientes(num_CC, tipo, balance) Clientes(codigo, nombre, dirección) Tiene(numCC, cod_cliente) d) Ninguna de las demás. Estructura de Dades i de la Informació II Pàgina 12 Tests. Examen Desembre 2001 11) Dada la relación cuaternaria siguiente: C 1 A Y las siguientes ocurrencias de la relación R: I) < a1, b1, c1, d1 > < a1, b1, c2, d2 > II) < a1, b1, c1, d1 > < a1, b1, c1, d2 > III) < a1, b1, c1, d1 > < a1, b2, c1, d1 > N R M B 1 D 2 Estructura de Dades i de la Informació II Pàgina 13 Estructura de Dades i de la Informació II Pàgina 14 Tests. Examen Desembre 2001 Tests. Desembre 99-00 3) Para las siguientes tablas Emp, y Dept es posible crear los siguientes objetos: a) I es incorrecto b) II es incorrecto c) III es incorrecto d) I, II i III son correctos Emp (empno, ename, job, manager, sal, deptno) Dept (deptno, dname, loc) a) Una clave foránea en Emp.manager que referenciase a la clave primaria de Emp (Emp.empno) b) Una clave foránea en Emp.deptno que referenciase a la clave primaria de Emp (Emp.empno) c) Una clave primaria en Emp.deptno d) Una clave foránea en Dept.deptno que referenciase a la clave primaria de Emp (Emp.empno) Estructura de Dades i de la Informació II Pàgina 15 Estructura de Dades i de la Informació II Pàgina 16 Tests. Desembre 99-00 7) Analice el comportamiento de la siguiente consulta. Emp (empno, ename, job, mgr, sal, deptno) select * from emp where sal in (select max(sal) from emp) order by sal desc; Es cierto que: a) Devuelve una lista de empleados ordenados por salario de mayor a menor. b) Se produce un error, aunque si eliminamos la cláusula order by funcionará bien. c) Se produce un error. d) Devuelve el(los) empleado(s) con mayor salario. Estructura de Dades i de la Informació II Pàgina 17 Tests. Setembre 2003-04. Perm1 7) Donada la taula Empleats(codi_emp, nom, sou, codi_emp_manager), volem obtenir el codi d’aquells empleats que tenen com a manager el mateix que té l’empleat amb codi 123. Donada les dues sentències SQL (I i II), podem afirmar que: (I) SELECT ee.codi_emp_manager FROM Empleats ee , Empleats ff WHERE ee.codi_emp_manager = ff.codi_emp_manager AND ff.codi_emp = 123; (II) SELECT codi_emp FROM Empleats WHERE codi_emp_manager IN ( SELECT codi_emp FROM Empleats WHERE codi_emp_manager = 123 ); a) I i II retornen el resultat correcte. b) Només I retorna el resultat correcte. c) Només II retorna els resultat correcte. d) Ni I ni II retornen els resultats correctes. Tests. Desembre 99-00. Perm 3 13) Para el fragmento de código siguiente se puede afirmar que: 1: create or replace procedure Proc_Raise_Sal (x_deptno number, x_increment number) is 2: 3: cursor c1 is select * from emp; … 8: c1_rec Emp%ROWTYPE; 9: begin … 11: open (c1); 13: loop 14: fetch c1 into c1_rec; 15: exit when c1_rec%NOTFOUND; … 21: end loop; … 27: end; a) b) c) d) Ninguna de las demás respuestas es cierta. Existe un error en la línea 14. Existe un error en la línea 15. Existe un error en la línea 8. Estructura de Dades i de la Informació II Pàgina 18 Tests. Setembre 2003-04. Perm1 2) Donada la seqüència de sentències (ordenada temporalment; t0...t5) on T1 i T2 són dues transaccions diferents, i donada la relació R(u): t0: (T1) set transaction isolation_level serializable; t1: (T2) set transaction isolation_level read committed; t2: (T1) insert into R(u) values (4); t3: (T2) insert into R(u) values (7); t4: (T2) update R set u =(-1)*u where u<5; t5: (T2) commit; a) Després de l’instant t5, la fila inserida per T2 a l’instant t3, serà visible per la transacció T1. b) La transacció T2 es bloqueja a l’instant t3. c) Cap de les altres afirmacions es certa. d) La transacció T2 es bloqueja a l’instant t4. 3 Estructura de Dades i de la Informació II Pàgina 19 Tests. Gener 2002-03. Perm1 4) Dada la tabla Empleados(codigo,salario,...) y el siguiente trigger el cuál evita que cada vez que se modifica el salario de un empleado, si cobra menos de 1000 €, el nuevo salario sea superior a 1000 €. ¿Qué valores han de tener CCCC, XXXX, YYYY para que el trigger sea correcto? create or replace trigger Trigger_Incremento_Salario CCCC of salario on Empleados for each row when (XXXX < 1000) begin if (YYYY > 1000) then raise_application_error(-20000,’Salario demasiado alto’); end if; end Trigger_Incremento_Salario; a) CCCC = after update b) CCCC = before update c) CCCC = after update d) CCCC = before update XXXX = :old.salario XXXX = :old.salario XXXX = old.salario XXXX = old.salario YYYY = :new.salario YYYY = :new.salario YYYY = :new.salario YYYY = new.salario Estructura de Dades i de la Informació II Pàgina 20 Tests. Gener 2002-03. Perm1 4) Dadas las relaciones R(a,b) y S(a,c) puede afirmarse que: a) Las siguientes sentencias son equivalentes: select b from R where a not in (select a from S); select b from R,S where R.a = S.a; b) Las siguientes sentencias son equivalentes: select distinct c from S order by c; select c from S group by c order by c; c) Las siguientes sentencias son equivalentes: select distinct c from S where c is not null order by c; select c from S group by c order by c; d) Las siguientes sentencias son equivalentes: select max(b) from R; select max(b) from R group by a; Estructura de Dades i de la Informació II Pàgina 21 Tests. Gener 2002-03. Perm1 10) Dado el siguiente modelo entidad-relación: y una transformación al modelo relacional: Empleats(codi, nom, cognom1, cognom2, sou, codi_dept) Departaments(codi, nom, codi_emp_jefe) Teniendo en cuenta el modelo entidad-relación y su transformación al modelo relacional ¿Cuál de las siguientes opciones permiten indicar la restricción de integridad: “un empleado sólo es jefe de un único departamento”? a) codi_emp_jefe: Foreign Key (Empleats) + Not Null + Unique b) codi_emp_jefe: Foreign Key (Empleats) + Unique c) codi_emp_jefe: Foreign Key (Empleats) + Check(codi_emp_jefe is not null) d) La única forma de validar la restricción de integridad es mediante un trigger. 4