Cátedra de Base de Datos
Facultad de Ciencias Exactas y Tecnología
Universidad Nacional de Tucumán
Ciclo Lectivo 2018
Programa Analítico de la Materia
Unidad 4: Álgebra relacional
Álgebra relacional. Sintaxis del álgebra relacional. Operaciones de conjuntos.
Cálculo relacional. Cálculo relacional orientado hacia las tuplas. Operadores de
Selección, Proyección, productos, Unión y Diferencia, Intersección, Cociente y
Join.
BASES DE DATOS
Bases de Datos Ing. Cristian H. Lafuente
Algebra Relacional
Definición:
“El álgebra relacional es un conjunto de operaciones que describen paso a paso
como calcular una respuesta sobre las relaciones componiendo un lenguaje formal
basado en operadores y que utiliza para ello relaciones”.
Tanto los operandos como los resultados son relaciones, por lo que la salida de una
operación puede ser la entrada de otra operación. Esto permite anidar expresiones
del álgebra, del mismo modo que se pueden anidar las expresiones aritméticas.
BASES DE DATOS
Bases de Datos Ing. Cristian H. Lafuente
Algebra Relacional
Especificaciones
El algebra relacional es un algebra en la cual:
• Sus operandos son relaciones (instancias) o variables que representan relaciones.
• Sus operadores están diseñados para hacer la tareas mas comunes que se necesitan
para manipular relaciones en una base de datos.
El resultado es que el algebra relacional se puede utilizar como un lenguaje de
consulta.
En la practica el algebra relacional debe ser extendida para abarcar la mayor parte
de las tareas reales que se hacen con los datos.
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Operadores del Álgebra Relacional
• El álgebra relacional es similar al álgebra que hasta hoy han aprendido, solo que
en esta los valores utilizados representan datos, y no solo números.
• Es un álgebra cerrada, ya que el resultado de una o mas operaciones
relacionales es siempre una relación.
• Las tuplas de una relación se pueden considerar elementos de un conjunto y por
lo tanto, las operaciones que se pueden realizar en conjuntos también se pueden
realizar en relaciones.
Algebra Relacional
BASES DE DATOS
Bases de Datos Ing. Cristian H. Lafuente
Algebra Relacional
Tipificación
El Algebra Relacional esta compuesta por dos tipos de operaciones, cuya
característica distintiva es el numero de relaciones que necesita. Así vemos que se
tipifican en:
1. UNARIAS
2. BINARIAS
Comenzaremos estudiando las Operaciones Unarias, las cuales son aquellas que
necesitan de solo una relación para realizar la operación.
En cuanto a las Binarias veremos que existen restricciones referidas al GRADO
(Atributos) o a la CARDINALIDAD (Tuplas).
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional
Características:
Así entonces se puede decir que una Relación: “ es una Tabla bidimensional en donde
cada renglón o tupla, tiene datos que pertenecen a alguna cosa o a una parte de
esta, y donde cada columna o atributo de esta tabla describen a la ocurrencia”.
Atributos (Columnas) -> GRADO
Tuplas (Hileras) ->
CARDINALIDAD
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional
Para comenzar el estudio de los operadores del Algebra Relacional, se presentan las
tablas de estudio tomadas como ejemplos, con su Estructura:
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional
La siguiente Figura presenta las tablas de estudio tomadas como ejemplos, con sus
respectivos VALORES:
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores UNARIOS
Operador SELECCIÓN
Definición:
“El operador Selección simbolizado mediante , extrae
tuplas a partir de una relación que satisfagan una restricción dada”.
Cuando este operador es implementado en SQL se encuentra asociado a las palabras
reservadas FROM y WHERE, las cuales brindan la condición que se debe cumplir.
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Operador SELECCIÓN
Si se buscara en la relación ESTUDIANTE a aquellos que estudiaran Administración,
deberíamos escribir:
σ Especialidad=Administración(Estudiante)
entonces obtendríamos la siguiente tabla derivada:
Algebra Relacional - Operadores UNARIOS
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores UNARIOS
Operador PROYECCION
Definición:
“El operador Proyección simbolizado mediante , extrae atributos (columnas)
específicos de una relación”.
El resultado será una nueva relación con las columnas (atributos) seleccionados,
escogiendo los atributos o las columnas de la relación que cumplan con la condición
establecida como parámetro.
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores UNARIOS
Operador PROYECCION
Sobre la tabla ESTUDIANTE realizamos la siguiente operación de PROYECCION:
(Nombre, Especialidad) ESTUDIANTE
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores BINARIOS
Operador UNION
Definición:
“La UNION de dos relaciones está formada por la adición
de tuplas de una relación con las de una segunda relación
que produce una tercera”.
Comentario:
El orden en el que aparecen las tuplas en la tercera relación no es importante, pero se
deben eliminar los que estén duplicados.
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores BINARIOS
Operador UNION
Representación:
La UNION se denota por A + B
Para que esta relación tenga sentido, las relaciones deben ser compatibles en
la UNION, esto es:
1. Cada relación debe tener el mismo número de atributos.
2. Los atributos en las columnas correspondientes deben provenir del
mismo dominio (GRADO).
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores BINARIOS
Operador UNION
La UNION entre las tablas JUNIOR y ESTUDIANTE-HONOR da la siguiente tabla
derivada:
Como se observa en la tupla 1 y 5, existe una redundancia que se debe corregir. El
método indica la eliminación de la tupla 5, dándonos la siguiente tabla derivada
normalizada (Definitiva).
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores BINARIOS
Operador DIFERENCIA
Definición:
“La diferencia de dos relaciones, simbolizada como -, es una
tercera relación que contiene tuplas que están presentes
en la primera relación, pero no en la segunda”.
Restricciones:
Las relaciones deben ser compatibles en la UNION.
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores BINARIOS
Operador DIFERENCIA
La diferencia entre JUNIOR y ESTUDIANTE-HONOR, se ve reflejada en la siguiente
relación.
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores BINARIOS
Operador INTERSECCION
Definición:
“La INTERSECCION de dos relaciones , simbolizada mediante ∩ , es una tercera
relación que contiene las tuplas que aparecen tanto en la primera
como en la segunda relación”.
Las relaciones deben ser compatibles en la UNION.
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores BINARIOS
Operador INTERSECCION
La INTERSECCION de JUNIOR y ESTUDIANTE-HONOR en una tupla
independiente, pero común a ambas relaciones.
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores BINARIOS
Operador PRODUCTO
Definición:
“El producto de dos relaciones, también conocido como el
producto cartesiano, es la concatenación de cada tupla
de una relación con cada tupla de la segunda relación”.
El producto de la relación A (con m tuplas) y la relación B (con n tuplas), dará
como resultado una tabla de m veces n tuplas. Así es que A x B es igual a A veces B.
Grado(A) + Grado (B) y Cardinalidad(A)* Cardinalidad(B)
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores BINARIOS
Operador PRODUCTO
El PRODUCTO de ESTUDIANTE X INSCRIPCION, es una tercera relación que
contiene el producto cartesiano de las tuplas de la primera relación por las de la
segunda relación, obteniendo una relación del tipo :
Grado(A) + Grado (B) y Cardinalidad(A)* Cardinalidad(B)
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operadores BINARIOS
Operador PRODUCTO
Por lo tanto la tabla resultante deberá contener:
Grado(A) + Grado (B) y Cardinalidad(A)* Cardinalidad(B)
4 + 3 y 4 * 3 Tuplas
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
BASES DE DATOS
Bases de Datos Ing. Cristian H. Lafuente
Algebra Relacional - Operadores BINARIOS
Operador DIVISIÓN
Dadas R1 y R2, donde R2 C R1(la cabecera de R2 es un subconjunto de R1), se
construye una nueva relación formada por los atributos de R1 que no están en R2,
donde los valores de los otros atributos concuerdan con todos los valores de la
relación R2.
Se obtendría la siguiente tabla:
Algebra Relacional – Operador Compuesto
Operador JOIN ⋈
El operador de Enlace o JOIN es el operador mas usado para combinar tablas. La
combinación de tablas es importante debido a que la mayoría de las bases de datos
tienen la información distribuida en muchas tablas.
El operador Enlace o JOIN difiere del operador Producto porque requiere de una
condición de coincidencia sobre las tuplas de dos tablas. La mayoría de las tablas se
combinan de esa forma.
El operador Enlace o JOIN construye una nueva tabla al combinar las tuplas de dos
tablas que coinciden con una condición de enlace. Comúnmente la condición de
enlace especifica que dos tuplas tengan un valor idéntico en una o mas columnas.
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional – Operador Compuesto
Operador JOIN ⋈
El operador JOIN es una combinación del PRODUCTO, SELECCIÓN y PROYECCIÓN(Posible).
La Asociación de dos relaciones A y B, opera de la siguiente manera:
1. Debo realizar el PRODUCTO de A x B. Normalización de la relación resultante.
2. SELECCIÓN en función del criterio. Normalización de la relación resultante.
3. Elimina atributos de acuerdo a criterios específicos, mediante la operación dePROYECCION (Posible).
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional – Operador Compuesto
Operador JOIN ⋈
Tomaremos como punto de partida las Tablas ESTUDIANTE e INSCRIPCION para
aplicar el Operador JOIN
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional – Operador Compuesto
Operador JOIN ⋈
Seleccionamos las tuplas en donde #EID sean iguales a las de #NumerodeEstudiante
(solo encontraremos tres).
SELECT ESTUDIANTE x INSCRIPCION WHERE (#EID = #NumerodeEstudiante)
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operador Compuesto
Operador JOIN ⋈Y obtendremos la siguiente tabla derivada:
Observe que tenemos dos atributos idénticos (#EID y #NumerodeEstudiante), por lo
que uno de ellos es redundante del otro. Eliminamos uno (#NumerodeEstudiante)
mediante la PROYECCION.
(EID, Nombre, Especialidad, Grado, NombredeClase, NumerodePosicion) ED-DERIVADA
JOIN NATURAL
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional - Operador Compuesto
Tipificación del Operador JOIN ⋈
Left Join
Left Join conIntersección
Nula
Right Join
Right Join conIntersección
Nula
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional – Operador Compuesto
Tipificación del Operador JOIN
Inner Join
Outer JoinOuter Join conIntersección
Nula
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional
Ejercicios: Operador de Selección
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional
Ejercicios: Operador de Proyección
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional
Ejercicios: Operador de Selección y Proyección
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Algebra Relacional
Ejercicios: Operador de Unión
Ejercicios: Operador de Unión
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Referencia Bibliográfica principal
Fundamentos de bases de datos /
Abraham Silberschatz, Henry F. Korth /
y/ S. Sudarshan.—(Tra. Fernándo Sáenz
Pérez, Antonio García Cordero /y/ Jesús
Correas Fernández.-- Rev. Tca. Luis
Grau Fernández). McGraw Hill.
Madrid /c.2008/5a. Edic.
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS
Sitio Web de la Cátedra
https://catedras.facet.unt.edu.ar/bd/
Bases de Datos Ing. Cristian H. Lafuente
BASES DE DATOS