7. algebra relacional

13
19/11/2012 1 Algebra Relacional Algebra Relacional . Es un lenguaje de procedimientos de alto nivel que permite, mediante el uso de ciertos operadores, derivar nuevas relaciones deseadas a partir de las relaciones del modelo relacional. Elementos del Algebra Relacional: Sus operandos son relaciones (instancias) o variables que representan relaciones. Sus operadores están diseñados para manipular las relaciones en una base de datos. 2 Definición:

Upload: ivan-palomino-taype

Post on 13-Apr-2015

37 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: 7. Algebra Relacional

19/11/2012

1

Algebra Relacional

Algebra Relacional.

Es un lenguaje de procedimientos de alto nivel que

permite, mediante el uso de ciertos operadores, derivar

nuevas relaciones deseadas a partir de las relaciones del

modelo relacional.

Elementos del Algebra Relacional:

• Sus operandos son relaciones (instancias) o variables que

representan relaciones.

• Sus operadores están diseñados para manipular las

relaciones en una base de datos.

2

Definición:

Page 2: 7. Algebra Relacional

19/11/2012

2

Operaciones Fundamentales:

• Selección, proyección, producto cartesiano,

unión y diferencia de conjuntos

Otras Operaciones fundamentales:

• Intersección, Reunión Natural (JOIN) y División

3

Las principales operaciones son las siguientes:

Algebra Relacional.

Algebra Relacional – Operadores Relacionales

Selección

Selecciona tuplas que satisfacen un predicado dado.

Usando la letra griega Sigma (σ) para indicar la

selección”. El predicado aparece como subíndice de σ.

Símbolo: Sigma (σ)Termino común: (Where)

σσσσ condición(Relación)

4

Page 3: 7. Algebra Relacional

19/11/2012

3

5

Ejemplo:σσσσ saldo≤≤≤≤ 2000 (Deposito)

Otros ejemplos: σσσσ Nombre_Sucursal =Tacna ∧∧∧∧ Saldo < 1000 (Deposito)

Algebra Relacional – Operadores Relacionales

Comparaciones: =, ≠≠≠≠, > , <, ≥≥≥≥, ≤≤≤≤.

Conectores: ∧∧∧∧, ∨∨∨∨.

Algebra Relacional – Operadores Relacionales

Proyección

“La operación Proyección permite extraer atributos

específicos de una relación dada.

Se indica por una letra griega Pi (π)”. El predicado aparece

como subíndice de π.

Símbolo: Pi (π)Termino común: (SELECT)

ππππatributo_1, atributo_2, …, atributo_N (Relación)6

Page 4: 7. Algebra Relacional

19/11/2012

4

7

Ejemplo:

ππππnombre_sucursal,nombre_cliente(Deposito)

Otros ejemplos: ππππnombre_cliente(σσσσ Nombre_Sucursal=Arequipa (Deposito))

Algebra Relacional – Operadores Relacionales

Algebra Relacional – Operadores Relacionales

Producto Cartesiano

Dada dos relaciones especificas, se construye una tercera

relación que contiene todas las combinaciones posibles de

tuplas, una de cada una de las relaciones.

Esta representada por una Cruz (X).

Se representa de la siguiente forma: R1 y R2 con R1 x R2

8

Page 5: 7. Algebra Relacional

19/11/2012

5

9

Ejemplo: R1 = Servicio y R2 = Clientes

Nombre_Cliente Nombre_BancoJuan RomeroPérez WieseRoberto Romero

Nombre_Cliente Calle Ciudad_ClientePérez Bolognesi TacnaJuan 2 de Mayo TacnaJosé Bolognesi TacnaPedro Arias y Aragüez TacnaSandro Enmel Arequipa

Relación Clientes

Relación Servicio

Algebra Relacional – Operadores Relacionales

Resultadode (ServicioX Clientes)

10

Servicio Servicio Clientes Clientes Clientes

Nombre_cliente Nombre_Banco Nombre_Cliente Calle Ciudad_Cliente

Juan Romero Pérez Bolognesi Tacna

Juan Romero Juan 2 de Mayo Tacna

Juan Romero José Bolognesi Tacna

Juan Romero Pedro Arias y Aragüez Tacna

Juan Romero Sandro Enmel Arequipa

Pérez Wiese Pérez Bolognesi Tacna

Pérez Wiese Juan 2 de Mayo Tacna

Pérez Wiese José Bolognesi Tacna

Pérez Wiese Pedro Arias y Aragüez Tacna

Pérez Wiese Sandro Enmel Arequipa

Roberto Romero Pérez Bolognesi Tacna

Roberto Romero Juan 2 de Mayo Tacna

Roberto Romero José Bolognesi Tacna

Roberto Romero Pedro Arias y Aragüez Tacna

Roberto Romero Sandro Enmel Arequipa

Algebra Relacional – Operadores Relacionales

Page 6: 7. Algebra Relacional

19/11/2012

6

Aplicación de (Servicio X Clientes)

11

Queremos conocer a todos los clientes del banco Wiese, así como las

ciudades en las que viven estos clientes.

Paso # 1: Seleccionamos Nombre_banco=“Wiese” de Servicio X Clientes.

σσσσNombre_banco=”Wiese”(Servicio x Clientes)

Servicio Servicio Clientes Clientes ClientesNombre_cliente Nombre_Banco Nombre_Cliente Calle Ciudad_Cliente

Pérez Wiese Pérez Bolognesi Tacna

Pérez Wiese Juan 2 de Mayo Tacna

Pérez Wiese José Bolognesi Tacna

Pérez Wiese Pedro Arias y Aragüez Tacna

Pérez Wiese Sandro Enmel Arequipa

El resultado es:

Algebra Relacional – Operadores Relacionales

12

Paso # 2: Seleccionamos Servicio.Nombre_Cliente = Clientes.Nombre_Cliente de la

consulta anterior. Entonces tenemos:

σσσσServicio.Nombre_Cliente = Clientes.Nombre_Clientes(σσσσNombre_banquero=”Wiese”

(Servicio x Cliente))

El resultado es:

Servicio Servicio Clientes Clientes Clientes

Nombre_cliente Nombre_Banquero Nombre_Cliente Calle Ciudad_Cliente

Pérez Wiese Pérez Bolognesi Tacna

Algebra Relacional – Operadores Relacionales

Page 7: 7. Algebra Relacional

19/11/2012

7

13

Paso # 3: Proyectamos los campos que deseamos conocer, por ejemplo si sólo

deseamos conocer el nombre y la ciudad del cliente. Entonces tendremos que hacer

la siguiente consulta:

πServicio.nombre_cliente,Clientes.ciudad_cliente(σServicio.nombre_cliente=Clientes.nom

bre_cliente(σNombre_banquero=”Wiese”(Servicio x Clientes)))

El resultado es:

Servicio Clientes

Nombre_Cliente Ciudad_cliente

Pérez Tacna

Algebra Relacional – Operadores Relacionales

Algebra Relacional – Operadores Relacionales

Unión

La unión es una operación que, a partir de dos relaciones, obtiene una

nueva relación formada por todas las tuplas que están en alguna de las

relaciones de partida.

Símbolo: Unión (U)

Notación: T ∪ S.

Restricciones para realizar la unión:

• Ambas relaciones deben tener el mismo número de atributos.

• El dominio del atributo i-ésimo de cada relación debe coincidir.

14

Page 8: 7. Algebra Relacional

19/11/2012

8

Ejemplo

“Encontrar a todos los clientes de la sucursal 2 de Mayo”.

R1=Préstamo

R2=Depósito

15

Nombre_Sucursal Número_Cuenta Nombre_Cliente Saldo

2 de Mayo 1000 Juan 1000

Central 1115 José 2050

Coronel Mendoza 2550 Pérez 5000

Central 2560 Sandro 10000

2 de Mayo 3040 Pedro 10000

Nombre_Sucursal Número_Préstamo Nombre_Cliente Cantidad

2 de Mayo 01 Juan 10000

2 de Mayo 17 Ramón 50000

Central 15 José 10000

Coronel Mendoza 20 Pérez 15000

Relación Depósito

Relación Préstamo

Algebra Relacional – Operadores Relacionales

Unión:1.- Encontrar Clientes con un Préstamo en 2 de Mayo.

πNombre_Cliente(σNombre_Sucursal=”2 de Mayo” (Préstamo))

16

2.- Encontrar Clientes con una cuenta en la sucursal 2 de Mayo.

πNombre_Cliente(σNombre_Sucursal=”2 de M\ayo” (Depósito))

πNombre_Cliente(σNombre_Sucursal=”2 de Mayo” (Préstamo)) ∪πNombre_Cliente(σNombre_Sucursal=”2 de Mayo” (Depósito))

Nombre_Cliente

Juan

Ramón

Nombre_Cliente

Juan

Pedro

Nombre_ClienteJuanPedroRamón

Page 9: 7. Algebra Relacional

19/11/2012

9

Obtener los nombres de los empleados que ganan mas de $1.500.000 o que

trabajan en el departamento con código A1.

17

La diferencia es una operación que, a partir de dos relaciones, obtiene

una nueva relación formada por todas las tuplas que están en la

primera relación y, en cambio, no están en la segunda.

Símbolo: Diferencia ( - )

Notación: T – S.

Algebra Relacional – Operadores Relacionales

Diferencia

18

Page 10: 7. Algebra Relacional

19/11/2012

10

πNombre_Cliente(σNombre_Sucursal=”2 de Mayo” (Depósito)) -

πNombre_Cliente(σNombre_Sucursal=”2 de Mayo” (Préstamo))

19Nombre_Cliente

Pedro

Algebra Relacional – Operadores Relacionales

Nombre_Sucursal Número_Cuenta Nombre_Cliente Saldo

2 de Mayo 1000 Juan 1000

Central 1115 José 2050

Coronel Mendoza 2550 Pérez 5000

Central 2560 Sandro 10000

2 de Mayo 3040 Pedro 10000

Nombre_Sucursal Número_Préstamo Nombre_Cliente Cantidad

2 de Mayo 01 Juan 10000

2 de Mayo 17 Ramón 50000

Central 15 José 10000

Coronel Mendoza 20 Pérez 15000

Relación Depósito

Relación Préstamo

Ejemplo: Los Clientes que tengan Depósito pero que no tengan Préstamo y que sean de 2 de Mayo.

Algebra Relacional – Operadores Relacionales

Intersección

La intersección es una operación que a partir de dos relaciones,

obtiene una nueva relación formada por las tuplas que pertenecen a

las dos relaciones de partida.

Símbolo: Intersección (∩ )

Notación: T ∩ S.

Equivalencia: T ∩ S = T - ( T – S)

20

Page 11: 7. Algebra Relacional

19/11/2012

11

21

πNombre_Cliente(σNombre_Sucursal=”Central” (Depósito)) ∩πNombre_Cliente(σNombre_Sucursal=”Central” (Préstamo))

Ejemplo

Encontrar a todos los clientes con un préstamo y una cuenta en la

sucursal Central.

Nombre_Cliente

José

Algebra Relacional – Operadores Relacionales

Algebra Relacional – Operadores Relacionales

Fusión (join) o Reunión Natural

Dados dos relaciones especificas, construye una tercera

relación que combina ciertas selecciones, proyección y un

producto cartesiano en una sola operación

Símbolo: ΘNotación: R1 Θ R2

22

Page 12: 7. Algebra Relacional

19/11/2012

12

Algebra Relacional – Operadores Relacionales

Ejemplo:

Averiguar los nombres de todos los clientes que tienen

concedido un préstamo, el importe de este y la sucursal

donde se lo otorgaron

23

Algebra Relacional – Operadores Relacionales

División o Cociente

Dadas R1 y R2 donde R2⊆ R1 (la cabecera de R2 es un subconjunto de

la cabecera R1), donde se construye una nueva relación formada por

los atributos de R1 que no están en R2, donde los valores de los

atributos concuerdan con todos los valores de la relación R2.

El grado (R1) > grado (R2)

Símbolo: División ( / )

Notación: R1 / R2

24

Page 13: 7. Algebra Relacional

19/11/2012

13

Algebra Relacional – Operadores Relacionales

Ejemplo

25

Algebra Relacional – Operadores Relacionales

Ejemplo

Hallar a todos los clientes que tengan abierta una cuenta

en todas las sucursales de surco.

26