Final del 11/08/08 (Bases de Datos)
De Cuba-Wiki
Ejercicio 1
Este ejecicio fue multiple choice, de todo un poco, pongo algunas que recuerdo. Decir verdadero o falso:
- a) El protocolo 2PL previene de deadlock
- b) El protocolo 2PL previene abort en cascada
- c) SQL usa elementos de AR y CRT
- d) Dada una dependencia {empleado, proyecto}-> idProyecto , decir cual vale:
- d1) Puede haber dos proyectos con el mismo nombre
- d2) Puede haber muchos proyectos con distinto nombre, etc
Rta
Ejercicio 2
Calcular la base de dependencias de B dado el siguiente conj de dependencias:
B->->D DF->->E A->C (y otras mas..)
Rta
Ejercicio 3
Dada la fact table de un datawarehouse (A,B,C son dimensions; D es measure) y una operacion de agregacion SUM.
A B C D a1 b1 c1 20 a1 b2 c2 20 a2 b3 c3 40 a3 b4 c4 30
- a)Definir en sql el operador CUBE para la agregacion
- b)Escribir el resultado de aplicar dicho operador
Rta
Ejercicio 4
- a) Escribir modelo relacional el escenario: ciudades y caminos entre las ciudades
- b) Escribir dado el modelo anterior la consulta en AR "dar todas las ciudades no alcanzables desde c1 una ciudad"
- c) Idem para "todas las ciudades alcanzables desde c1"
Rta (Revisar)
a)
CIUDAD(cid,cnombre) ; PK=CK={cid};FK={}
CAMINO(cid1,cid2) ; PK=CK={(cid1,cid2)};FK={cid1,cid2}
-- no se si aca la idea es decir que no se pueden hacer estas consultas recursivas en algebra relacional --
b) Siendo N la cantidad de ciudades:
- CAM(1) = ∏cid2 σcid1='c1'(CAMINO)
- CAM(2) = CAM(1) U ∏cid2(CAM(1){cid2->cid1} |x| CAMINO)
- ...
- CAM(N) = CAM(N-1) U ∏cid2(CAM(N-1){cid2->cid1} |x| CAMINO)
Ciudades NO alcanzables desde c1 = ∏cid(CIUDAD) \ CAM(N)
c) Ciudades alcanzables desde c1 = CAM(N)