25.07.2013 Views

MC/MER/MR

MC/MER/MR

MC/MER/MR

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

COMPOSICION DE RELACIONES<br />

FIUBA - 75.15/75.28 BASE DE DATOS - Marzo 2010<br />

Las operaciones presentadas, encadenadas sucesivamente y aplicadas a las relaciones, permiten<br />

elaborar consultas complejas sobre una base de datos relacional.<br />

A continuación presentaremos un conjunto de ejemplos que permiten visualizar la construcción de<br />

expresiones necesarias para consultar una base de datos relacional.<br />

Sean las relaciones:<br />

pedido (PEDIDO)<br />

producto (PRODUCTO)<br />

proveedor (PROVEEDOR)<br />

PROVEEDOR PROVE# APELLIDO<br />

128 Gomez<br />

547 García<br />

328 Valenti<br />

PRODUCTO P# NOMBRE COLOR<br />

12 Rueda Rojo<br />

33 Tuerca Azul<br />

22 Perno Rojo<br />

34 Tuerca Verde<br />

PEDIDO P# PROVE# CANTIDAD<br />

34 547 100<br />

33 547 150<br />

12 128 360<br />

34 328 230<br />

12 547 70<br />

22 328 200<br />

22 547 240<br />

fig.13<br />

a) Obtener los nombres de aquellos proveedores que suministran el producto número 34.<br />

Planteamos la solución paso a paso:<br />

Usando una expresión compuesta:<br />

r1 = π P#, APELLIDO (proveedor * pedido)<br />

r2 = σP# = 34(r1)<br />

r = π APELLIDO (r2)<br />

r = π APELLIDO ( σP# = 34( π P#, APELLIDO (proveedor * pedido)))<br />

b) Obtener los números de proveedor de aquellos proveedores que suministran al menos un producto de<br />

color rojo.<br />

Solución:<br />

r = π PROVE# ( σCOLOR = “Rojo” (producto * pedido))<br />

c) Obtener los nombres de los proveedores que suministran todos los productos.<br />

Solución:<br />

r1 = π PROVE# , P# (pedido) % π P# (producto)<br />

r2 = r1 * proveedor<br />

r = π APELLIDO (r2)<br />

MODELIZACION CONCEPTUAL / MODELO E-R / MODELO RELACIONAL Página 41 de 41

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!