Documentos de Académico
Documentos de Profesional
Documentos de Cultura
lgebra Relacional
Principios
Lenguajes relacionales
Introduccin
Los lenguajes relacionales son lenguajes formales (tericomatemticos) y se basan en el carcter conjuntista de una
relacin.
El lgebra relacional es un lenguaje procedimental para la
manipulacin de relaciones
En esta se especifica paso por paso la respuesta a una
consulta de los datos contenidos en una relacin.
El clculo relacional es un lenguaje aprocedimental
En el clculo relacional una consulta se resuelve en un solo
paso.
El Algebra Relacional fue desarrollada en 1970 y el clculo
relacional en 1971 por Codd.
Lenguajes relacionales
lgebra relacional
Lenguajes relacionales
Clasificacin de las operaciones relacionales:
Operaciones bsicas
Seleccin
Proyeccin
Unin
Diferencia
Producto cartesiano
Interseccin
Cociente o divisin
Join o reunin
Unin
Interseccin
Diferencia de
conjuntos
Producto Cartesiano
La del lenguaje de
programacin es:
Asignacin
Proyeccin
Seleccin
Divisin o cociente
Join
Algebra Relacional
Operadores del algebra se pueden clasificar
Segn la pertenencia a la
teora de conjuntos
Segn la posibilidad de
descomponerlos
Segn la cantidad de
argumentos
Tradicionales
Primitivos
Unarios
Especiales
Derivados
Binarios
CARRERA DE
INGENIERA
INFORMTICA
Y DE SISTEMAS
Segn la posibilidad de
descomponerlos
Tradicionales
Primitivos
Segn la cantidad de
argumentos
Unarios
1.
Unin
1.
Unin
1.Seleccin
2.
Interseccin
2.
Diferencia
2.Proyeccin
3.
Diferencia
3.
Producto Cartesiano
4.
Producto Cartesiano
4.
Seleccin
1.Unin
5.
Proyeccin
2.Diferencia
Especiales
1.
Seleccin
2.
Proyeccin
3.
Join
CARRERA DE
Derivados
1.
Interseccin
2.
Join
3.
Divisin
Binarios
3.Producto
Cartesiano
4.Interseccin
5.Join
INGENIE
.A
4R Divisin
6.Divisin
Algebra Relacional
Todos los operadores satisfacen la
propiedad de clausura:
Todo operador del lgebra toma como argumento/s
esquemas de relaciones y devuelve tambin
esquema de relacin
Ninguna expresin del algebra
puede generar tuplas repetidas
un
Generar expresiones
encadenadas o anidadas
10
Anidar expresiones
Expresin
uno
R1
Donde:
R1 tiene atributos nombre1 y nombre 2
nombre1 y nom_nuevo1 estn definidos sobre el mismo dominio
idem para nombre2 y nom_nuevo2
Algebra Relacional
Operador renombrar
No slo permite renombrar el nombre de la relacin sino tambin
el nombre de sus atributos
S(B1,B2, , Bn) (R)
Renombra la relacin R y sus atributos
S (R) o
Donde:
B1, B2, , Bn son los nuevos nombres de los atributos. Si los atributos de R
son (A1 ,A2, , An) en ese orden, entonces cada Ai se renombra como Bi
NOTA: En el caso que no necesiten ser renombrados todos los atributos, lo mismo se los debe
13
Algebra Relacional
Operador
Seleccin
Funcin
Notacin
14
Operador seleccin
Comentarios:
La <condicin de seleccin> es una expresin booleana que puede utilizar los
operadores de comparacin {<,>,=,,,}. Estos operadores se aplican a
atributos cuyos dominios son valores ordenados (numricos, fechas, cadenas de
caracteres). Un ejemplo de dominio no ordenado es COLOR={rojo, verde,
amarillo}.
Las clusulas pueden conectarse con operadores
booleanos
El
operador
seleccin
es
conmutativo:
<cond1> (<cond2> (R)) = <cond2> (<cond1> (R))
Siempre es posible reemplazar una cascada de selecciones en una sola:
Operador
Proyeccin
Funcin
Genera otro esquema de
relacin que contiene
solamente los atributos de R
especificados en la lista de
atributos
Notacin
<lista de atributos> R
Comentarios:
La cantidad de tuplas de la relacin resultante ser menor o igual a
la cantidad de tuplas de la relacin R.
El operador de proyeccin no es conmutativo.
Dos relaciones, R(A1, A2, , An) y S(B1, B2, , Bn), sern unin
compatibles si tienen el mismo tipo de tuplas. Es decir, si ambas
tienen grado n y si dom(Ai)=dom(Bi) para 1 i n.
Calificacin de Atributos
Los atributos de una relacin R(A1, A2, , An) pueden ser calificados
colocando el nombre de la relacin, luego un punto y por ltimo el
nombre del atributo, por ejemplo,R.A2.
Operador
Unin *
Funcin
Genera un esquema de relacin que
posee el mismo conjunto de
atributos de R1 y R2, e incluye las
tuplas que pertenecen a R1 o a R2 o
a ambas
Notacin
R 1 U R2
Comentarios:
La cantidad de tuplas de la relacin resultante ser menor o igual a
la cantidad de tuplas de la relacin R1 + la cantidad de tuplas de R2.
El operador union es conmutativo.
* Los argumentos deben ser Unin Compatibles
Operador
Interseccin*
Funcin
Genera un esquema de relacin que
posee el mismo conjunto de
atributos de R1 y R2, e incluye las
tuplas que pertenecen a R1 y a R2
Comentarios:
El operador interseccin es conmutativo.
Notacin
R 1 R2
Operador
Diferencia *
Funcin
Genera un esquema de relacin que
posee el mismo conjunto de
atributos de R1 y R2, e incluye las
tuplas que pertenecen a R1 y no
pertenencen a R2
Comentarios:
El operador diferencia no es conmutativo.
Notacin
R1 - R2
Operador
Producto
Cartesiano
Comentarios:
Funcin
Notacin
Genera un esquema de
R 1 x R2
relacin que posee la unin
de atributos de R1 y R2, y
como tuplas todas las
combinaciones posibles de las
tuplas de R1 y R2
Algebra Relacional
Operador
Join
Comentarios:
Funcin
Genera un esquema de relacin
que posee la unin de atributos de
R1 y R2, (n+m), y como tuplas
todas las combinaciones posibles
de R1 y R2 que satisfacen la
condicin de reunin
Notacin
R1
<cond. de reunin>
R2
Donde:
R1(A 1,A 2, , An)
R2(B1,B2, , Bm)
Algebra Relacional
23
Algebra Relacional
Operador
Natural Join
Comentarios:
Funcin
Es equivalente a un equijoin
con ciertas diferencias:
La condicin de reunin es
implcita, y es la igualdad
sobre los atributos con
idnticos nombres en ambas
relaciones (R1y R2). Adems
los atributos coincidentes son
mostrados slo una vez en la
relacin resultante.
Notacin
R1 * R2
Operador
Division
Funcin
Genera una relacin que
posee como atributos, los de
R1 que no estn en R2
(digamos Z). Y en cuanto a
las tuplas, todos aquellos
valores Z que estn
combinados en R1 con todos
los valores presentes en R2.
Comentarios:
El operador Divisin no es conmutativo.
Notacin
R 1 R2
Donde:
Si Z son atributos de
R1 y S los de R2,
entonces S Z
26
Prioridades de operaciones