Professional Documents
Culture Documents
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.