ALGEBRA RELACIONAL
El lgebra relacional permite entender el modelo relacional de bases de datos desde la
perspectiva matemtica. ES conjunto cerrado de operaciones
Actan sobre relaciones
Producen relaciones como resultados
Pueden combinarse para construir expresiones ms complejas
Operadores Bsicos
Unin
Diferencia
Producto Cartesiano
Seleccin
Proyeccin
Operadores Derivados
Interseccin
Join
Divisin
Asociacin
Unin R S
La unin de dos relaciones R y S, es otra relacin que contiene las tuplas que
estn en R, o en S, o en ambas, eliminndose las tuplas duplicadas
R y S deben ser unin-compatible, es decir, definidas sobre el mismo conjunto de
atributos
Diferencia R - S
La diferencia de dos relaciones R y S, es otra relacin que contiene las tuplas que
estn en la relacin R, pero no estn en S
R y S deben ser unin-compatible
Unidad II
Pgina 1
Producto Cartesiano R x S
Define una relacin que es la concatenacin de cada una de las filas de la relacin R
con cada una de las filas de la relacin S
Proyeccin
col1, . . . , coln(R)
Es un operador unario
Define una relacin que contiene un subconjunto vertical de R con los valores de
los atributos especificados, eliminando filas duplicadas en el resultado
Interseccin
RS
Define una relacin que contiene el conjunto de todas las filas que estn tanto en
la relacin R como en S
R y S deben ser unin-compatible
Equivalencia con operadores bsicos R S = R (R S)
Unidad II
Pgina 2
Divisin o Cociente R S
Define una relacin sobre el conjunto de atributos C, incluido en la relacin R, y
que contiene el conjunto de valores de C, que en las tuplas de R estn
combinadas con cada una de las tuplas de S
Condiciones
grado(R) > grado (S)
conjunto atributos de S / conjunto de atributos de R
Equivalencia con operadores bsicos
X1 = C(R); X2 = C((S X X1) R); X = X1 X2
R1
Join
Unin Natural (Natural Join)
R*S
Outer Join
Es una variante del Join en la que se intenta mantener toda la informacin de los
operandos, incluso para aquellas filas que no participan en el Join
Se rellenan con nulos las tuplas que no tienen correspondencia en el Join
Tres variantes
Left:se tienen en cuenta todas las filas del primer operando
Right:se tienen en cuenta todas las filas del segundo operando
Full:se tienen en cuenta todas las filas de ambos operandos
Unidad II
Pgina 3
Asociacin
Asociacin o Theta Join (q-Join)
R*FS
Define una relacin que contiene las tuplas que satisfacen el predicado F en el
producto cartesiano de R y S
El predicado F es de la forma R.ai q S.bi donde q representa un operador de
comparacin (<,, >,, =,)
El predicado no tiene por que definirse sobre atributos comunes
Equivalencia con operadores bsicos
Equijoin
Si el predicado F contiene nicamente el operador de igualdad
A2,
...
An).A
la
definicin
del
conjunto
de
atributos
se
le
Pgina 4
Qu es el lgebra relacional?
Es un conjunto de operaciones matemticas definidas sobre el modelo de conjuntos que se
acaba de resumir, que permite especificar formalmente consultas a bases de datos relacionales.
Pgina 5
Como el resultado de cualquier operacin de lgebra relacional es una relacin, las tuplas
repetidas en el resultado de la proyeccin se eliminarn.
El orden de los atributos en la proyeccin no tiene que ser el mismo que en la relacin
original.
dni
apellidos nombre fecha-nacimiento es-doctor telfono-mvil D_nombre
32323
Prez Juan 30/10/1965
true
65454545
Matemticas
4434343 Dez
Jos 30/10/1970
true
65789767
Historia
23423432 Snchez Juan 30/10/1980
false
66789899
Matemticas
La siguiente sentencia SELECT hace una proyeccin del nombre y los apellidos.
SELECT nombre, apellidos FROM PROFESORES
Unidad II
Pgina 6
relacin
contiene
por
tanto
solo
tuplas
seleccionadas
que
cumplen
una
Unidad II
Pgina 7
La equicombinacin
La equicombinacin (equireunin o equijoin) es una combinacin que en la condicin C solo
tiene igualdades. Es especialmente importante porque permite obtener informacin relacionada
por las claves ajenas de las tablas.
Combinacin natural
Cuando se hace una equicombinacin, la relacin resultante tiene los atributos de las dos
relaciones originales. Dado que se est exigiendo igualdad de valores en al menos un atributo,
la relacin resultante tendr atributos con informacin repetida (tantos como atributos hayan
sido comparados en la condicin C). La combinacin natural es una variante de la
equicombinacin donde se eliminan esos atributos superfluos.
En SQL, la combinacin natural puede hacerse combinndola con una proyeccin de los
atributos de las dos relaciones que excluya alguno de las Operaciones de teora de conjuntos.
Se eliminarn las tuplas repetidas. Se entiende que en las dos relaciones no debe haber tuplas
con la misma clave primaria y el resto de la informacin diferente.
Si tenemos dividida la informacin de los profesores antiguos y los nuevos en dos relaciones
(por ejemplo, por motivos de rendimiento), pero queremos obtener un listado histrico de
todos ellos, podemos utilizar el operador UNION de SQL.
SELECT * FROM PROFESORES
UNION
SELECT * FROM EX-PROFESORES
El operador UNION requiere que los atributos de las relaciones devueltas por las
dos SELECT sean del mismo tipo segn el orden de aparicin. Si en una de las tablas este
Unidad II
Pgina 8
Referencias
Cavero, P. P. (2002). oei. Recuperado el 02 de 04 de 2012, de www.oei.com
Sicilia, M. A. (s.f.). Connexions. Recuperado el 05 de 04 de 2012, de
http://cnx.org/content/m18351/latest/
Unidad II
Pgina 9