Download examen junio - GPD

Document related concepts
no text concepts found
Transcript
Facultad de Informática
Bases de Datos y Sistemas de la Información
UCM-360-98-438 – Opt.A- Ingeniero en Informática
FINAL JUNIO - 22/06/2012
1. [1.5 puntos] Tenemos que representar el diagrama Entidad-Relación de una empresa
agropecuaria. La empresa tiene diversas granjas, cada una con su nombre único. De
cada granja interesa conocer además el número de hectáreas, y los datos de su
encargado: DNI (único), nombre y apellidos. Además se sabe que cada granja tiene un
único encargado, aunque un encargado puede serlo de varias granjas. Algunas granjas
forman parte de otras granjas mayores.
2. [6 puntos] Se han recopilado datos de diferentes parques eólicos. Cada parque tiene
varios generadores (molinos de viento). Cada generador tiene un identificador, único
dentro del parque, gen. El dato apuntado se refiere al momento temporal, el tipo de
dato (velocidad del viento, revoluciones por minuto, etc), y el valor del dato medido.
La tabla con esta información está definida así:
create table datos(
parque int,
gen int,
momento time,
rpm float,
primary key(parque, gen, momento)
);
Escribir instrucciones SQL (excepto en el apartado b) para:
a) Parques distintos con algún generador con identificador común.
Select p1.id, p2.id
From datos d1, datos d2
Where d1.id<>d2.id and d1.gen=d2.gen;
b) La consulta anterior en álgebra relacional.
c) Rpm media de todos los generadores del parque 4 tales que tienen más de 8
medidas (más de 8 filas para ese generador en ese parque),
Créate view Masde8(gen) as
Select gen
From datos
Where parquet=4
Group by parque, gen
Having count(*)>8;
Select AVG(rpm)
From datos
Where datos.parque=4 and gen in (select * from Masde8)
Group by datos.parque
Facultad de Informática
Bases de Datos y Sistemas de la Información
UCM-360-98-438 – Opt.A- Ingeniero en Informática
FINAL JUNIO - 22/06/2012
d) Para cada parque mostrar el identificador del generador que ha alcanzado mayor
rpm en ese parque. La salida debe ser de la forma
Parque
Generador
--------- -------------3
5
4
2
5
5
Créate view maxGen(parque,gen,n)
Select parque, gen, max(rpm)
from datos
group by parque,gen;
CREATE view maxRPM(parque,n)
Select A.parque, A.gen
From maxGen A
Where A.n = (select (max n) from maxGen B where B.parque=A.parque);
e) Enumerar los identificadores de todos los generadores (y de los parques en los que
se encuentran) tales que:
a. Tienen medidas (al menos) en los mismos momentos que el generador 8
del parque número 4.
b. El total de medidas del generador (en su parque) es estrictamente mayor
que la del generador 8, parque número 4.
Créate view mismasmedidas(parque,gen) as
Select distinct A.parque,A.gen
From datos A
Where not exists
(select * from datos B
where B.parque=4 and B.gen=8 and not exists
(select * from datos C
where C.parque=A.parque and C.gen = A.gen and
C.momento = B.momento));
Create view totalmedidas as
Select A.parque, A.gen
From datos A
Group by A.parque, A.gen
Having count(*)>(select count(*) from datos B
where B.parque=4 and B.gen=8);
select * from mismasmedidas
intersection
select * from totalmedidas;
Facultad de Informática
f)
Bases de Datos y Sistemas de la Información
UCM-360-98-438 – Opt.A- Ingeniero en Informática
FINAL JUNIO - 22/06/2012
Parejas de generadores del mismo parque tales que no tienen ninguna medida en
el mismo momento. La salida será de la forma:
Parque
Generador1
Generador2
--------- ----------------------3
5
4
4
2
3
5
5
1
Select distinct A.parque ‘parque’, A.gen ‘Generador 1’,
B.gen ‘Generador 2’
From datos A, datos B
Where A.parque = B.parque and
not exists (select * from datos A2, datos B2
where A2.parque = A.parque and
B2.parque = B.parque and
A2.gen = A.gen and
B2.gen = B.gen and
A2.momento = B2.momento);
3. [2.5] Consideramos el esquema R(A,B,C,D,E,F, G) con dependencias funcionales:
AB
CD
DB
EF
→
→
→
→
C
E
F
A
a) [1.5] Obtener razonadamente las claves candidatas
Sol.
Se comprueba que es un recubrimiento mínimo.
No aparecen en el lado derecho ni B, ni D, ni G. Las 3 deben estar en toda clave
candidata.
¿Es {B,D,G} clave} {B,D,G}+ = {B,D,F, G} No es clave.
Añadimos un atributo. Posibilidades
 A. {A,B,D,G}+ = {A,B,C,D,E,F,G} Sí, es clave candidata.
 C. {B,C,D,G}+ = {B,C,D,E,F,G,A}. Sí, es clave candidata.
 E. {B,D,E,G}+ = {B,C,D,E,F,G,A} Sí, es clave candidata.
 F. No, sería superclave porque está en el cierre de {B,D,G}.
Respuesta: 3 claves: {A,B,D,G}, {B,C,D,G}, {B,D,E,G}.
b) [1] ¿En qué forma normal está R?
Sol.
Atributos no primos: {F}.
No está en 2FN porque F depende de DB, que son parte de una clave.
Facultad de Informática
Respuesta: 1FN
Bases de Datos y Sistemas de la Información
UCM-360-98-438 – Opt.A- Ingeniero en Informática
FINAL JUNIO - 22/06/2012