Cátedra: Ale
Fecha: 5ta oportunidad 1er cuat 2012
Día: 15/08/2012
Dada la relación y el conjunto de dependencias
Cuál de las siguientes descomposiciones de R:
a)
b)
a) preserva las dependencias
b) es una descomposición sin pérdida de información
Sean los siguientes esquemas relacionales:
Vuelo(VueloNro, Desde, Hacia, Distancia, Partida, Arribo, Precio)
Aeronave(AId, ANombre, Rango)
Certificado(EId, AId)
Empleado(EId, Enombre, Sueldo)
La relación Empleado contiene datos de todos los empleados de la compañía, entre ellos los pilotos.
En la relación Certificado solo figuran los pilotos certificados para volar una determinada aeronave.
Responder la siguiente consulta en SQL:
“Listar los nombres de los pilotos que pueden volar aeronaves con rango de crucero mayor a 5000 millas pero que no están certificados en ningún avión Boeing”
Describir detalladamente el método de junta con índice de agrupamiento y dar su costo.
La siguiente es la matriz de compatibilidad para tres modos de locks hipotéticos X, Y y Z.
Recordar que se puede otorgar un lock sobre un elemento A de la base de datos en el modo representado por columna j si y solo si no hay ninguna otra transacción que tiene un lock sobre A en algún modo i, donde la posición i,j de la matriz tiene un “no”.
X | Y | Z | |
---|---|---|---|
X | Yes | Yes | No |
Y | No | Yes | Yes |
Z | Yes | No | Yes |
De las tres afirmaciones siguientes:
1. Es posible para diferentes transacciones mantener locks sobre el mismo elemento de base de datos en los modos X y Z al mismo tiempo
2. Es posible para más de una transacción mantener un lock sobre algún elemento de la base de datos en modo Z, al mismo tiempo que otra transacción mantiene un lock sobre el mismo elemento en modo Y.
3. Es posible para diferentes transacciones mantener locks sobre el mismo elemento en los tres modos de lock al mismo tiempo.
Cuáles son verdaderas?
a) 1 solamente
b) 2 solamente
c) 1 y 2 solamente
d) 1 y 3 solamente
e) 1, 2 y 3
Lo que hice fue aplicar el algoritmo de test de perdidas de dfs y el de chase para testear si es spi.
Igualmente el chase se hacía muy largo para los 2 casos… lo hice para uno y para el otro dije que como se pierde H en la descomposición no es spi.
Basicamente es hacer junta natural y agregar las condiciones: millas>5000 y EId NOT IN un subselect que seleccione los del boeing (tambien haciendo la junta).
select e.Enombre from Empleado e, Certificado c, Aeronave a where e.Eid = c.Eid and c.Aid = a.Aid and a.Rango > 5000 and e.Eid NOT IN (select c1.Eid from Certificado c1, Aeronave a1 where c1.aid = a1.Aid and a1.ANombre = “Boeing” group by c1.Eid);
Ver en apuntes/libro
Puse 2 solamente… hay que tomarse un tiempo para entender como leer la matriz y sale.