Sei sulla pagina 1di 13

19/11/2012

Algebra Relacional

Algebra Relacional.
Definicin:
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.
2

19/11/2012

Algebra Relacional.
Las principales operaciones son las siguientes: Operaciones Fundamentales: Seleccin, proyeccin, producto cartesiano, unin y diferencia de conjuntos Otras Operaciones fundamentales: Interseccin, Reunin Natural (JOIN) y Divisin

Algebra Relacional Operadores Relacionales Seleccin


Selecciona tuplas que satisfacen un predicado dado. Usando la letra griega Sigma () para indicar la seleccin. El predicado aparece como subndice de .

Smbolo: Sigma () Termino comn: (Where)

condicin (Relacin)
4

19/11/2012

Algebra Relacional Operadores Relacionales

Ejemplo:
saldo 2000 (Deposito)

Comparaciones: =, , > , <, , . Conectores: , .

Otros ejemplos:

Nombre_Sucursal =Tacna Saldo < 1000 (Deposito)

Algebra Relacional Operadores Relacionales Proyeccin


La operacin Proyeccin permite extraer atributos especficos de una relacin dada. Se indica por una letra griega Pi (). El predicado aparece como subndice de . Smbolo: Pi () Termino comn: (SELECT)

atributo_1, atributo_2, , atributo_N (Relacin)

19/11/2012

Algebra Relacional Operadores Relacionales

Ejemplo: nombre_sucursal,nombre_cliente(Deposito)

7 Otros ejemplos: nombre_cliente( Nombre_Sucursal=Arequipa (Deposito))

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: R1 y R2 con R1 x R2

19/11/2012

Algebra Relacional Operadores Relacionales


Ejemplo: R1 = Servicio y R2 = Clientes

Relacin Servicio
Nombre_Cliente Juan Prez Roberto Nombre_Banco Romero Wiese Romero

Relacin Clientes
Nombre_Cliente Prez Juan Jos Pedro Sandro Calle Bolognesi 2 de Mayo Bolognesi Arias y Aragez Enmel Ciudad_Cliente Tacna Tacna Tacna

Tacna
Arequipa

Algebra Relacional Operadores Relacionales


Resultado de (Servicio X Clientes)
Servicio Nombre_cliente Juan Juan Juan Juan Juan Prez Prez Prez Prez Prez Roberto Roberto Roberto Roberto Roberto Servicio Nombre_Banco Romero Romero Romero Romero Romero Wiese Wiese Wiese Wiese Wiese Romero Romero Romero Romero Romero Clientes
Nombre_Cliente

Clientes Calle Bolognesi 2 de Mayo Bolognesi Arias y Aragez Enmel Bolognesi 2 de Mayo Bolognesi Arias y Aragez Enmel Bolognesi 2 de Mayo Bolognesi Arias y Aragez Enmel

Clientes Ciudad_Cliente Tacna Tacna Tacna Tacna Arequipa Tacna Tacna Tacna Tacna Arequipa Tacna Tacna Tacna Tacna Arequipa

Prez Juan Jos Pedro Sandro Prez Juan Jos Pedro Sandro Prez Juan Jos Pedro Sandro

10

19/11/2012

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.

Nombre_banco=Wiese(Servicio x Clientes)
El resultado es:
Servicio
Nombre_cliente

Servicio
Nombre_Banco

Clientes
Nombre_Cliente

Clientes
Calle
Bolognesi 2 de Mayo Bolognesi

Clientes
Ciudad_Cliente

Prez Prez Prez Prez Prez

Wiese Wiese Wiese Wiese Wiese

Prez Juan Jos Pedro Sandro

Tacna Tacna Tacna Tacna Arequipa

11

Arias y Aragez
Enmel

Algebra Relacional Operadores Relacionales


Paso # 2: Seleccionamos Servicio.Nombre_Cliente = Clientes.Nombre_Cliente de la consulta anterior. Entonces tenemos:

Servicio.Nombre_Cliente (Servicio x Cliente))

Clientes.Nombre_Clientes(Nombre_banquero=Wiese

El resultado es:
Servicio
Nombre_cliente

Servicio
Nombre_Banquero

Clientes
Nombre_Cliente

Clientes
Calle
Bolognesi

Clientes
Ciudad_Cliente

Prez

Wiese

Prez

Tacna

12

19/11/2012

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:

Servicio.nombre_cliente,Clientes.ciudad_cliente(Servicio.nombre_cliente=Clientes.nom bre_cliente(Nombre_banquero=Wiese(Servicio x Clientes)))

El resultado es:
Servicio Nombre_Cliente Prez Clientes Ciudad_cliente

13
Tacna

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.

14

19/11/2012

Algebra Relacional Operadores Relacionales


Ejemplo Encontrar a todos los clientes de la sucursal 2 de Mayo. R1=Prstamo R2=Depsito Relacin Depsito
Nombre_Sucursal 2 de Mayo Central Coronel Mendoza Central 2 de Mayo Nmero_Cuenta 1000 1115 2550 2560 3040 Nombre_Cliente Juan Jos Prez Sandro Pedro Saldo 1000 2050 5000 10000 10000

Relacin Prstamo
Nombre_Sucursal 2 de Mayo 2 de Mayo Central Coronel Mendoza
Nmero_Prstamo

Nombre_Cliente Juan Ramn Jos Prez

Cantidad 10000 50000 10000 15000

01 17 15 20

15

Unin:
1.- Encontrar Clientes con un Prstamo en 2 de Mayo. Nombre_Cliente(Nombre_Sucursal=2 de Mayo (Prstamo))
Nombre_Cliente Juan Ramn

2.- Encontrar Clientes con una cuenta en la sucursal 2 de Mayo. Nombre_Cliente(Nombre_Sucursal=2 de M\ayo (Depsito))
Nombre_Cliente Juan Pedro

Nombre_Cliente(Nombre_Sucursal=2 de Mayo (Prstamo)) Nombre_Cliente(Nombre_Sucursal=2 de Mayo (Depsito))


Nombre_Cliente Juan Pedro Ramn

16

19/11/2012

Obtener los nombres de los empleados que ganan mas de $1.500.000 o que trabajan en el departamento con cdigo A1.

17

Algebra Relacional Operadores Relacionales Diferencia


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.

18

19/11/2012

Algebra Relacional Operadores Relacionales


Relacin Depsito
Nombre_Sucursal 2 de Mayo Central Coronel Mendoza Central 2 de Mayo Nmero_Cuenta 1000 1115 2550 2560 3040 Nombre_Cliente Juan Jos Prez Sandro Pedro Saldo 1000 2050 5000 10000 10000

Relacin Prstamo
Nombre_Sucursal 2 de Mayo 2 de Mayo Central Coronel Mendoza
Nmero_Prstamo

Nombre_Cliente Juan Ramn Jos Prez

Cantidad 10000 50000 10000 15000

01 17 15 20

Ejemplo: Los Clientes que tengan Depsito pero que no tengan Prstamo y que sean de 2 de Mayo.

Nombre_Cliente(Nombre_Sucursal=2 de Mayo (Depsito)) Nombre_Cliente(Nombre_Sucursal=2 de Mayo (Prstamo))

Nombre_Cliente Pedro

19

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)

20

10

19/11/2012

Algebra Relacional Operadores Relacionales


Ejemplo

Encontrar a todos los clientes con un prstamo y una cuenta en la sucursal Central.

Nombre_Cliente(Nombre_Sucursal=Central (Depsito)) Nombre_Cliente(Nombre_Sucursal=Central (Prstamo))


Nombre_Cliente Jos

21

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: Notacin: R1 R2

22

11

19/11/2012

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

23

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

24

12

19/11/2012

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

13

Potrebbero piacerti anche