Logo Studenta

Unidad 5 Álgebra Relacional

¡Este material tiene más páginas!

Vista previa del material en texto

Gestión de Datos
2020
Cátedra de Gestión de Datos
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Unidad V 
Cátedra de Gestión de Datos
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Cátedra de Gestión de Datos
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
UNIDAD 6: Álgebra Relacional
Álgebra Relacional. Operadores de Selección, Proyección, Producto,
Unión y Diferencia, Intersección, Cociente y Join.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional
Relación:
Recordemos que, en el Modelo Relacional, 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 (Filas) ->
CARDINALIDAD
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
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.
Algebra Relacional
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional
Relaciones
(operando)
Operador
Relación 
(resultado)
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
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 práctica el algebra relacional debe ser extendida para abarcar la mayor parte
de las tareas reales que se hacen con los datos.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional
Operadores del Algebra Relacional
EL algebra relacional es similar al algebra que hasta hoy han aprendido, solo que en
esta los valores utilizados representan datos, y no solo números.
Es un algebra 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.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
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 Operaciones Binarias requieren dos relaciones como argumento del
operador.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional
Tipificación
Por otra parte, podemos agrupar a los operadores del algebra relacional de la
siguiente manera:
1. Básicos.
2. Adicionales
Un operador es básico cuando no puede ser definido en términos de otros operadores.
En cambio, un operador es adicional cuando, si bien puede ser definido en términos
de otros operadores, se los implementa para agilizar las búsquedas para consultas que
suelen ser frecuentes.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Listado y clasificación de los Operadores
Operador Unario / Binario Básico / Derivado
SELECCIÓN Unario Básico 
PROYECCION Unario Básico 
UNION Binario Básico 
INTERSECCION Binario Básico 
DIFERENCIA Binario Derivado
PRODUCTO Binario Básico 
JOIN Binario Derivado
COCIENTE Binario Derivado 
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional
Para comenzar el estudio de los operadores del Algebra Relacional, se presentan las
tablas de estudio tomadas como ejemplos, con su Estructura:
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional
La siguiente Figura presenta
las tablas de estudio tomadas
como ejemplos, con sus 
respectivos DOMINIOS DE 
VALORES:
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional
La siguiente Figura presenta las tablas de estudio tomadas como ejemplos, con sus 
respectivos VALORES:
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores UNARIOS
Operador SELECCIÓN
Definición:
“El operador Selección simbolizado mediante s, extrae
tuplas a partir de una relación que satisfagan una restricción dada”.
Simbologia: s[condición] (Relación)
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.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores UNARIOS
Operador SELECCIÓN
Si se buscara en la relación ESTUDIANTE a aquellos que estudiarán Administración,
deberíamos escribir la siguiente línea de comando:
s[ESPECIALIDAD=“Administración”] (Estudiante)
En SQL:
SELECT *.* FROM ESTUDIANTE
WHERE Especialidad=’Administración’, 
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores UNARIOS
Operador PROYECCION
Definición: 
“El operador Proyección simbolizado mediante p, extrae atributos (columnas) 
específicos de una relación”.
Simbologia: p[lista de atributos] (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.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores UNARIOS
Operador PROYECCION
Sobre la tabla ESTUDIANTE realizamos la siguiente operación de PROYECCION:
p (Nombre, Especialidad) ESTUDIANTE
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
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 los 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.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores BINARIOS
Operador UNION
Representación:
La UNION se denota por A + B (o A U 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).
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestiónde Datos
Departamento Sistemas
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).
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
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.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores BINARIOS
Operador DIFERENCIA
La diferencia entre JUNIOR y ESTUDIANTE-HONOR, se ve reflejada en la siguiente
relación.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
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. 
La intersección es un operador derivado pues puede ser definido de la siguiente 
manera:
R ∩ S = R – (R – S) 
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores BINARIOS
Operador INTERSECCION
La INTERSECCION de JUNIOR y ESTUDIANTE-HONOR en una tupla
independiente, pero común a ambas relaciones.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
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)
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
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)
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
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 Atributos y 
4 * 3 Tuplas
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
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.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
Operador JOIN ⋈
El operador JOIN es una combinación del PRODUCTO, SELECCIÓN y PROYECCION
(Posible). Por ello, es un operador derivado.
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 de
PROYECCION (Posible). En este caso es un JOIN NATURAL.
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
Operador JOIN ⋈
Tomaremos como punto de partida las Tablas ESTUDIANTE e INCRIPCION para
aplicar el Operador JOIN
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
Operador JOIN ⋈
Seleccionamos las tuplas en donde #EID sean iguales a las de #NumerodeEstudiante
(solo encontraremos tres).
s[#EID=#NumerodeEstudiante] (ESTUDIANTE x INSCRIPCION)
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
Operador JOIN ⋈
Y obtendremos la siguiente
tabla derivada:
EQUIJOIN
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.
p(EID, Nombre, Especialidad, Grado, NombredeClase, NumerodePosicion) ED-DERIVADA
JOIN NATURAL
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
Operador JOIN ⋈
Si desarrollamos la siguiente operación
ESTUDIANTE LEFT OUTER JOIN (#EID = NumerodeEstudiante) INSCRIPCION
obtendremos la tabla derivada denominada Left Outer Join:
LEFT OUTER JOIN
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
Tipificación del Operador JOIN ⋈
Left Join Right Join
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
Tipificación del Operador JOIN ⋈
Left Join con
Intersección
Nula
Right Join con
Intersección
Nula
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
Tipificación del Operador JOIN ⋈
Outer Join
Inner Join
Outer Join con
Intersección
Nula
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
Operador COCIENTE
Dadas dos relaciones R y S, en donde R tiene m1+m2 columnas y S tiene m2 columnas ,
el operador COCIENTE ( notado R / S) esta formado por las (m2 –m1) tuplas a tal
que para toda tupla m2 tupla b en S se cumpla que la tupla ab se encuentre en R.
El operador COCIENTE es derivado debido a que puede ser definido en términos de
otros operadores:
T1 <- p (A1, A2, .. , A(m1 - m2)) R
T2 <- p (A1, A2, .. , A(m1 - m2)) ((T1 x S) – R)
T <- T1 - T2
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
Operador COCIENTE
DNI_Empledo Num_Proy
12345789 1
12345789 2
33444555 1
33444555 2
33444555 5
27111222 2
40555666 5
Num_Proy
1
2
Empleado_Proyecto Proyecto_Perez
Proyectos en los cuales trabaja el 
empleado Pérez cuyo DNI es 
12345789
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Operadores Compuestos
Operador COCIENTE
DNI_Empledo Num_Proy
12345789 112345789 2
33444555 1
33444555 2
33444555 5
27111222 2
40555666 5
Num_Proy
1
2
Empleado_Proyecto Proyecto_Perez
Recuperar el DNI de los empleados 
que han trabajado en los mismos 
proyectos que el empleado Perez
DNI_Empleado
12345789
33444555
Empleado_Proyecto / 
Proyecto_Perez
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Ejemplo del Operador SELECCION
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Ejemplo del Operador PROYECCION
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Ejemplo de los Operadores SELECCIÓN y 
PROYECCION 
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Ejemplo del Operador UNION
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Algebra Relacional – Ejemplo de los Operadores combinados
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas
Referencias 
• Paper “A relational model for a large shared data banks”, E. F. Codd.
• Libro “Fundamentos de Bases de Datos”, Rovarini P., De La Vega H.
• Libro “Sistemas de Bases de Datos. Conceptos Fundamentales”, R. Elmasrhi – S. Navathe. 2ª
Edic. Edit . Addison – Wesley.
• Faculta de Ingeniería. Universidad de Talca (CHI).
http://ing.utalca.cl/~jperez/bd/documentos/al.pdf
Facultad Regional Tucumán
Universidad Tecnológica Nacional
Gestión de Datos
Departamento Sistemas

Otros materiales