El documento describe los diferentes operadores del álgebra relacional, incluyendo selección, proyección, producto cartesiano, unión, intersección, diferencia y JOIN. Explica cada operador con ejemplos utilizando tres relaciones dadas (V, P, VP).
4. Vamos a tomar como ejemplo las siguientes tres relaciones: V V# VNAME STATUS CITY V1 Smith 20 London V2 Jones 10 París V3 Blake 30 París V4 Clark 20 London V5 Adams 30 Athens
5. P P# PNAME COLOR WEIGHT CITY P1 Nut Red 12 London P2 Bolt Green 17 París P3 Screw Blue 17 Rome P4 Screw Red 14 London P5 Cam Blue 12 París
6. VP VP, representa las partes que suministra un proveedor V# P# CANT V1 P1 300 V1 P2 200 V1 P3 400 V1 P4 200 V1 P5 100 V1 P6 100 V2 P1 300 V2 P2 400 V3 P2 400 V4 P2 200 V4 P4 300 V4 P5 400
11. Obtener: Los nombres de los proveedores que viven en Londres V Where City = “London” [Vname] El resultado de la selección (Where) es: De la relación resultante, se obtiene la proyección [ ] Vname Smith Clark V# Vname Status City V1 Smith 20 London V4 Clark 20 London
12. Otro ejemplo Obtener el color de las partes que pesan más de 14 libras P Where Weight > 14.0 [color] El resultado de la selección (Where) es: Y el resultado de la proyección es: color Green Blue P# Pname Color Weight City P2 Bolt Green 17 París P3 Screw Blue 17 Rome
13. Si se desea obtener más de un atributo, únicamente se listan, separados por una coma, ejemplo: Obtener el color y la ciudad de las partes que pesan más de 14 libras P Where Weight > 14.0 [color, city] El resultado de la selección (Where) es: Y el resultado de la proyección es: P# Pname Color Weight City P2 Bolt Green 17 París P3 Screw Blue 17 Rome Color City Green París Blue Rome
14. Producto cartesiano Representa al producto cartesiano usual de conjuntos. Combina tuplas de cualquieras dos (o más) relaciones, realiza la combinación de todos con todos. Si las relaciones a operar tienen N y M tuplas de n y m componentes respectivamente, la relación resultante del producto cartesiano tiene N × M tuplas de n + m componentes. Suponer que se tiene la relación Proyectos (Y) y se desea obtener el producto cartesiano entre la relación Proveedores (V) y Proyectos (Y).
15. V Y V TIMES Y V tiene 5 tuplas y 4 elementos, Y tiene 2 tuplas 3 elementos o atributos, el resultado del producto cartesiana tendrá 10 tuplas, 7 atributos V# VNAME STATUS CITY V1 Smith 20 London V2 Jones 10 París V3 Blake 30 París V4 Clark 20 London V5 Adams 30 Athens Y# Yname City Y1 Móvil Rome Y2 Sustetable París V# Vname Status City Y# Yname City V1 Smith 20 London Y1 Móvil Rome V1 Smith 20 London Y2 Sustentable París V2 Jones 10 París Y1 Móvil Rome V2 Jones 10 París Y2 Sustentable París V3 Blake 30 París Y1 Móvil Rome V3 Blake 30 París Y2 Sustentable París V4 Clark 20 London Y1 Móvil Rome V4 Clark 20 London Y2 Sustentable París V5 Adams 30 Athens Y1 Móvil Rome V5 Adams 30 Athens Y2 Sustentable París
16.
17.
18.
19. Tabla 3.4: Tabla de Casados Solteros #EMP SUELDO E25 10 E30 20 E15 40 EMP# SAL E70 30 E60 40 E85 90
20. Resultado de la Unión de Casados UNION Solteros #EMP Sueldo E25 10 E30 20 E15 40 E70 30 E60 40 E85 90
21.
22. Otro ejemplo: V V1 V UNION V1 V# Vname Status City V1 Smith 20 London V2 Jones 10 París V3 Blake 30 París V4 Clark 20 London V5 Adams 30 Athens V# Vname Status City V2 Jones 10 London V6 Baldwin 20 London V7 Gates 10 París V# Vname Status City V1 Smith 20 London V2 Jones 10 París V3 Blake 30 París V4 Clark 20 London V5 Adams 30 Athens V6 Baldwin 20 London V7 Gates 10 París
23.
24. V INTERSECT V1 V# Vname Status City V2 Jones 10 London
25.
26. Ejemplo: V MINUS V1 V1 MINUS V Observar que no es lo mismo V MINUS V1, que V1 MINUS V V# Vname Status City V1 Smith 20 London V3 Blake 30 París V4 Clark 20 London V5 Adams 30 Athens V# Vname Status City V6 Baldwin 20 London V7 Gates 10 París
27.
28. Teniendo las siguientes relaciones V y P, qué atributo tienen en común las dos relaciones? Así es, city es un atributo común en ambas relaciones, ahora el JOIN se realizará sobre aquellos valores iguales: V# SNAME STATUS CITY V1 Smith 20 London V2 Jones 10 París V3 Blake 30 París V4 Clark 20 London V5 Adams 30 Athens P# PNAME COLOR WEIGHT CITY P1 Nut Red 12 London P2 Bolt Green 17 París P3 Screw Blue 17 Rome P4 Screw Red 14 London P5 Cam Blue 12 París
29. Resultado de S Join P Observar que se eliminó uno de los city , para evitar duplicados S# SNAME STATUS CITY P# PNAME COLOR WEIGHT S1 Smith 20 London P1 Nut Red 12 S1 Smith 20 London P4 Screw Red 14 S2 Jones 10 París P2 Bolt Green 17 S2 Jones 10 París P5 Cam Blue 12 S3 Blake 30 París P2 Bolt Green 17 S3 Blake 30 París P5 Cam Blue 12 S4 Clark 20 London P1 Nut Red 12 S4 Clark 20 London P4 Screw Red 14
30. Otro ejemplo: V VP V# SNAME STATUS CITY V1 Smith 20 London V2 Jones 10 París V3 Blake 30 París V4 Clark 20 London V5 Adams 30 Athens V# P# CANT V1 P1 300 V1 P2 200 V1 P3 400 V1 P4 200 V1 P5 100 V1 P6 100 V2 P1 300 V2 P2 400 V3 P2 400 V4 P2 200 V4 P4 300 V4 P5 400
31. Obtener los nombres de los proveedores que surten la parte ‘P4’: VP Where P#=‘P4’ JOIN V [VNAME] Vamos a verlo por partes: VP Where P#= ‘P4’ V# P# Cant V1 P4 200 V4 P4 300
32. Ahora, continuando con la consulta: VP Where P#=‘P4’ JOIN V, se obtiene Por último se realiza la proyección [Vname] El resultado es que Smith y Clark surten la parte P4 V# Vname Status City P# CANT V1 Smith 20 London P4 200 V4 Clark 20 London P4 300 Vname Smith Clark
33. Vamos a detenernos en el JOIN, espero puedan continuar aportando en la wiki, saludos. Bibliografía: Date C. J. Introducción a los Sistemas de Bases de Datos Prentice Hall Séptima edición 2001