Professional Documents
Culture Documents
Algebra Relacional Bases de Datos
Algebra Relacional Bases de Datos
● Selección
● Proyección
● Producto cartesiano
● Unión
● Diferencia de conjuntos
● Combinación
● Intersección
● División
nroArtículo descripción precio stock nroPedido nroCliente fecha estado nroPedido nroArtículo cantidad precio
A1 XX-qwerty 10.00 20 P1 1 10/05/2005 P P1 A1 100 10.00
A2 YY-qwerty 15.00 50 P2 7 12/05/2005 C P1 A2 125 15.00
A5 ZZ-qwerty 2.50 10 P3 2 09/05/2005 P P2 A2 50 15.00
A7 HH-qwerty 3.00 223 P4 7 01/05/2005 P P2 A5 100 2.50
P3 A1 135 10.00
P3 A5 145 2.50
P3 A7 125 3.00
P4 A7 100Prof. Diego Mosquera
3.00
Álgebra Relacional (cont…)
Operaciones unarias
Selección (sigma)
Define otra relación que contiene únicamente aquellas tuplas de R
que satisfacen el predicado P:
Selección
𝞼P(R)
Predicado
Ejemplo: enumerar todos los artículos cuyo stock sea mayor que 10.
Proyección (pi)
Define otra relación que contiene un subconjunto vertical de R, extrayendo
los valores de los atributos especificados y eliminando los duplicados.
Proyección
πa1,a2,...,ak(R)
Atributos de la relación R
Ejemplo: generar una lista de todos los artículos, mostrando solamente los
detalles referidos a los atributos descripción y precio.
Proyección
Ejemplo con eliminación de tuplas R
dni apellido1 apellido2 nombre curso
πdni, apellido1, 123 x y a C1
123 x y a C2
123 x y a C3 Proyección
apellido2 231 w v b C2
231 w v b C5
=
123 x y dni apellido1 apellido2
123 x y 123 x y
231 w v 231 w v
231 w v
Prof. Diego Mosquera
Álgebra Relacional (cont…)
Operaciones de conjuntos
(operaciones binarias)
Unión
Dados los conjuntos A y B, existe otro conjunto C tal que:
(∀x : x ∊ C : x ∊ A ∨ x ∊ B)
RUS
Unión de relaciones
RUS
name address gender birthDate
Carrie Fisher 123 Maple St. F 9/9/99
Mark Hamill 456 Oak Rd. M 8/8/88
Harrison Ford 789 Palm Dr. M 7/7/77
Álgebra Relacional (cont…)
Ejemplo: enumerar todos los clientes que tienen teléfono o que hayan hecho al
menos un pedido.
nroCliente
1 Unión
7
2
Álgebra Relacional (cont…)
Intersección
Dados los conjuntos A y B, existe otro conjunto C tal que:
(∀x : x ∊ C : x ∊ A ∧ x ∊ B)
R∩S
name address gender birthDate
Carrie Fisher 123 Maple St. F 9/9/99
Álgebra Relacional (cont…)
Ejemplo: enumerar todos los clientes que tengan teléfono y que hayan hecho
al menos un pedido.
nroCliente
1 Intersección
7
2
Álgebra Relacional (cont…)
Diferencia
Dados los conjuntos A y B, existe otro conjunto C tal que:
(∀x : x ∊ C : x ∊ A ∧ x ∉ B)
R-S
name address gender birthDate
Mark Hamill 456 Oak Rd. M 8/8/88
Álgebra Relacional (cont…)
nroCliente
3 Diferencia
Álgebra Relacional (cont…)
Diferencia Simétrica
Dados los conjuntos A y B, existe otro conjunto C tal que:
RΔS
name address gender birthDate
Mark Hamill 456 Oak Rd. M 8/8/88
Harrison Ford 789 Palm Dr. M 7/7/77
Álgebra Relacional (cont…)
Ejemplo: enumerar todos los clientes que hicieron pedidos, pero que no tienen
teléfono registrado.
Diferencia
nroCliente
Simétrica
Álgebra Relacional (cont…)
Producto Cartesiano
Dados los conjuntos A y B, existe otro conjunto C tal que:
(∀x,y : (x,y) ∊ C : x ∊ A ∧ y ∊ B)
RxS
Producto cartesiano entre relaciones
S edo dateInscrip
S 7/7/00
SN 9/9/00
RxS
name address gender birthDate edo dateInscrip
Carrie Fisher 123 Maple St. F 9/9/99 S 7/7/00
Carrie Fisher 123 Maple St. F 9/9/99 SN 9/9/00
Mark Hamill 456 Oak Rd. M 8/8/88 S 7/7/00
Mark Hamill 456 Oak Rd. M 8/8/88 SN 9/9/00
Álgebra Relacional (cont…)
Descomposición
Es posible descomponer operaciones complejas usando el operador de asignación (←)
para nombrar resultados de una operación del álgebra relacional.
R(a1,a2,...an) ← S ⊗ T
Asignación
Operaciones de combinación
Combinación o reunión
● Normalmente solo nos interesan combinaciones del producto cartesiano que
satisfagan ciertas condiciones.
● La combinación es una derivada del producto cartesiano:
Combinación o reunión
● Existen varias formas de combinación:
○ Combinación theta
○ Equicombinación (un tipo particular de la combinación theta)
○ Combinación natural
○ Combinación externa
Combinación theta
Define una relación que contiene tuplas del producto cartesiano de R y
S que satisfacen el predicado F.
R⋈FS = 𝞼F(R x S)
El predicado F tiene la forma R.ai θ S.bi, donde θ puede ser uno de los
operadores de comparación (<, ≤, >, ≥, =, ≠)
Ejemplo: listar los nombres de los clientes que tienen pedidos pendientes
←π
nroCliente
Equicombinación
Una equicombinación es una combinación theta en la que el predicado
F solo contiene el operador de igualdad (=)
R⋈FS = 𝞼F(R x S)
Combinación natural
La combinación natural es una equicombinación entre las dos
relaciones R y S sobre todos los atributos comunes x. Del resultado se
elimina una de las dos apariciones de cada atributo común.
Combinación natural
R1 Ejemplo
R2
231 C2
231 C5
Prof. Diego Mosquera
Álgebra Relacional (cont…)
Combinación natural
Surge una duda entonces...
NO
Prof. Diego Mosquera
Álgebra Relacional (cont…)
dni nombre apellido profesor curso
123 x y P1 C1 πprofesor,curs
πapellido, profesor 123 x y P2 C2
123 x y P3 C3 o
231 w v P2 C2
231 w v P1 C5
apellido profesor apellido profesor curso profesor curso
y P1 y P1 C1 P1 C1
y P2 y P1 C5 P2 C2
y P3 y P2 C2 P3 C3
v P2 y P3 C3 P1 C5
v P1 v P2 C2
v P1 C1
v P1 C5 πapellido,profesor⋈ Profesor
πprofesor,curs
o Prof. Diego Mosquera
Álgebra Relacional (cont…)
≠
y P1 C5 123 x y P1 C1
y P2 C2 123 x y P2 C2
y P3 C3 123 x y P3 C3
v P2 C2 231 w v P2 C2
v P1 C1 231 w v P1 C5
v P1 C5 πapellido,profesor⋈Profesorπprofesor,curs
o
Esto se debe a la presencia de un punto de ambigüedad en la primera relación
(el elemento P1)
Esto permite concluir que no todas las proyecciones de una relación pueden
reconstruirse mediante la combinación natural Prof. Diego Mosquera
Álgebra Relacional (cont…)
Combinación externa
La combinación externa (izquierda) es una combinación en la que
también se incluyen en la relación resultante las tuplas de R que no
tengan valores correspondientes en los atributos comunes de S. A los
valores no existentes en la segunda relación se les asigna un valor nulo
R⋈S
Combinación externa
R Ejemplo
R⋈S
123 C3
S
231 C2
231 C5
Prof. Diego Mosquera
Álgebra Relacional (cont…)
Combinación externa
● De forma similar, existe una combinación externa derecha, que
conserva todas las tuplas de la relación del lado derecho en el
resultado.
● También existe una combinación externa completa que
conserva todas las tuplas de ambas relaciones, rellenando las
tuplas con nulos cuando no se encuentra ninguna tupla
correspondiente en la otra relación.
R⋈S
231 C2
S
231 C5
786 C1
Prof. Diego Mosquera
Álgebra Relacional (cont…)
División (÷)
Suponga que la relación R está definida sobre el conjunto de atributos A y que la
relación S está definida sobre el conjunto B, de modo que B ⊂ A. Sea C = A - B,
podemos definir la operación de división de la forma siguiente:
La operación de división define una relación sobre los atributos C que está compuesta
por el conjunto de tuplas de R que se corresponden con la combinación de todas las
tuplas de S. En términos de operaciones básicas es:
t1 ←π C
(R)
t2 ←π C
((S x t1) - R)
T ← t1 - t 2
División
Es un relación donde nos interesan únicamente las tuplas que hacen "match" en todos los criterios de la segunda
tabla.
R S
A B C D C D
a b c d c d
a b e f e f
b c e f
e d c d
e d e f
a b d e
R÷S
A B
a b
e d
Álgebra Relacional (cont…)
Ejemplo: Suponga las siguientes dos relaciones que pertenecen a una base de
datos inmobiliaria. La relación PropiedadEnRenta tiene todas las propiedades
que la inmobiliaria tiene para alquilar y la relación Vista guarda la información de
las propiedades que han sido vistas por los clientes de la inmobiliaria.
PropiedadEnRenta Vista
Se pide identificar todos los clientes que hayan visto todos los inmuebles con tres ambientes
Álgebra Relacional (cont…)
nroCliente nroPropiedad
C56 P14
C76 P4 Proyección
C56 P4
C62 P14
C56 P36
nroPropiedad
P4 Proyección
P36
nroCliente
C56 División
Extensión del Álgebra Relacional
Operaciones de agregación y agrupamiento
Operaciones de agregación
ဌAL(R)
nroArtículo descripción precio stock nroPedido nroCliente fecha estado nroPedido nroArtículo cantidad precio
A1 XX-qwerty 10.00 20 P1 1 10/05/2005 P P1 A1 100 10.00
A2 YY-qwerty 15.00 50 P2 7 12/05/2005 C P1 A2 125 15.00
A5 ZZ-qwerty 2.50 10 P3 2 09/05/2005 P P2 A2 50 15.00
A7 HH-qwerty 3.00 223 P4 7 01/05/2005 P P2 A5 100 2.50
P3 A1 135 10.00
P3 A5 145 2.50
P3 A7 125 3.00
P4 A7 100Prof. Diego Mosquera
3.00
Funciones de Agregación (cont…)
COUNT(nroArtículo)
3 Agregación
Funciones de Agregación (cont…)
ဌ (R)
GA AL
Ejemplo: calcular el número de items que tiene cada pedido su importe total
ဌ
nroPedido COUNT nroPedido AS cantidad, SUM (cantidad * precio) AS
(ItemPedido)
total
Álgebra relacional
Teléfono
Cliente
nroCliente nombre apellido fechaAlta nroCliente códigoArea característica número tipo
1 Juan Gómez 23/11/1998 1 011 743 4168 Comercial
3 Ana Carro 14/01/1999 2 011 862 4169 Particular
2 Maria López 18/03/1997 7 02322 64 2050 Particular
7 Luis Muro 15/08/2002 7 02322 64 2060 Comercial
nroArtículo descripción precio stock nropedido nroCliente fecha estado nroPedido nroArtículo cantidad precio
A1 XX-qwerty 10.00 20 P1 1 10/05/2005 P P1 A1 100 10.00
A2 YY-qwerty 15.00 50 P2 7 12/05/2005 C P1 A2 125 15.00
A5 ZZ-qwerty 2.50 10 P3 2 09/05/2005 P P2 A2 50 15.00
A7 HH-qwerty 3.00 223 P4 7 01/05/2005 P P2 A5 100 2.50
P3 A1 135 10.00
P3 A5 145 2.50
P3 A7 125 3.00
P4 A7 100 3.00
1) Determine el nombre de los clientes con teléfonos particulares.
nroCliente
2 Proyección
7
nombre
Maria Proyección
Luis
2) Muestre una proyección de cuántos pedidos se realizaron en la primera quincena del mes de mayo
del año 2005.
ဌ count(nroPedido) AS cantidadDePedidos (𝞼
fecha >= ‘01/05/2005’ and fecha <= ‘15/05/2005’ (Pedido))
cantidadDePedidos
4
Agregación
3) Mostrar cuántos teléfonos tienen los clientes que poseen teléfonos.
nroCliente cantidadDeTeléfonos
1 1
2 1
Agrupación
7 2
4) Determinar el monto de cada pedido, de aquellos pedidos que se encuentran pendientes (P).
Proyectar NroPedido y el monto calculado.
π (
nroPedido, importePedido nroPedido ဌ sum(cantidad * precio) AS importePedido (ItemPedido)⋈nroPedido
𝞼 estado = ‘P’ (Pedido))
nroPedido importePedido
P1 2875.00
P2 1000.00 Agrupación
P3 1620.00
P4 300.00
nroPedido importePedido
P1 2875.00
P3 1620.00 Proyección
P4 300.00
5) Muestre el nombre del cliente que posee más de un teléfono de cualquier tipo.
nroCliente cantidadTelefonos
1 1
2 1 Agrupación
7 2
nombre
Luis
Proyección
¡¡¡Gracias por acompañarnos!!!