Sie sind auf Seite 1von 27

SISTEMAS DE

BASES DE DATOS
TICG1001
UNIDAD 7
ALGEBRA RELACIONAL
CONTENIDO
1. Operaciones Básicas
2. Operaciones Derivadas
3. Conversión de SQL a Algebra Relacional
4. Optimización de Queries

NO UTILIZAR COMO MATERIAL DE ESTUDIO


Algebra Relacional
• Es un lenguaje teórico con operaciones que trabajan sobre una o
mas relaciones para definir otra relación.
• Parecidas a las operaciones matemáticas.

☛ Entender álgebra relacional es la clave


para entender SQL, procesamiento de queries!

NO UTILIZAR COMO MATERIAL DE ESTUDIO


LENGUAJES QUERY
RELACIONALES
Lenguajes Query: Permite manipulación y acceso a los datos de una base de
datos.
Los lenguajes Query != Lenguajes de Programación
◦ No se los utiliza para cálculos complejos
◦ Soporta el acceso fácil y eficiente a grandes sets de datos

Un query es aplicado a las instancias de una tabla y el resultado de un query también es


una instancia de una tabla.

NO UTILIZAR COMO MATERIAL DE ESTUDIO


EJEMPLO DE INSTANCIAS DE LAS
TABLAS BOTES MARINEROS
RESERVA
Reserva
mid bid fecha
Botes

bid bnombre color 22 101 10/10/96


101 Interlake Azul 58 103 11/12/96
102 Interlake Rojo Marineros
103 Clipper Verde
mid mnombre rating edad
104 Marine Rojo
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0
NO UTILIZAR COMO MATERIAL DE ESTUDIO
EJEMPLO DE INSTANCIAS DE LAS
TABLAS BOTES MARINEROS
RESERVA
bid bnombre color
S1
101 Interlake Azul
102 Interlake Rojo
103 Clipper Verde
R1 mid bid dia 104 Marine Rojo
22 101 10/10/96
58 103 11/12/96 S2 mid mnombre rating edad
28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0
NO UTILIZAR COMO MATERIAL DE ESTUDIO
ÁLGEBRA RELACIONAL:
OPERADORES BÁSICOS
Ø Proyección
Ø Selección
Ø Unión
Ø Diferencia
Ø Producto Cruz

NO UTILIZAR COMO MATERIAL DE ESTUDIO


ÁLGEBRA RELACIONAL:
OPERADORES BÁSICOS
Ø Proyección( p ) Re3ene solo las columnas requeridas de una relación (ver3cal).
Ø Selección ( s ) Selecciona un subconjunto de filas de una relación (horizontal).
Ø Producto-Cruz ( ´ ) Nos permite combinar dos relaciones.
Ø Diferencia ( — ) Las tuplas en r1, pero no en r2.
Ø Union ( È ) Tuplas en r1 y/o en r2.

Como cada operación retorna una relación, las operaciones


pueden ser compuestas!

NO UTILIZAR COMO MATERIAL DE ESTUDIO


OPERADORES BÁSICOS:
PROYECCIÓN
Crea una nueva relación a partir de otra, pero incluyendo sólo algunas de las columnas
π
Se representa con el símbolo p

π (S2)edad
π mnombre,rating
(S2)
El operador proyección elimina duplicados
Esquema resultante: S2
◦ Exactamente los campos en la lista de proyección, con los mismos nombres mid mnombre rating edad
que tenían en la relación inicial. 28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0

NO UTILIZAR COMO MATERIAL DE ESTUDIO


OPERADORES BÁSICOS:
PROYECCIÓN
mnombre rating

S2
yuppy
lubber
guppy
9
8
5
π (S2)
mnombre,rating

mid mnombre rating edad rusty 10


28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0
edad
35.0
55.5
π (S2) edad

NO UTILIZAR COMO MATERIAL DE ESTUDIO


OPERADORES BÁSICOS:
SELECCIÓN
Ø Selecciona las filas que satisfacen una condición de selección.
σ
Ø El resultado es una relación.
Ø Se representa con el símbolo s
Esquema resultante:
◦ El mismo de la relación inicial.

mid mnombre rating edad mnombre rating


28 yuppy 9 35.0
yuppy 9
31 lubber 8 55.5
44 guppy 5 35.0 rusty 10
58 rusty 10 35.0

σ rating>8
(S2) π mnombre,rating
(σ (S2))
rating>8

NO UTILIZAR COMO MATERIAL DE ESTUDIO


EJERCICIO:
Escriba los siguientes queries en álgebra relacional:
•Las fechas en la que se ha reservado el bote #103. •La edad de los marineros con rating mayor a 7.
•El id de los marineros que reservaron el bote #102 •El id y color de los botes de nombre Interlake.
•Los nombres de los botes de color rojo. •El nombre y id de los marineros con 55 años de edad.
Botes Reserva
bid bnombre color mid bid fecha
101 Interlake Azul 22 101 10/10/96
102 Interlake Rojo
Marineros
58 103 11/12/96
103 Clipper Verde mid mnombre rating edad
104 Marine Rojo 22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0

NO UTILIZAR COMO MATERIAL DE ESTUDIO


OPERADORES BÁSICOS:
UNIÓN ∪
R U S, la unión de R y S es el conjunto de elementos que están en R
o S o ambos. Un elemento que se repite en ambas relaciones solo
aparece una vez en la nueva relación.
Estas operaciones toman dos tablas que deben ser compatibles en
unión, esto quiere decir:
Ø El mismo número de columnas
Ø Las columnas correspondientes (de izquierda a derecha) tienen los mismos
dominios (tipos)

NO UTILIZAR COMO MATERIAL DE ESTUDIO


EJEMPLO: UNIÓN
S1
mid mnombre rating edad
22 dustin 7 45.0
31
58
lubber
rusty
8
10
55.5
35.0
S1È S2
mid mnombre rating edad
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0
S2 44 guppy 5 35.0
mid mnombre rating edad 28 yuppy 9 35.0
28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0

NO UTILIZAR COMO MATERIAL DE ESTUDIO


OPERADORES BÁSICOS:
DIFERENCIA

Ø R - S, la diferencia de R y S, es el conjunto de elementos
que están en R pero no en S.
Ø Es importante resaltar que R - S es diferente a S – R.
Ø Las Relaciones también deben ser compatibles en unión.

NO UTILIZAR COMO MATERIAL DE ESTUDIO


EJEMPLO: DIFERENCIA
S1
mid mnombre rating edad S1- S2
mid mnombre rating edad
22 dustin 7 45.0
22 dustin 7 45.0
31 lubber 8 55.5
58 rusty 10 35.0

S2
mid mnombre rating edad S 2- S1
28 yuppy 9 35.0 mid mnombre rating edad
31 lubber 8 55.5 28 yuppy 9 35.0
44 guppy 5 35.0 44 guppy 5 35.0
58 rusty 10 35.0

NO UTILIZAR COMO MATERIAL DE ESTUDIO


OPERADORES BÁSICOS:
PRODUCTO CRUZ X
ØR X S, los esquemas de ambas relaciones se mezclan y unen.
ØLas filas en R se unen con las filas en S.
ØNo necesitan ser compatibles en unión.
Esquema resultante un registro por cada registro de S1 y R1, con los nombres de registro
heredados si es posible.
• Pueden haber conflictos de nombres: Ambos, S1 y R1 tienen un registro con el mismo nombre.
• En este caso, se puede usar el operador de renombre:

ρ (C(1→mid1, 5→mid2), S1×R1)

NO UTILIZAR COMO MATERIAL DE ESTUDIO


EJEMPLO: PRODUCTO CRUZ
R1 S1
mid bid dia mid mnombre rating edad
22 101 10/10/96 22 dustin 7 45.0
58 103 11/12/96 31 lubber 8 55.5
58 rusty 10 35.0

mid1 mnombre rating edad mid2 bid dia


22 dustin 7 45.0 22 101 10/10/96
22 dustin 7 45.0 58 103 11/12/96
S1 X R1 = 31 lubber 8 55.5 22 101 10/10/96
31 lubber 8 55.5 58 103 11/12/96
58 rusty 10 35.0 22 101 10/10/96
58 rusty 10 35.0 58 103 11/12/96

NO UTILIZAR COMO MATERIAL DE ESTUDIO


OPERADORES COMPUESTOS
Además de los 5 operadores básicos, hay varios
“Operadores Compuestos”
◦ Estos no le agregan poder computacional al lenguaje ,
pero son útiles.
◦ Se pueden expresar únicamente con las operaciones
básicas.
Ø Intersección
Ø División
Ø Combinación (Join)

NO UTILIZAR COMO MATERIAL DE ESTUDIO


OPERADOR COMPUESTO:
INTERSECCIÓN Ç
ØLa intersección toma dos relaciones compa>bles en
unión.
ØR∩S: el conjunto de elementos que aparecen en
ambos R y S.
ØExpresado con las operaciones básicas:
R Ç S = R - (R - S)

NO UTILIZAR COMO MATERIAL DE ESTUDIO


EJEMPLO: INTERSECCIÓN
S1
mid mnombre rating edad
22 dustin 7 45.0
31
58
lubber
rusty
8 55.5
10 35.0
S1Ç S2
mid mnombre rating edad
31 lubber 8 55.5
S2
58 rusty 10 35.0
mid mnombre rating edad
28 yuppy 9 35.0
31 lubber 8 55.5
44 guppy 5 35.0
58 rusty 10 35.0

NO UTILIZAR COMO MATERIAL DE ESTUDIO


OPERADOR COMPUESTO:
DIVISIÓN /
Ø Útil para expresar queries de tipo “para todo”:
Encontrar sids de marineros que han reservado todos los botes.
Ø Para A/B los atributos de B son un subconjunto de los atributos
de A.
A/B contiene todas las tuplas , que por cada tupla en B, hay una tupla en A.

NO UTILIZAR COMO MATERIAL DE ESTUDIO


EJEMPLO: DIVISIÓN
sno pno pno pno pno
s1 p1 p2 p2 p1
s1 p2 p4
B1 p2
s1 p3
B2 p4
s1 p4
s2 p1 sno
B3
s2 p2 s1
s3 p2 s2 sno
s4 p2 s3 s1 sno
s4 p4 s4 s4 s1
A A/B1 A/B2 A/B3
NO UTILIZAR COMO MATERIAL DE ESTUDIO
OPERADOR COMPUESTO:
COMBINACIÓN (JOIN)
Ø Permite combinar tuplas de dos relaciones a través de
una condición sobre los atributos.
ØExpresado con las operaciones básicas:
R F S = sF (R X S)
F (condición):
• Natural
• Equi
• Condition

NO UTILIZAR COMO MATERIAL DE ESTUDIO


EJEMPLO: COMBINACIÓN
S1 R1
Bar Cerveza Precio
Nombre Direccion
Bar1 Budweiser 2.50
Bar1 Pilsener 3.00 Bar1 Urdesa
Bar2 Corona 2.75
Bar2 Pilsener 3.00 Bar2 Puntilla

Bar Cerveza Precio Nombre Direccion


Bar1 Budweiser 2.50 Bar1 Urdesa

S1 S1.Bar=R1.Nombre R1 = Bar1 Pilsener 3.00 Bar1 Urdesa


Bar2 Corona 2.75 Bar2 Puntila
Bar2 Pilsener 2.50 Bar2 Puntila

sS1.Bar=R1.Nombre (S1 X R1)


NO UTILIZAR COMO MATERIAL DE ESTUDIO
EJERCICIOS
Por definición, los pilotos son empleados que se
Vuelos(vNo, hacia, desde, aeropuerto, distancia, aid) han cerEficado en al menos un avión. Una avión
Avion(aid, alcance, aNombre) puede ser uElizado para cualquier vuelos siempre
CerEficado(eid, aid) y cuando tenga el suficiente alcance. Por lo tanto,
los pilotos pueden pilotear cualquier vuelo
Empleados(eid, salario, eNombre) siempre y cuando estén cerEficados en un avión
con el suficiente alcance.

1. Liste los nombre de los pilotos que están cerEficados en Boeing .


2. Liste el nombre de los aviones que han volado desde LA a NY.
3. Liste los números de vuelos que pueden ser pilotados por todos los pilotos cuyo salario es de más de $ 100.000.
4. Liste los nombres de los pilotos que puedan operar aviones con un alcance de más de 3.000 millas, pero no están
cerEficados en ningún Boeing.
5. Liste los empleados cerEficados en todos los aviones.

NO UTILIZAR COMO MATERIAL DE ESTUDIO


RESUMEN
Ø Álgebra relacional: Un pequeño grupo de operadores que mapean
relaciones con relaciones
◦ Operacional, en el senEdo que uno específica el orden explícito de las
operaciones
◦ Se pueden mezclar
Ø Las operaciones básicas incluyen: s, p, ´, È, -
Ø Operadores compuestos importantes: Ç, ,/

NO UTILIZAR COMO MATERIAL DE ESTUDIO

Das könnte Ihnen auch gefallen