Universidad de Concepción Departamento de Ing. Informática y Cs. de la Computación CONTROL I: Bases de Datos Prof. Andrea Rodrı́guez, Ayudante: Rodrigo Dı́az Miércoles 10 de septiembre de 2014 1. Se le ha encargado diseñar una base de datos que maneje información de sensores que monitorean el consumo eléctrico de las reparticiones de la Universidad y que permitan un estudio para el uso eficiente de energı́a. Para lo anterior tome en cuenta lo siguiente (2). La Universidad está compuesta de facultades con sus autoridades respectivas (decano y vicedecano). Las facultades tiene uno o más edificios compuestos de salas de clases o laboratorios en diferentes pisos enumerados como piso 1, 2, 3, etc, en cada edificio. Existe además un encargado del edificio. En cada edificio se instalan uno o más sensores (identificados por su id) y cada sensor extrae datos de consumo a diferentes instantes de tiempo pero en la misma unidad de medida por sensor. Existe un sensor por piso, y las salas o laboratorios se agrupan por piso, es decir, los laboratorios están todos en un piso, sea este piso cualquiera del edificio. Considere si es necesario especificar restricciones que no puedan ser modeladas con el diagrama E/R. 2. En siguiente modelo, agregue las siguientes condiciones al modelo E/R y traspase luego al modelo relacional (omitiendo dominios): (2) a) Se desea agregar un coleccionista con su nacionalidad, nombre y dirección, donde un coleccionista puede poseer una o varias obras. b) El propietario de una obra es un pintor, museo, o coleccionista (en forma exclusiva), los cuales son propietarios de las reproducciones que tengan una data inferior a 50 años de antigüedad. 1 Universidad de Concepción Departamento de Ing. Informática y Cs. de la Computación técnica propietario medida (0,1) (1,n) fecha código cuadro posee (0,n) nombre (1,1) nombre dirección fecha_nacimiento (t,d) (1,1) pinta nombre dirección (1,n) fecha_muerte (1,n) reproduce pintor número reproducción fecha nacionalidad (0,n) museo (1,n) coleccionista mecenazgo (1,n) metro nacionalidad Mecena periodo ciudad pais fecha termino fecha inicio nombre 3. Dado tres relaciones R1 (A, B, C), R2 (B, D, E) y R3 (A, B), donde R1 , R2 y R3 contienen n1 , n2 , n3 tuplas, respectively, y atributo B es una clave foránea de A a B. Entregue los valores mı́nimos y máximos para cada una de las siguientes expresiones del álgebra relacional, asumiendo que las condiciones se dan para que se puede aplicar la expresión (0.4): a) πA,B (R1 o nnat R2 ) − R3 b) R3 ∩ πA,B (R1 o nnat R2 ) 4. Usando el siguiente esquema relacional (sin dominios) responda las siguientes consultas. (1.6) CLIENTE(rut cliente, nombre cliente, ciudad) AUTO(patente,marca,modelo,color) GARAGE(id garage, nombre nombre, ciudad) PROPIETARIO(rut cliente, patente) FK rut cliente FROM CLIENTE(rut cliente) FK patente FROM AUTO(patente) SERVICIO(id garage, patente) FK id garage FROM GARAGE(id garage) FK patente FROM AUTO(patente) Responda en álgebra relacional las siguientes consultas (1): a) Indique los nombres de clientes que hayan llevado sus autos al garage con id X o Y, pero no Z. 2 Universidad de Concepción Departamento de Ing. Informática y Cs. de la Computación b) Encontrar las patentes de automóviles que han sido servidos o reparados por un único garage. c) Indique los ruts de propietarios que tengan autos que no hayan sido atendidos en el garage con id Y. d ) Indique los clientes cuyos autos (todo los autos) son servidor por garages solo de la ciudad de Concepción. 3 Universidad de Concepción Departamento de Ing. Informática y Cs. de la Computación 1. Un modelo posibles es: encargado (1,1) componen (1,n) nombre numero piso (1,1) edificio (1,n) (1,1) ubica2 (1,1) ubica1 (1,1) id id (1,1) tiene sensor unidad decano Instalalación (1,n) (1,n) sensa nombre facultad laboratorio (1,1) sala vicedecano datos fecha valor Algunas restricciones adicionales son: (i) salas o laboratorios se agrupan por piso en cada edificio. 2. Las respuestas son: a) Un modelo posibles es el siguiente: técnica propietario medida (0,1) (1,n) posee fecha código cuadro (0,n) nombre (1,1) nombre dirección fecha_nacimiento (t,d) (1,1) pinta nombre dirección (1,n) fecha_muerte (1,n) reproduce pintor número reproducción fecha nacionalidad (0,n) museo (1,n) coleccionista mecenazgo (1,n) metro nacionalidad Mecena periodo ciudad pais fecha termino fecha inicio nombre Se debe indicar que un cuadro que no es de un museo o coleccionista es del pintor que lo ha creado. 4 Universidad de Concepción Departamento de Ing. Informática y Cs. de la Computación b) El modelo relacional es el siguiente (omitiendo los dominios de los atributos): CUADRO(codigo, tecnica, medida,fecha,nombre,pintor,propietario) 0.2 FK pintor de PINTOR(nombre) FK propietario de PROPIETARIO(nombre) REPRODUCCION(codigo, numero,fecha) 0.2 FK codigo de CUADRO(codigo) PINTOR(nombre,fecha nacimiento,fecha muerte,nacionalidad,direccion) 0.1 COLECCIONISTA(nombre,nacionalidad) 0.2 FK nombre de PROPIETARIO(nombre) MUSEO(nombre,metros) 0.2 FK nombre de PROPIETARIO(nombre) PROPIETARIO(nombre,nacionalidad) 0.1 MECENA(nombre,ciudad, pais) 0.1 MECENAZGO(nombre pintor,nombre mecena,fecha inicio,fecha termino) 0.4 FK nombre pintor de PINTOR(nombre) FK nombre mecena de MECENA(nombre) 3. Las respuestas son: Para responder esto uno debe considerar: (i) una clave foránea puede tener valor nulo, (ii) Si no se dice nada de los atributos A y B en R3 , no podemos asumir necesariamente que sean claves foráneas de R1 y R2 . a) min: 0, max : n1 b) min: 0, max: n3 4. Unas respuestas posible son: R1 ← (SERV ICIO o nnat P ROP IET ARIO) R2 ← πrut cliente (σ(id garage=0 X 0 )OR(id garage=0 Y 0 ) (R1 )) R3 ← πrut cliente (σid garage=0 Z 0 (R1 )) ← πnombre cliente ((R2 − R3 ) o nnat CLIEN T E) (1) R1 ← SERV ICIO R2 ← SERV ICIO R3 ← πR1.patente (R1 o nR1 .patente=R2 .patenteAN DR1 .id ← πpatente (SERV ICIO) − R3 R1 ← πrut ← πrut 5 R2 ) (2) cliente (σid garage=0 Y 0 (SERV cliente (P ROP IET ARIO) garage6=R2 .id garage ICIO) o nnat P ROP IET ARIO) − R1 (3) Universidad de Concepción Departamento de Ing. Informática y Cs. de la Computación R1 ← (SERV ICIO) o nnat GARAGE o nnat P ROP IET ARIO) R2 ← πrut ← πrut cliente (σciudad6=0 Concepcion0 (R1 )) cliente (CLIEN T E) − R2 (4) 6