Final del 11/08/08 (Bases de Datos)

De Cuba-Wiki

Plantilla:Back

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)