Ejercicios de Álgebra Relacional Resueltos página 1 de 3

Ejercicios de Álgebra Relacional Resueltos página 3 de 3 Jesús Miguel Donoso Arévalo BDA 25. Obtener los códigos de proyectos que usen al menos una pi...

31 downloads 341 Views 90KB Size
Ejercicios de Álgebra Relacional Resueltos

página 1 de 3

Dado el esquema: Suministrador(cods: d_cods, noms: d_noms, estado: d_estado, ciudad: d_ciudad) Pieza(codp: d_codp, nomp: d_nomp, color: d_color, peso: d_peso, ciudad: d_ciudad) Proyecto(codj: d_codj, nomj: d_nomj, ciudad: d_ciudad) Pedido(cods: d_cods, codp: d_codp, codj: d_codj, cant: d_cant) Responded a las siguientes preguntas: 1. Obtener todos los atributos de todos los proyectos. PROYECTO 2. Obtener todos los atributos de todos los proyectos en Londres. PROYECTO DONDE ciudad=’Londres’ 3. Obtener los códigos de los suministradores del proyecto J1. PEDIDO DONDE codj=’J1’ 4. Obtener los suministros cuya cantidad esté entre 300 y 750 inclusive. PEDIDO DONDE cantidad >=300 ∧ cantidad<=750 5. Obtener todas las ocurrencias de Pieza.color y Pieza.ciudad eliminando los pares duplicados. PIEZA[color, ciudad] 6. Obtener todos los posibles tríos de código de suministrador, de pieza y de proyecto en los que el suministrador, pieza y proyecto estén todos en la misma ciudad. SUMINISTRADOR ►◄ PIEZA ►◄ PROYECTO O (SUMINISTRADOR(ciudad, ciudad_suministrador) x PIEZA(ciudad,ciudad_pieza) x PROYECTO) DONDE ciudad_suministrador = ciudad_pieza ∧ ciudad_pieza = pieza 7. Obtener los códigos de suministrador, de pieza y de proyecto de aquellos suministros en los que el suministrador, pieza y proyecto estén todos en la misma ciudad. (PEDIDO ►◄ SUMINISTRADOR►◄ PIEZA►◄ PROYECTO)[cods, codp, codj] 8. Obtener todos los posibles tríos de código de suministrador, de pieza y de proyecto en los que el suministrador, pieza y proyecto no estén todos en la misma ciudad. ((SUMINISTRADOR(ciudad, ciudad_suministrador) x PIEZA(ciudad,ciudad_pieza) x PROYECTO) DONDE ciudad_suministrador ≠ ciudad_pieza ∨ ciudad_pieza ≠ ciudad ∨ ciudad_suministrador ≠ ciudad) [cods, codp, codj]

Jesús Miguel Donoso Arévalo

BDA

Ejercicios de Álgebra Relacional Resueltos

página 2 de 3

9. Obtener todos los posibles tríos de código de suministrador, de pieza y de proyecto en los que el suministrador, pieza y proyecto no estén ninguno en la misma ciudad. ((SUMINISTRADOR(ciudad, ciudad_suministrador) x PIEZA(ciudad,ciudad_pieza) x PROYECTO) DONDE ciudad_suministrador ≠ ciudad_pieza ∧ ciudad_pieza ≠ pieza ∧ ciudad_suministrador ≠ pieza) [cods, codp, codj] 10. Obtener las piezas suministradas por suministradores de Londres. ((PEDIDO ►◄ SUMINISTRADOR) DONDE ciudad=’Londres’)[codp] 11. Obtener las piezas suministradas por suministradores de Londres a proyectos en Londres. (PEDIDO ►◄ SUMINISTRADOR ►◄ PROYECTO)DONDE ciudad=’Londres’[codp,nomp] 12. Obtener todos los pares de nombres de ciudades en las que el suministrador de la primera sirva a un proyecto de la segunda. (PEDIDO ►◄ SUMINISTRADOR ►◄ PROYECTO(ciudad,ciudad_proyecto)) [ciudad,ciudad_proyecto] 13. Obtener códigos de piezas que sean suministradas a un proyecto por un suministrador de la misma ciudad del proyecto. (PEDIDO ►◄ SUMINISTRADOR ►◄ PROYECTO)[codp] 14. Obtener códigos de proyectos que sean suministrados por un suministrador de una ciudad distinta a la del proyecto. ((PEDIDO ►◄ SUMINISTRADOR ►◄ PROYECTO(ciudad,ciudad_proyecto)) DONDE ciudad_proyecto ≠ ciudad) [codj] 15. Obtener todos los pares de códigos de piezas suministradas por el mismo suministrador. ((PEDIDO x PEDIDO ((cods,cods_par),(codp,codp_par),(codj,codj_par)(cant,cant_par))) DONDE cods=cods_par ∧ codp
Jesús Miguel Donoso Arévalo

BDA

Ejercicios de Álgebra Relacional Resueltos

página 3 de 3

25. Obtener los códigos de proyectos que usen al menos una pieza suministrada por S1. (PEDIDO DONDE cods =’S1’)[codj] 26. Obtener los códigos de suministradores que suministren al menos una pieza suministrada al menos por un suministrador que suministren al menos una pieza de color rojo. (PEDIDO►◄ ((PEDIDO►◄ ((PEDIDO►◄ (PIEZA DONDE color=’rojo’)[codp])[cods]))[codp]))[cods] 27. Obtener los códigos de suministradores con estado menor que S1. ((SUMINISTRADOR[cods,estado])((cods,cods_1)(estado,estado_1)) x SUMINISTRADOR DONDE cods=’S1’ ∧ estado_1 < estado)[cods_1] 30. Obtener los códigos de los proyectos que no reciben ninguna pieza roja suministrada por algún suministrador de Londres. PROYECTO[codj]- ((PEDIDO ►◄ PIEZA DONDE color=’rojo’) ►◄ SUMINISTRADOR DONDE ciudad=’Londres’)[codj] 31. Obtener los códigos de los proyectos suministrados únicamente por S1. PEDIDO[codj] – (PEDIDO DONDE cods≠’S1’)[codj] 32. Obtener los códigos de piezas suministradas a todos los proyectos en Londres. PEDIDO[codp,codj] ÷PROYECTO DONDE ciudad=’Londres’[codj] 33. Obtener los códigos de los suministradores que suministren al menos la misma pieza a todos los proyectos. PEDIDO[cods,codp,codj] ÷ PROYECTO[codj] 34. Obtener los códigos de los proyectos que reciban al menos todas las piezas que suministra S1. PEDIDO[codp, codj] ÷ (PEDIDO DONDE cods=’S1’)[codp]

Jesús Miguel Donoso Arévalo

BDA