You are on page 1of 26

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 estn diseados para manipular las
relaciones en una base de datos.

Definicin:
Operaciones Fundamentales:
Seleccin, proyeccin, producto cartesiano,
unin y diferencia de conjuntos
Otras Operaciones fundamentales:
Interseccin, Reunin Natural (JOIN) y Divisin
Las principales operaciones son las siguientes:
Algebra Relacional.
Algebra Relacional Operadores Relacionales
Seleccin
Selecciona tuplas que satisfacen un predicado dado.
Usando la letra griega Sigma (o) para indicar la
seleccin. El predicado aparece como subndice de o.

Smbolo: Sigma (o)
Termino comn: (Where)

o
condicin
(Relacin)
Ejemplo:
o
saldo
s
2000
(Deposito)
Otros ejemplos: o
Nombre_Sucursal =Tacna . Saldo < 1000
(Deposito)

Algebra Relacional Operadores Relacionales
Comparaciones: =, =, > , <, >, s.
Conectores: ., v.
Algebra Relacional Operadores Relacionales
Proyeccin
La operacin Proyeccin permite extraer atributos
especficos de una relacin dada.
Se indica por una letra griega Pi (t). El predicado aparece
como subndice de t.

Smbolo: Pi (t)
Termino comn: (SELECT)
t
atributo_1, atributo_2, , atributo_N
(Relacin)
Ejemplo:
t
nombre_sucursal,nombre_cliente
(Deposito)
Otros ejemplos: t
nombre_cliente
(o
Nombre_Sucursal=Arequipa
(Deposito))
Algebra Relacional Operadores Relacionales
Algebra Relacional Operadores Relacionales
Producto Cartesiano
Dada dos relaciones especificas, se construye una tercera
relacin 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: R
1
y R
2
con R
1
x R
2

Ejemplo: R
1
= Servicio y R
2
= Clientes
Nombre_Cliente

Nombre_Banco
Juan

Romero

Prez

Wiese

Roberto

Romero

Nombre_Cliente

Calle

Ciudad_Cliente

Prez

Bolognesi

Tacna

Juan

2 de Mayo

Tacna

Jos

Bolognesi

Tacna

Pedro

Arias y Aragez

Tacna

Sandro

Enmel

Arequipa

Relacin Clientes
Relacin Servicio
Algebra Relacional Operadores Relacionales
Resultado de (Servicio X Clientes)
Servicio

Servicio

Clientes

Clientes

Clientes

Nombre_cliente

Nombre_Banco Nombre_Cliente

Calle

Ciudad_Cliente

Juan

Romero

Prez

Bolognesi

Tacna

Juan

Romero

Juan

2 de Mayo

Tacna

Juan

Romero

Jos

Bolognesi

Tacna

Juan

Romero

Pedro

Arias y Aragez

Tacna

Juan

Romero

Sandro

Enmel

Arequipa

Prez

Wiese

Prez

Bolognesi

Tacna

Prez

Wiese

Juan

2 de Mayo

Tacna

Prez

Wiese

Jos

Bolognesi

Tacna

Prez

Wiese

Pedro

Arias y Aragez

Tacna

Prez

Wiese

Sandro

Enmel

Arequipa

Roberto

Romero

Prez

Bolognesi

Tacna

Roberto

Romero

Juan

2 de Mayo

Tacna

Roberto

Romero

Jos

Bolognesi

Tacna

Roberto

Romero

Pedro

Arias y Aragez

Tacna

Roberto

Romero

Sandro

Enmel

Arequipa

Algebra Relacional Operadores Relacionales
Aplicacin de (Servicio X Clientes)
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.
o
Nombre_banco=Wiese
(Servicio x Clientes)
Servicio

Servicio

Clientes

Clientes

Clientes

Nombre_cliente

Nombre_Banco Nombre_Cliente

Calle

Ciudad_Cliente

Prez

Wiese

Prez

Bolognesi

Tacna

Prez

Wiese

Juan

2 de Mayo

Tacna

Prez

Wiese

Jos

Bolognesi

Tacna

Prez

Wiese

Pedro

Arias y Aragez

Tacna

Prez

Wiese

Sandro

Enmel

Arequipa

El resultado es:
Algebra Relacional Operadores Relacionales
Paso # 2: Seleccionamos Servicio.Nombre_Cliente = Clientes.Nombre_Cliente de la
consulta anterior. Entonces tenemos:
o
Servicio.Nombre_Cliente = Clientes.Nombre_Clientes
(o
Nombre_banquero=Wiese

(Servicio x Cliente))
El resultado es:
Servicio

Servicio

Clientes

Clientes

Clientes

Nombre_cliente

Nombre_Banquero

Nombre_Cliente

Calle

Ciudad_Cliente

Prez

Wiese

Prez

Bolognesi

Tacna

Algebra Relacional Operadores Relacionales
Paso # 3: Proyectamos los campos que deseamos conocer, por ejemplo si slo
deseamos conocer el nombre y la ciudad del cliente. Entonces tendremos que hacer
la siguiente consulta:
t
Servicio.nombre_cliente,Clientes.ciudad_cliente
(o
Servicio.nombre_cliente=Clientes.nom
bre_cliente
(o
Nombre_banquero=Wiese
(Servicio x Clientes)))
El resultado es:
Servicio Clientes
Nombre_Cliente Ciudad_cliente
Prez Tacna
Algebra Relacional Operadores Relacionales
Algebra Relacional Operadores Relacionales
Unin
La unin es una operacin que, a partir de dos relaciones, obtiene una
nueva relacin formada por todas las tuplas que estn en alguna de las
relaciones de partida.

Smbolo: Unin (U)
Notacin: T S.
Restricciones para realizar la unin:
Ambas relaciones deben tener el mismo nmero de atributos.
El dominio del atributo i-simo de cada relacin debe coincidir.
Ejemplo
Encontrar a todos los clientes de la sucursal 2 de Mayo.
R
1
=Prstamo
R
2
=Depsito

Nombre_Sucursal

Nmero_Cuenta

Nombre_Cliente

Saldo
2 de Mayo

1000

Juan

1000

Central

1115

Jos

2050

Coronel Mendoza

2550

Prez

5000

Central

2560

Sandro

10000

2 de Mayo

3040

Pedro

10000

Nombre_Sucursal

Nmero_Prstamo

Nombre_Cliente

Cantidad

2 de Mayo

01

Juan

10000
2 de Mayo

17

Ramn

50000
Central

15

Jos

10000
Coronel Mendoza

20

Prez

15000

Relacin Depsito
Relacin Prstamo
Algebra Relacional Operadores Relacionales
Unin:
1.- Encontrar Clientes con un Prstamo en 2 de Mayo.
t
Nombre_Cliente
(o
Nombre_Sucursal=2 de Mayo
(Prstamo))
2.- Encontrar Clientes con una cuenta en la sucursal 2 de Mayo.
t
Nombre_Cliente
(o
Nombre_Sucursal=2 de M\ayo
(Depsito))
t
Nombre_Cliente
(o
Nombre_Sucursal=2 de Mayo
(Prstamo))
t
Nombre_Cliente
(o
Nombre_Sucursal=2 de Mayo
(Depsito))
Nombre_Cliente

Juan

Ramn

Nombre_Cliente

Juan

Pedro

Nombre_Cliente

Juan
Pedro
Ramn

Obtener los nombres de los empleados que ganan mas de $1.500.000 o que
trabajan en el departamento con cdigo A1.
La diferencia es una operacin que, a partir de dos relaciones, obtiene
una nueva relacin formada por todas las tuplas que estn en la
primera relacin y, en cambio, no estn en la segunda.

Smbolo: Diferencia ( - )
Notacin: T S.
Algebra Relacional Operadores Relacionales
Diferencia
t
Nombre_Cliente
(o
Nombre_Sucursal=2 de Mayo
(Depsito)) -
t
Nombre_Cliente
(o
Nombre_Sucursal=2 de Mayo
(Prstamo))
Nombre_Cliente

Pedro

Algebra Relacional Operadores Relacionales
Nombre_Sucursal

Nmero_Cuenta

Nombre_Cliente

Saldo
2 de Mayo

1000

Juan

1000

Central

1115

Jos

2050

Coronel Mendoza

2550

Prez

5000

Central

2560

Sandro

10000

2 de Mayo

3040

Pedro

10000

Nombre_Sucursal

Nmero_Prstamo

Nombre_Cliente

Cantidad

2 de Mayo

01

Juan

10000
2 de Mayo

17

Ramn

50000
Central

15

Jos

10000
Coronel Mendoza

20

Prez

15000

Relacin Depsito
Relacin Prstamo
Ejemplo: Los Clientes que tengan Depsito pero que no tengan Prstamo y que sean
de 2 de Mayo.
Algebra Relacional Operadores Relacionales
Interseccin
La interseccin es una operacin que a partir de dos relaciones,
obtiene una nueva relacin formada por las tuplas que pertenecen a
las dos relaciones de partida.

Smbolo: Interseccin ( )
Notacin: T S.
Equivalencia: T S = T - ( T S)
t
Nombre_Cliente
(o
Nombre_Sucursal=Central
(Depsito))
t
Nombre_Cliente
(o
Nombre_Sucursal=Central
(Prstamo))
Ejemplo
Encontrar a todos los clientes con un prstamo y una cuenta en la
sucursal Central.
Nombre_Cliente

Jos

Algebra Relacional Operadores Relacionales
Algebra Relacional Operadores Relacionales
Fusin (join) o Reunin Natural
Dados dos relaciones especificas, construye una tercera
relacin que combina ciertas selecciones, proyeccin y un
producto cartesiano en una sola operacin

Smbolo: O
Notacin: R1 O R2
Algebra Relacional Operadores Relacionales
Ejemplo:
Averiguar los nombres de todos los clientes que tienen
concedido un prstamo, el importe de este y la sucursal
donde se lo otorgaron
Algebra Relacional Operadores Relacionales
Divisin 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 relacin formada por
los atributos de R1 que no estn en R2, donde los valores de los
atributos concuerdan con todos los valores de la relacin R2.

El grado (R1) > grado (R2)
Smbolo: Divisin ( / )
Notacin: R1 / R2
Algebra Relacional Operadores Relacionales
Ejemplo
Algebra Relacional Operadores Relacionales
Ejemplo
Hallar a todos los clientes que tengan abierta una cuenta
en todas las sucursales de surco.

You might also like