algebra relacional

Click here to load reader

Post on 02-Jul-2015

1.083 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • 1. lgebra Relacional L.I. Mara Luisa Velasco Ramrez

2. lgebra Relacional

  • lgebra relacional es un lenguaje de consultaprocedural . Consta de un conjunto de operaciones que toman como entrada una o dos relaciones y producen como resultado una nueva relacin, por lo tanto, es posible anidar y combinar operadores. Hay ocho operadores en el lgebra relacional que construyen relaciones y manipulan datos, estos son:

3. 1. Seleccin 2. Proyeccin 3. Producto Cartesiano 4. Unin 5. Interseccin 6. Diferencia 7. JOIN 8. Divisin 4. Vamos a tomar como ejemplo las siguientes tres relaciones: V V# VNAME STATUS CITY V1Smith20LondonV2Jones10ParsV3Blake30ParsV4Clark20LondonV5Adams30Athens 5. P P# PNAME COLOR WEIGHT CITY P1NutRed12LondonP2BoltGreen17ParsP3ScrewBlue17RomeP4ScrewRed14LondonP5CamBlue12Pars 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 7. Seleccin

  • La seleccin de una relacin es un subconjunto horizontal de una relacin, en este subconjunto aparecen l astupl a s que cumplen alguna condicin especificada, grficamente esto se ve:

8. Ejemplos

  • Listar los datos de los proveedores que viven en Londres:
  • VWhereCity = London
  • Obtener las partes y todos sus detalles que pesan menos de 14 libras:
  • PWhereWeight < 14.0
  • Obtener los pedidos del proveedor V6 o la parte P7: VPWhereV#= V6 OR P#=P7

V# Vname Status City V1 Smith 20 London V4 Clark 20 London P# Pname Color Weight City P1 Nut Red 12 London P5 Cam Blue 12 Pars V#P#CANT 9. Proyeccin

  • La proyeccin de una relacin es un subconjunto vertical con la eliminacin de duplicados.

10. * * * * * * * * * * * * * * 11. Obtener: Los nombres de los proveedores que viven en Londres V Where City = London [Vname] El resultado de la seleccin (Where) es: De la relacin resultante, se obtiene la proyeccin [ ] 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 ms de 14 libras P WhereWeight > 14.0 [color] El resultado de la seleccin (Where) es: Y el resultado de la proyeccin es: color Green Blue P# Pname Color Weight City P2 Bolt Green 17 Pars P3 Screw Blue 17 Rome 13. Si se desea obtener ms de un atributo, nicamente se listan, separados por una coma, ejemplo: Obtener el color y la ciudad de las partes que pesan ms de 14 libras P WhereWeight > 14.0 [color, city] El resultado de la seleccin (Where) es: Y el resultado de la proyeccin es: P# Pname Color Weight City P2 Bolt Green 17 Pars P3 Screw Blue 17 Rome Color City Green Pars Blue Rome 14. Producto cartesiano Representa al producto cartesiano usual de conjuntos. Combina tuplas de cualquieras dos (o ms) relaciones, realiza la combinacin de todos con todos. Si las relaciones a operar tienen N y M tuplas de n y m componentes respectivamente, la relacin resultante del producto cartesiano tiene N M tuplas de n + m componentes. Suponer que se tiene la relacin Proyectos (Y) y se desea obtener el producto cartesiano entre la relacin Proveedores (V) y Proyectos (Y). 15. V Y V TIMES Y Vtiene5 tuplas y 4 elementos,Ytiene 2 tuplas 3 elementos o atributos, el resultado del producto cartesiana tendr 10 tuplas, 7 atributos V# VNAME STATUS CITY V1Smith20LondonV2Jones10ParsV3Blake30ParsV4Clark20LondonV5Adams30AthensY# Yname City Y1 Mvil Rome Y2 Sustetable Pars V# Vname Status City Y# Yname City V1 Smith 20 London Y1 Mvil Rome V1 Smith 20 London Y2 Sustentable Pars V2 Jones 10 Pars Y1 Mvil Rome V2 Jones 10 Pars Y2 Sustentable Pars V3 Blake 30 Pars Y1 Mvil Rome V3 Blake 30 Pars Y2 Sustentable Pars V4 Clark 20 London Y1 Mvil Rome V4 Clark 20 London Y2 Sustentable Pars V5 Adams 30 Athens Y1 Mvil Rome V5 Adams 30 Athens Y2 Sustentable Pars 16. Union

  • Unin
  • La unin de dos relaciones A y B que deben ser compatibles a la unin es el conjunto de tuplas que pertenecen a la relacin A, a la relacin B o a ambas relaciones, y se designa por:

17.

  • Dos relaciones son compatibles a la unin si tienen el mismo nmero de atributos(es decir son del mismo grado), y deben existir atributos equivalentes dentro de las dos relaciones, es decir:
  • El atributo 1 de la relacin A debe estar definido en el mismo dominio(conjunto de valores que puede tomar el atributo) del atributo 1 de la relacin B, el atributo 2 de la relacin A debe estar definido en el mismo dominio del atributo 2 de la relacin B, y as sucesivamente .

18.

  • Tenemos la base de datos de personas solteras y casadas segn se ilustra en las SIGUIENTEStablas

19. Tabla 3.4: Tabla de CasadosSolteros #EMP SUELDO E2510E3020E1540EMP# SAL E7030E6040E8590 20. Resultado de la Unin de CasadosUNIONSolteros #EMP Sueldo E2510E3020E1540E7030E6040E8590 21.

  • CASADOS UNION SOLTEROS = TODOS
  • SOLTEROS UNION TODOS = TODOS
  • El resultado de la unin conserva los nombres de los atributos de la primer relacin.

22. Otro ejemplo: V V1 VUNIONV1 V# Vname Status City V1 Smith 20 London V2 Jones 10 Pars V3 Blake 30 Pars V4 Clark 20 London V5 Adams 30 Athens V# Vname Status City V2 Jones 10 London V6 Baldwin 20 London V7 Gates 10 Pars V# Vname Status City V1 Smith 20 London V2 Jones 10 Pars V3 Blake 30 Pars V4 Clark 20 London V5 Adams 30 Athens V6 Baldwin 20 London V7 Gates 10 Pars 23. Interseccin

  • Interseccin
  • La interseccin de dos relaciones A y B que deben ser compatibles a la unin, es el conjunto de tuplas que pertenecen a la relacin A y a la relacin B.

24. VINTERSECTV1 V# Vname Status City V2 Jones 10 London 25. Diferencia

  • La diferencia de dos relaciones A y B que deben ser compatibles a la unin, es el conjunto de tuplas que pertenecen a la relacin A y no a la relacin B.
  • Se utiliza el comandoMINUS

26. Ejemplo: VMINUSV1 V1MINUSV Observar que no es lo mismo VMINUSV1, que V1MINUSV V# Vname Status City V1 Smith 20 London V3 Blake 30 Pars V4 Clark 20 London V5 Adams 30 Athens V# Vname Status City V6 Baldwin 20 London V7 Gates 10 Pars 27. Join

  • Es equivalente a un producto cartesiano, seguido de una seleccin de las tuplas que tengan en los atributos ''equivalentes'' el mismo valor.
  • Una forma de definirlo sera:
  • A JOIN B = (( A TIMES B) WHERE A.C i= B.C iAND ....A.C j= B.C j )
  • En otras palabras, ha ce un producto cartesiano de sus dos argumentos (AJOINB)y realiza una seleccin forzando la igualdad de atributos que aparecen en ambas relaciones. Elimina repetidos (como toda operacin de conjuntos).

28. Teniendo las siguientes relaciones V y P, qu atributo tienen en comn las dos relaciones? As es,cityes un atributo comn en ambas relaciones, ahora elJOINse realizar sobre aquellos valores iguales: V# SNAME STATUS CITY V1Smith20LondonV2Jones10ParsV3Blake30ParsV4Clark20LondonV5Adams30AthensP# PNAME COLOR WEIGHT CITY P1NutRed12LondonP2BoltGreen17ParsP3ScrewBlue17RomeP4ScrewRed14LondonP5CamBlue12Pars 29. Resultado de S Join P Observar que se elimin uno de loscity , para evitar duplicados S# SNAME STATUS CITY P# PNAME COLOR WEIGHT S1Smith20LondonP1NutRed12S1Smith20LondonP4ScrewRed14S2Jones10ParsP2BoltGreen17S2Jones10ParsP5CamBlue12S3Blake30ParsP2BoltGreen17S3Blake30ParsP5CamBlue12S4Clark20LondonP1NutRed12S4Clark20LondonP4ScrewRed14 30. Otro ejemplo: V VP V# SNAME STATUS CITY V1Smith20LondonV2Jones10ParsV3Blake30ParsV4Clark20LondonV5Adams30AthensV# 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#=P4JOINV[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#=P4JOINV, se obtiene Por ltimo se realiza la proyeccin [Vname] El resultado es que Smith y Clark surten la parte P4 V# Vname Status City P#CANTV1 Smith 20 London P4200V4 Clark 20 London P4 300Vname Smith Clark 33. Vamos a detenernos en elJOIN,espero puedan continuar aportando en la wiki, saludos.