El documento habla sobre el álgebra relacional, un lenguaje de consulta definido por Edgar Codd en 1972 para darle comportamiento dinámico a las bases de datos relacionales. Describe las operaciones unarias como selección y proyección y las operaciones binarias como unión, diferencia e intersección que permiten generar nuevas relaciones a partir de operaciones matemáticas sobre una o dos relaciones existentes. También cubre la composición de operadores y la operación de renombramiento.
2. ALGEBRA RELACIONAL
El Algebra Relacional es un lenguaje de consulta procedimental, definido a partir de la
matemática formal por Edgar Frank Codd en 1972 para conceder el comportamiento
dinámico a las bases de datos relacionales. El Algebra Relacional es considerado el
precedente más importante que dio origen al primer lenguaje relacional: ALPHA, el cual
a su vez, dio los fundamentos del lenguaje SQL, llamado originalmente SEQUEL.
Codd propuso una serie de operaciones basadas en la teoría de conjuntos que generan
a partir de una o dos relaciones de la base de datos una relación derivada, asimismo, las
relaciones derivadas pueden generar nuevas relaciones derivadas al aplicarse sobre
éstas operadores del algebra relacional. Las operaciones definidas pueden ser
fundamentales y no fundamentales, siendo las operaciones no fundamentales
expresadas a partir de las fundamentales. Por otro lado, las operaciones pueden ser
divididas en dos clases, Unarias aquellas que se aplican sobre una relación o Binarias,
cuando se aplican sobre dos relaciones.
3. OPERACIONES UNARIAS
Operaciones de Selección
La operación de selección describe condiciones que deben cumplir los datos de los atributos de
una relación R, de tal manera que se crea una nueva relación a partir de las tuplas que cumplen
con la(s) condicion(es) definida(s).
Ejemplo 1
Consideramos la relación Persona (id, nombre, sexo, edad) que se muestra en la Tabla
Supongamos que se requiere consultar los datos de las personas que tienen una edad mayor a
18 años, en algebra relacional usando el operador de selección podemos describir esta consulta
como
5. Operaciones de Selección
Ejemplo
El predicado o restricción del operador de Selección puede incluir una combinación de
condiciones sobre los atributos de la relación. Por ejemplo, si necesitamos consultar las
personas de sexo masculino (M) que tengan menos de 25 años. En algebra relación debemos
expresar esta consulta como:
El resultado de esta consulta:
6. Operaciones de Selección
Ejemplo
Consideremos la Relación Matricula de la Tabla 4.4. Se requiere consultar todos los estudiantes que tengan
una nota mayor igual a 3.0. En algebra relacional podemos expresarlo como:
El resultado de esta consulta:
7. Operaciones de Selección
En la relación que resulta en la Tabla 4.5, se puede observar que la tupla con los datos de “Lucia
Jiménez” de la relación original no se ha tenido en cuenta en el resultado, esto debido a que la
comparación realizada en el operador de Selección se ha hecho sobre un atributo que para esta
tupla contiene un valor nulo o vacío.
Ejemplo
Consideremos la Relación Matricula de la Tabla 4.4. Se requiere consultar todos los estudiantes
que tengan una edad mayor a la de su profesor. En algebra relacional podemos expresarlo como:
8. Operación de Proyección
La operación Proyección permite definir un subconjunto de campos de una relación que serán
mostrados en la consulta resultante. El operador recibe una relación R de n campos y el
resultado de la proyección es una nueva relación con m campos, siendo m<=n.
Ejemplo
Consideremos la relación Entrevista de la Tabla 4.7. Se requiere consultar solo los nombres de
los profesores que han practicado pruebas a los estudiantes. En algebra relación podemos
expresarlo como:
9. Operación de Proyección
El resultado sería el siguiente:
En la relación que resulta en la Tabla 4.8,
podemos observar que la operación
elimina todas las filas duplicadas, ya que al
revisar los datos de la tabla original nos
damos cuenta que en el atributo profesor
“Jaime Falla” se encuentra en 3 tuplas, sin
embargo, la operación por ser una
operación de conjuntos solo lo muestra en
el resultado una vez.
10. Composición de Operadores Selección y
Proyección
Como ya se ha visto, el resultado de una operación de algebra relacional genera una nueva
relación. Por lo tanto, al resultado de una operación se le puede aplicar otra operación. Esto nos
permite implementar consultas más complejas.
Ejemplo
Consideremos la Relación País de la Tabla 4.10. Se requiere consultar solo el nombre de los
países que tengan una extensión a 1’500.000 km. En algebra relacional podemos expresarlo
como:
El resultado de esta consulta podemos observarlo en la Tabla 4.10. En la expresión de algebra
relacional podemos ver que la selección de los países con una extensión mayor a 1’500.000 sirve
como argumento de la operación de proyección.
12. Operación de renombramiento
La operación de Renombramiento se aplica sobre una relación R que puede ser el resultado de
una operación de algebra relacional. Esta operación es útil ya que las expresiones de algebra
relacional no tienen un nombre para referirse a ellas.
Ejemplo
Consideremos la relación que resulta en la Tabla 4.11. Se desea asignar un nombre a la relación
resultante de la expresión de algebra relacional, de tal manera que le nombre sea
“PaisesGrandes” y sus atributos sean: id, Nombre y Extensión. Esto en algebra relacional
podemos expresarlo como:
14. OPERACIONES BINARIAS
Operación Unión
La operación Unión permite crear una relación R con los elementos de las relaciones R1 y R2.
Para poder realizar la operación de unión entre R1 y R2, el par de relaciones deben tener la
misma cantidad de atributos y estos ser compatibles entre ellos, es decir, el atributo i de R1
debe tener el mismo, nombre, tipo de dato y dominio del atributo i de R2.
Ejemplo
Considere las relaciones Estudiante y Docente de la Tabla 4.12. Se requiere obtener los datos de
estudiantes y docentes en una nueva relación. En algebra relacional podemos expresar esta
consulta como
15. Operación Unión
El resultado de esta consulta podemos observarlo en la Tabla 4.13. Las tuplas de ambas
relaciones han sido unidas en una nueva relación, por ser una operación de conjuntos, las tuplas
repetidas se han eliminado y solo aparecen en la nueva relación una vez.
16. Operación Unión
Ejemplo
Considere las relaciones Estudiante y Docente de la Tabla 4.12. Se desea consultar solos los
nombres de estudiantes y docentes. En algebra relacional podemos expresar la consulta como:
El resultado de esta consulta podemos observarlo en la Tabla 4.14.
17. Operación de Diferencia
La operación Diferencia permite crear una nueva relación con los elementos de la relación R1
que no están en la relación R2. Para que la operación sea válida, las relaciones R1 y R2 deben ser
compatibles.
Ejemplo
Considere las relaciones Estudiante y Docente de la Tabla 4.12. Se desea obtener los Estudiantes
que no han sido registrados como docentes. En algebra relacional podemos expresarlo como los
estudiantes que no están en la relación , empleando la operación diferencia se representa como
18. Operación de Diferencia
El resultado de esta consulta podemos observarlo en la Tabla 4.15. La tupla de la relación
Estudiante que se encuentra duplicada en la relación Docente ha sido eliminada.
19. Operación de Intersección
La operación Intersección es una operación básica de conjuntos que permite crear una relación
con los elementos que se encuentran en una relación R1 y una relación R2.
Considere las relaciones Estudiante y Docente de la Tabla 4.12. Se desea conocer los estudiantes
que también son docentes. En algebra relacional podemos expresarlo como la intersección de
las relaciones Estudiante y Docente.
El resultado de esta consulta podemos observarlo en la Tabla 4.16.