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