Вы находитесь на странице: 1из 7

Gua de lgebra Relacional Ejercicios Docente: Gloria Toro Oate A continuacin se presentan consultas que deben ser resueltas

con lgebra Relacional sobre una base de datos que tiene las tablas: PROVEEDORES, COMPONENTES, ARTICULOS y ENVOS. En esta base de datos est registrada la siguiente informacin: PROVEEDORES P# pNombre
P1 P2 P3 P4 P5 Jos Ral Ximena Emma Celso

ENVIOS Categora
20 10 30 20 30

Ciudad
CONCEPCION TALCAHUANO CONCEPCION CONCEPCION PENCO

P# P1 P1 P2 P2 P2 P2 P2 P2 P2 P2 P3 P3 P4 P4 P5 P5 P5 P5 P5 P5 P5 P5 P5 P5

C# C1 C1 C3 C3 C3 C3 C3 C3 C3 C5 C3 C4 C6 C6 C2 C2 C5 C5 C6 C1 C3 C4 C5 C6

T# T1 T4 T1 T2 T3 T4 T5 T6 T7 T2 T1 T2 T3 T7 T7 T4 T4 T7 T2 T4 T4 T4 T5 T4

CANTIDAD 200 700 400 200 200 500 600 400 800 100 200 500 300 300 200 100 500 100 200 100 200 800 400 500

COMPONENTE C cNombre #
C1 C2 C3 C4 C5 C6 X3A B56 V56 V56 H71 C22

color
ROJO VERDE AZUL ROJO AZUL ROJO

peso
12 17 17 14 12 19

Ciudad
CONCEPCION TALCAHUANO HUALQUI CONCEPCION TALCAHUANO CONCEPCION

ARTICULOS T# nombre
T1 T2 T3 T4 T5 T6 T7 CLASIFICADORA LECTORA CONSOLA MEZCLADORA TERMINAL CINTA PERFORADORA

ciudad
TALCAHUANO HUALQUI PENCO PENCO CONCEPCION CHILLAN CONCEPCION

PROVEEDORES .- Representa los datos de proveedores de componentes para la fabricacin de artculos y su ciudad de residencia. COMPONENTES.- Indica la informacin de piezas utilizadas en la fabricacin de diferentes artculos, indicndose el lugar de fabricacin de dichos componentes. ARTICULOS.- Informacin sobre los diferentes artculos que se fabrican y el lugar de montaje del mismo.

ENVIOS.- Suministros realizados por los diferentes proveedores de determinadas cantidades de componentes asignadas para la elaboracin del artculo correspondiente.

EJERCICIOS
1. Obtener todos los detalles de todos los artculos de PENCO. AR: ciudad=PENCO (ARTICULOS) CRT: {x|x ARTICULOS x.ciudad = PENCO} CRD: {x,y,z | x,y,z CLIENTE z = PENCO}

2.

Obtener todos los valores de P# para los proveedores que abastecen el artculo T1.

AR: p# ( s# = T1 (ENVIOS)) CRT: {x| y ENVIOS y.s# = T1 y.p# = x.p#} CRD: {x | y,z,w (x,y,z,w ENVIOS z = T1)}

3. Obtener la lista de pares de atributos (COLOR, CIUDAD) de la tabla componentes eliminando los pares duplicados. AR: color,ciudad (COMPONENTES) CRT: {x| y COMPONENTES y.color = x.color y.ciudad = x.ciudad} CRD: {z,u | x,y,w (x,y,z,w,u COMPONENTES)}

4. Obtener de la tabla de artculos los valores de T# y CIUDAD que son de la ciudad de HUALQUI o TALCAHUANO. AR: t#,ciudad (ciudad = HUALQUI ciudad = TALCAHUANO (ARTICULOS)) CRT: {x| y ARTICULOS (y.ciudad = HUALQUI y.ciudad = TALCAHUANO) y.t# = x.t# y.ciudad = x.ciudad} CRD: {x,z | y (x,y,z ARTICULOS (z = HUALQUI z = TALCAHUANO))}

5. Obtener los valores de P# para los proveedores que suministran para el artculo T1 el componente C1. AR: p# (t# = T1 c# = c1 (ENVIOS)) CRT: {x| y ENVIOS y.t# = T1 y.c# = C1 y.p# = x.p#} CRD: {x | y,z,w (x,y,z,w ENVIOS y = T1 z = C1)}

6. Obtener los valores de TNOMBRE para los artculos abastecidos por el proveedor P1. AR: Tnombre (ARTICULOS *t# = t# (p# = P1 (ENVIOS))) CRT: {x| y ARTICULOS z ENVIOS y.t# = z.t# z.p# = P1 y.Tnombre = x.Tnombre} CRD: {x2 | x1,x3,y1,y2,y3,y4 (x1,x2,x3 ARTICULOS y1,y2,y3,y4 ENVIOS x1 = y3 y1 = P1)}

7. Obtener los valores de C# para los componentes suministrados para cualquier artculo de TALCAHUANO. AR: C# (ENVIOS *t# = t# (ciudad =TALCAHUANO (ARTICULOS))) CRT: {x| y ENVIOS z ARTICULOS y.t# = z.t# z.ciudad = TALCAHUANO y.c# = x.c#} CRD: {x2 | x1,x3,y1,y2,y3,y4 (x1,x2,x3,x4 ENVIOS y1,y2,y3 ARTICULOS x3 = y1 y3 = TALCAHUANO)}

8. Obtener los valores de P# para los proveedores que suministren los artculos T1 y T2. AR: ( P# (T# = T1 (ENVIOS)) ( P# (T# = T2 (ENVIOS))) CRT: {x| y ENVIOS z ENVIOS y.p# = z.p# y.t# = T1 y.t# = T2 y.p# = x.p#} CRD: {x1 | x2,x3,x4,y1,y2,y3,y4 (x1,x2,x3,x4 ENVIOS y1,y2,y3,y4 ENVIOS x1 = y1 x3 = T1 y3 = T2)}

9. Obtener los valores de P# para los proveedores que suministran para un artculo de CONCEPCIN o TALCAHUANO un componente ROJO. AR: P# ((color= ROJO (COMPONENTE))* c# = c# (ENVIOS * t# = t# ( t# (ciudad = CONCEPCION ciudad= TALCAHUANO (ARTICULO))) CRT: {x| y COMPONENTE z ENVIOS w ARTICULO y.c# = z.c# z.t# = w.t# y.color = ROJO (w.ciudad = CONCEPCION w.ciudad= TALCAHUANO) y.p# = x.p#} CRD: {x1 | x2,x3,x4, x5, y1,y2,y3,y4,z1,z2,z3 (x1,x2,x3,x4,x5 COMPONENTE y1,y2,y3,y4 ENVIOS z1,z2,z3 ARTICULOS x1 = y2 y3 = z1 y3 = ROJO (z3 = CONCEPCION z3 = TALCAHUANO)}

10. Obtener los valores de C# para los componentes suministrados para algn artculo de CONCEPCION por un proveedor de CONCEPCION. AR: C# ((ciudad= CONCEPCION (PROVEEDOR))* p# = p# (ENVIOS * t# = t# ( t# (ciudad = CONCEPCION (ARTICULO))) CRT: {x| y PROVEEDOR z ENVIOS w ARTICULO y.p# = z.p# z.t# = w.t# y.ciudad = CONCEPCION w.ciudad = CONCEPCION y.c# = x.c#} CRD: {x1 | x2,x3,x4, y1,y2,y3,y4,z1,z2,z3 (x1,x2,x3,x4 PROVEEDOR y1,y2,y3,y4 ENVIOS z1,z2,z3 ARTICULOS x1 = y1 y3 = z1 y4 = CONCEPCION z3 = CONCEPCION)}

11. Obtener los valores de T# para los artculos que usan al menos un componente que se puede obtener con el proveedor P1. AR: t#(ENVIOS * c# = c# (p#=P1 (ENVIOS))) AR: t#(ENVIOS * c# = c# ( c#(p#=P1 (ENVIOS))) CRT: {x| y ENVIOS (z ENVIOS y.t# = z.t# z.p# = P1 y.t# = x.t#)}

12. Obtener todas las ternas (CIUDAD, C#, CIUDAD) tales que un proveedor de la primera ciudad suministre el componente especificado para un artculo montado en la segunda ciudad.

AR: envos_articulo(p#, c#, ciudad_a) p#,c#,ciudad(ENVIOS * p# = p# ARTICULO) ciudad,c#,ciudad_a (PROVEEDORES * p# = p# envos_articulo ) CRT: {x| y ARTICULO z PROVEEDOR w ENVIOS w.p# = y.p# w.t# = x.t# x.ciudad= z.ciudad x.c# = w.c# x.ciudad = y.ciudad} 13. Repetir el ejercicio anterior pero sin recuperar las ternas en los que los dos valores de ciudad sean los mismos. AR: envos_articulo(p#, c#, ciudad_a) p#,c#,ciudad(ENVIOS * p# = p# ARTICULO) ciudad,c#,ciudad_a (ciudad <> ciudad_a ( PROVEEDORES * p# = p# envos_articulo )) CRT: {x| y ARTICULO z PROVEEDOR w ENVIOS w.p# = y.p# w.t# = x.t# y.ciudad <> z.ciudad x.ciudad= z.ciudad x.c# = w.c# x.ciudad = y.ciudad}

14. Obtener los valores de T# de los artculos abastecidos al menos por un proveedor que no viva en TALCAHUANO y que no est en la misma ciudad en la que se monta el artculo. AR: t# ( Articulos.ciudad <> Proveedor.ciudad(ARTICULOS * t# = t#(ENVIOS * p# = p# (p#, ciudad (ciudad <> (PROVEEDOR)))))) CR: {x| y ARTICULO z ENVIOS w PROVEEDOR y.t# = z.t# z.p# = w.p# w.ciudad <> TALCAHUANO y.ciudad <> w.ciudad x.t# = y.t#}
TALCAHUANO

15. Obtener los valores de P# para los proveedores que suministran al menos un componente suministrado al menos por un proveedor que suministra al menos un componente ROJO. AR: p# (ENVIOS * c# = c# ( c# (ENVIOS * p# = p# (p#(ENVIOS * c# = c#(color = rojo (COMPONENTES))))))

16. Seleccionar los identificadores de componentes suministrados para el artculo 'T2' por el proveedor 'P2'. AR: c# (t#=T2 p#= P2 (ENVIOS))

17. Seleccionar todos los datos de los envos realizados de componentes cuyo color no sea 'ROJO'. AR: ENVIOS.*(ENVIOS * c#=c# (color <> ROJO (COMPONENTE)))

18. Seleccionar los identificadores de componentes que se suministren para los artculos 'T1' y 'T2'.

AR: ( c#(t# = T1 (ENVIOS))) ( c# (t# =T2 (ENVIOS)))

19. Seleccionar los colores de componentes suministrados por el proveedor 'P1'. AR: color(COMPONENTES * c#=c# (p# =P1 (ENVIOS)))

20. Seleccionar los datos de envo y nombre de ciudad de aquellos envos que cumplan que el artculo, proveedor y componente son de la misma ciudad. AR: c#,p#,t#,cantidad,ciudad ( ciudad_art = ciudad (PROVEEDOR * p# = p# ( ENVIOS.*, ciudad_art <- ciudad ( ciudad_com = ciudad (ARTICULOS *#t=#t ( ENVIOS.*, ciudad_com <- ciudad(ENVIOS *c#=c# COMPONENTE))))

21. Seleccionar los identificadores de artculos para los que se provean envos de todos los componentes existentes en la base de datos. AR: t# (ENVIOS / c# (COMPONENTES))

Вам также может понравиться