Está en la página 1de 12

UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN

Cátedra de Gestión de Datos – Año 2019


Medina María Sofía – Legajo 46278 – Comisión 3K2

ÁLGEBRA RELACIONAL

Es un conjunto de operaciones usadas para manipular relaciones. Estas operaciones


toman relaciones como operandos y regresan relaciones que a su vez pueden ser manipuladas.
Una relación es un subconjunto del producto cartesiano de un conjunto de dominios.
Una relación es básica cuando está definida en forma independiente de otras que componen la
base de datos, y derivada cuando se la obtiene como resultado de efectuar ciertas operaciones
sobre otras relaciones.
Cada relación tiene su grado y cardinalidad. Grado es el número de atributos que posee
una tabla. Cardinalidad es el número de tuplas que contiene una relación.

OPERACIONES DEL ÁLGEBRA RELACIONAL

1. SELECCIÓN
Invoca el acceso a una tabla escogiendo de ella las filas que satisfagan un predicado
compuesto por:
® Operadores constantes o nombres de atributos,
® Operadores de comparación (<, =, >),
® Operadores lógicos funcionalmente completos (AND, OR, IN, NOT)
La selección sP(R) representa el conjunto de tuplas en R que resulta cuando "i
sustituimos el i-nésimo elemento de la tupla por su ocurrencia en el predicado P, y el mismo
es un predicado válido.

Ejemplo 1:
Consideremos la siguiente tabla ALUMNOS, que contiene un listado de alumnos que
cursan la materia Gestión de Datos en la comisión 3K2. Se provee los siguientes datos de cada
uno: legajo, apellido y nombre, y notas del primer y segundo parcial.

Legajo Apellido y Nombre Primer Parcial Segundo Parcial


1111 Medina, María Sofía 9 10
2222 Figueroa, Tomás Agustín 8 8
3333 Marchiaro, Mariano Augusto 3 3
4444 Sánchez, Mauricio Andrés 7 7
5555 Abraham Haro, Tamara 7 6

Si el profesor quisiera listar únicamente los alumnos que promocionaron la materia,


con un mínimo de 7 en cada parcial, usaría una selección como la siguiente:
s(Primer Parcial >= 7, Segundo Parcial >= 7)(ALUMNOS)
Lo cual daría como resultado la siguiente tabla:

Legajo Apellido y Nombre Primer Parcial Segundo Parcial


1111 Medina, María Sofía 9 10
2222 Figueroa, Tomás Agustín 8 8
4444 Sánchez, Mauricio Andrés 7 7

1
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN
Cátedra de Gestión de Datos – Año 2019
Medina María Sofía – Legajo 46278 – Comisión 3K2

Ejemplo 2:
Consideremos la siguiente tabla MATERIAS, que contiene un listado de las materias
que cursa un alumno de la UTN FRT de tercer año. La tabla muestra el código de materia, el
nombre de la materia, la comisión en la que cursa y el profesor que la dicta.

Código Nombre de la Materia Comisión Profesor


1111 Diseño de Sistemas 3K2 Ing. Torres
2222 Gestión de Datos 3K2 Ing. Ibarra
3333 Comunicaciones 3K2 Ing. Carrasco
4444 Prog. de Aplicaciones Visuales 3K4 Ing. Vicente
5555 Probabilidades y Estadísticas 3K2 Ing. Teri

Si el alumno quisiera ver qué materias cursa en la comisión 3K2, usaría una selección
como la siguiente:
s(Comisión = 3K2)(MATERIAS)
Lo cual daría como resultado la siguiente tabla:

Código Nombre de la Materia Comisión Profesor


1111 Diseño de Sistemas 3K2 Ing. Torres
2222 Gestión de Datos 3K2 Ing. Ibarra
3333 Comunicaciones 3K2 Ing. Carrasco
5555 Probabilidades y Estadísticas 3K2 Ing. Teri

Ejemplo 3:
Consideremos la siguiente tabla ELECCIONES, que contiene los resultados de las
últimas elecciones de la UTN FRT. La tabla muestra: código de la agrupación, nombre de la
agrupación, presidente y cantidad de votos.

Código Agrupación Presidente Votos


1111 Franja Morada Ing. Medina 234
2222 MIR Ing. Figueroa 340
3333 AETI Ing. Sánchez 199
4444 FETI Ing. Marchiaro 85

Si el comité de elecciones quisiera saber qué agrupaciones obtuvieron más de 200 votos
en las elecciones, usaría una selección como la siguiente:
s(Votos > 200)(ELECCIONES)
Lo cual daría como resultado la siguiente tabla:

Código Agrupación Presidente Votos


1111 Franja Morada Ing. Medina 234
2222 MIR Ing. Figueroa 340

2. PROYECCIÓN
Este operador elimina columnas de una tabla de acuerdo con el cumplimiento de un
predicado. Si tomamos una relación R y un predicado P compuesto por un conjunto de nombres

2
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN
Cátedra de Gestión de Datos – Año 2019
Medina María Sofía – Legajo 46278 – Comisión 3K2

de atributos X, entonces la proyección sobre X, lo que se nota pX(R), conserva todas las filas
manteniendo sólo aquellas columnas cuyos nombres estén contenidos en X.

Ejemplo 1:
Consideremos la tabla ALUMNOS usada en el Ejemplo 1 anterior:

Legajo Apellido y Nombre Primer Parcial Segundo Parcial


1111 Medina, María Sofía 9 10
2222 Figueroa, Tomás Agustín 8 8
3333 Marchiaro, Mariano Augusto 3 3
4444 Sánchez, Mauricio Andrés 7 7
5555 Abraham Haro, Tamara 7 6

Si el profesor quisiera una tabla únicamente con el número de legajo y apellido y


nombre de sus alumnos para poder tomar asistencia, usaría una proyección como la siguiente:
p (ALUMNOS)
(LEGAJO, APELLIDO Y NOMBRE)
Lo cual daría como resultado la siguiente tabla:

Legajo Apellido y Nombre


1111 Medina, María Sofía
2222 Figueroa, Tomás Agustín
3333 Marchiaro, Mariano Augusto
4444 Sánchez, Mauricio Andrés
5555 Abraham Haro, Tamara

Ejemplo 2:
Considerando la tabla MATERIAS usada en el Ejemplo 2 anterior:

Código Nombre de la Materia Comisión Profesor


1111 Diseño de Sistemas 3K2 Ing. Torres
2222 Gestión de Datos 3K2 Ing. Ibarra
3333 Comunicaciones 3K2 Ing. Carrasco
4444 Prog. de Aplicaciones Visuales 3K4 Ing. Vicente
5555 Probabilidades y Estadísticas 3K2 Ing. Teri

Si el alumno quisiera una tabla únicamente con el nombre de la materia y la comisión


en la que cursa dicha materia, usaría una proyección como la siguiente:
p (MATERIAS)
(NOMBRE DE LA MATERIA, COMISIÓN)
Lo cual daría como resultado la siguiente tabla:

Nombre de la Materia Comisión


Diseño de Sistemas 3K2
Gestión de Datos 3K2
Comunicaciones 3K2
Prog. de Aplicaciones Visuales 3K4
Probabilidades y Estadísticas 3K2

3
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN
Cátedra de Gestión de Datos – Año 2019
Medina María Sofía – Legajo 46278 – Comisión 3K2

Ejemplo 3:
Considerando la tabla ELECCIONES usada en el Ejemplo 3 anterior:

Código Agrupación Presidente Votos


1111 Franja Morada Ing. Medina 234
2222 MIR Ing. Figueroa 340
3333 AETI Ing. Sánchez 199
4444 FETI Ing. Marchiaro 85

Si el comité quisiera saber únicamente el nombre de la agrupación y la cantidad de


votos obtenidos, usaría una proyección como la siguiente:
p (ELECCIONES)
(AGRUPACIÓN, VOTOS)

Lo cual daría como resultado la siguiente tabla:

Agrupación Votos
Franja Morada 234
MIR 340
AETI 199
FETI 85

3. PRODUCTO
Si R y S son dos relaciones de cardinalidad n1 y n2 y grados m1 y m2 respectivamente,
entonces el producto RxS es una relación que consta de n1xn2 tuplas y m1+m2 nombres de
atributos.
En general el producto produce tablas que poseen redundancia debido a filas t columnas
repetidas en las tablas de partida, y es por esto que luego de efectuarse el producto debemos
proceder a “limpiar” el resultado para lograr consistencia en los datos:
® Mantener sólo aquellas filas que muestren coincidencia en las columnas de igual
nombre,
® Mantener sólo una columna de cada grupo formado por columnas de igual nombre.

Ejemplo 1:
Consideremos dos tablas ALUMNOS y MATERIAS como las que se presentan a
continuación:

Legajo Apellido y Nombre


111 Medina, Marías Sofía
222 Figueroa, Tomás Agustín
333 Marchiaro, Mariano Augusto

Código Materia
111 Diseño de Sistemas
222 Gestión de Datos
333 Comunicaciones

4
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN
Cátedra de Gestión de Datos – Año 2019
Medina María Sofía – Legajo 46278 – Comisión 3K2

Si se quisiera saber qué materias cursan los alumnos de la primera tabla, con el producto
ALUMNOSxMATERIAS se podría ver una tabla como la siguiente:

Legajo Apellido y Nombre Código Materia


111 Medina, María Sofía 111 Diseño de Sistemas
111 Medina, María Sofía 222 Gestión de Datos
111 Medina, María Sofía 333 Comunicaciones
222 Figueroa, Tomás Agustín 111 Diseño de Sistemas
222 Figueroa, Tomás Agustín 222 Gestión de Datos
222 Figueroa, Tomás Agustín 333 Comunicaciones
333 Marchiaro, Mariano Augusto 111 Diseño de Sistemas
333 Marchiaro, Mariano Augusto 222 Gestión de Datos
333 Marchiaro, Mariano Augusto 333 Comunicaciones

Ejemplo 2:
Las siguientes tablas 3K2 y 3K3 muestra los mejores resultados de una competencia de
Gestión de Datos entre los alumnos de dichas comisiones:

Legajo Apellido y Nombre


1111 Medina, María Sofía
2222 Figueroa, Tomás Agustín
3333 Marchiaro, Mariano Augusto

Legajo Apellido y Nombre


4444 Monteros, Milagros María
5555 De Haro, José Javier

Si el profesor quisiera realizar una competencia final entre estos alumnos, queriendo
que compitan entre sí, podría hacer un producto de ambas tablas 3K2x3K3, lo que daría como
resultado la siguiente tabla:

Legajo Apellido y Nombre Legajo Apellido y Nombre


111 Medina, María Sofía 4444 Monteros, Milagros María
111 Medina, María Sofía 5555 De Haro, José Javier
222 Figueroa, Tomás Agustín 4444 Monteros, Milagros María
222 Figueroa, Tomás Agustín 5555 De Haro, José Javier
333 Marchiaro, Mariano Augusto 4444 Monteros, Milagros María
333 Marchiaro, Mariano Augusto 5555 De Haro, José Javier

Ejemplo 3:
Se tiene una tabla INGENIEROS, que muestra una lista de ingenieros que trabajan en
proyectos de investigación. Dichos proyectos se muestran en la tabla PROYECTOS. Las tablas
son las siguientes:

Legajo Apellido y Nombre


1111 Ing. Medina
2222 Ing. Figueroa
3333 Ing. Marchiaro

5
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN
Cátedra de Gestión de Datos – Año 2019
Medina María Sofía – Legajo 46278 – Comisión 3K2

Código Proyecto
1111 Llegar a Plutón
2222 Sistema de Ventas
3333 Tomar la Facultad

Con el producto INGENIEROSxPROYECTOS podríamos ver una tabla con los


proyectos en los que está involucrado cada ingeniero:

Legajo Apellido y Nombre Código Materia


111 Medina, María Sofía 111 Llegar a Plutón
111 Medina, María Sofía 222 Sistema de Ventas
111 Medina, María Sofía 333 Tomar la Facultad
222 Figueroa, Tomás Agustín 111 Llegar a Plutón
222 Figueroa, Tomás Agustín 222 Sistema de Ventas
222 Figueroa, Tomás Agustín 333 Tomar la Facultad
333 Marchiaro, Mariano Augusto 111 Llegar a Plutón
333 Marchiaro, Mariano Augusto 222 Sistema de Ventas
333 Marchiaro, Mariano Augusto 333 Tomar la Facultad

4. UNIÓN
La unión de dos relaciones R y S de grado m y cardinalidad n1 y n2 respectivamente
RUS está formada por todas las tuplas que estén en R o en S o en ambas. Este operador sólo se
aplica a relaciones del mismo grado, lográndose una tabla de m columnas y como máximo
n1+n2 filas.

Ejemplo 1:
Considerando las tablas 3K2 y 3K3, que contienen un listado de alumnos que cursan la
materia Gestión de Datos:

Legajo Apellido y Nombre


1111 Medina, María Sofía
2222 Figueroa, Tomás Agustín
3333 Marchiaro, Mariano Augusto
4444 Sánchez, Mauricio Andrés
5555 Abraham Haro, Tamara

Legajo Apellido y Nombre


6666 Monteros, Milagros María
7777 De Haro, José Javier

6
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN
Cátedra de Gestión de Datos – Año 2019
Medina María Sofía – Legajo 46278 – Comisión 3K2

La unión 3K2 U 3K3 daría como resultado la siguiente tabla:

Legajo Apellido y Nombre


1111 Medina, María Sofía
2222 Figueroa, Tomás Agustín
3333 Marchiaro, Mariano Augusto
4444 Sánchez, Mauricio Andrés
5555 Abraham Haro, Tamara
6666 Monteros, Milagros María
7777 De Haro, José Javier

Ejemplo 2:
Considerando las tablas APROBADAS y CURSANDO, que contienen un listado de
materias y sus respectivos códigos:

Código Materia
1111 Algoritmos y Estructuras de Datos
2222 Álgebra y Geometría Analítica
3333 Matemática Discreta
4444 Arquitectura de Computadoras
5555 Sistemas Operativos

Código Materia
6666 Gestión de Datos
7777 Comunicaciones
8888 Diseño de Sistemas

Si un alumno quisiera saber el total de materias cursadas, lo haría con la unión


APROBADAS U CURSANDO. Esto daría como resultado la siguiente tabla:

Código Materia
1111 Algoritmos y Estructuras de Datos
2222 Álgebra y Geometría Analítica
3333 Matemática Discreta
4444 Arquitectura de Computadoras
5555 Sistemas Operativos
6666 Gestión de Datos
7777 Comunicaciones
8888 Diseño de Sistemas

7
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN
Cátedra de Gestión de Datos – Año 2019
Medina María Sofía – Legajo 46278 – Comisión 3K2

Ejemplo 3:
Considerando las tablas REGULARES y PROMOCIONADOS, que muestran listas de
alumnos que cursaron la materia Gestión de Datos en la comisión 3K2:

Legajo Apellido y Nombre


1111 Medina, María Sofía
2222 Figueroa, Tomás Agustín
4444 Sánchez, Mauricio Andrés

Legajo Apellido y Nombre


3333 Marchiaro, Mariano Augusto
5555 Abraham Haro, Tamara

Si el profesor quisiera tener una lista con todos los alumnos, lo haría con la unión
REGULARES U PROMOCIONADOS. Esto daría como resultado la siguiente tabla:

Legajo Apellido y Nombre


1111 Medina, María Sofía
2222 Figueroa, Tomás Agustín
4444 Sánchez, Mauricio Andrés
3333 Marchiaro, Mariano Augusto
5555 Abraham Haro, Tamara

5. DIFERENCIA
La diferencia entre dos relaciones como las anteriores R-S resulta en una relación
formada por las tuplas que pertenecen a R pero que no pertenecen a S. Sólo se aplica a
relaciones del mismo grado.

Ejemplo 1:
Considerando las tablas 3K2 y PROMOCIONADOS usadas anteriormente:

Legajo Apellido y Nombre


1111 Medina, María Sofía
2222 Figueroa, Tomás Agustín
3333 Marchiaro, Mariano Augusto
4444 Sánchez, Mauricio Andrés
5555 Abraham Haro, Tamara

Legajo Apellido y Nombre


1111 Medina, María Sofía
2222 Figueroa, Tomás Agustín
4444 Sánchez, Mauricio Andrés

8
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN
Cátedra de Gestión de Datos – Año 2019
Medina María Sofía – Legajo 46278 – Comisión 3K2

Si un profesor quisiera ver una tabla con alumnos regulares, bastaría con hacer la
diferencia 3K2 – PROMOCIONADOS, lo que resultaría una tabla como la siguiente:

Legajo Apellido y Nombre


3333 Marchiaro, Mariano Augusto
5555 Abraham Haro, Tamara

Ejemplo 2:
Considerando las tablas PRIMERO, que muestra todas las materias del primer año de
Ingeniería en Sistemas y BÁSICAS, que lista las materias de Ciencias Básicas:

Legajo Apellido y Nombre


1111 Algoritmos y Estructuras de Datos
2222 Álgebra y Geometría Analítica
3333 Arquitectura de Computadores
4444 Análisis Matemático I
5555 Física I
6666 Sistemas de Representación
7777 Sistemas y Organizaciones
8888 Ingeniería y Sociedad
9999 Matemática Discreta

Legajo Apellido y Nombre


2222 Álgebra y Geometría Analítica
4444 Análisis Matemático I
5555 Física I
6666 Sistemas de Representación
8888 Ingeniería y Sociedad

La diferencia PRIMERO – BÁSICAS daría como resultado una tabla con materias
propias de la carrera Ingeniería en Sistemas:

Legajo Apellido y Nombre


1111 Algoritmos y Estructuras de Datos
3333 Arquitectura de Computadores
7777 Sistemas y Organizaciones
9999 Matemática Discreta

9
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN
Cátedra de Gestión de Datos – Año 2019
Medina María Sofía – Legajo 46278 – Comisión 3K2

Ejemplo 3:
Considerando las tablas PROYECTOS y TERMINADOS que se muestran a
continuación:

Legajo Apellido y Nombre Código Materia


111 Medina, María Sofía 111 Llegar a Plutón
111 Medina, María Sofía 222 Sistema de Ventas
111 Medina, María Sofía 333 Tomar la Facultad
222 Figueroa, Tomás Agustín 111 Llegar a Plutón
222 Figueroa, Tomás Agustín 222 Sistema de Ventas
222 Figueroa, Tomás Agustín 333 Tomar la Facultad
333 Marchiaro, Mariano Augusto 111 Llegar a Plutón
333 Marchiaro, Mariano Augusto 222 Sistema de Ventas
333 Marchiaro, Mariano Augusto 333 Tomar la Facultad

Legajo Apellido y Nombre Código Materia


111 Medina, María Sofía 111 Llegar a Plutón
222 Figueroa, Tomás Agustín 111 Llegar a Plutón
333 Marchiaro, Mariano Augusto 111 Llegar a Plutón

Si los participantes del proyecto quisieran saber qué proyectos siguen en curso, podrían
hacer la diferencia PROYECTOS – TERMINADOS, lo que mostraría una tabla como la
siguiente:

Legajo Apellido y Nombre Código Materia


111 Medina, María Sofía 222 Sistema de Ventas
111 Medina, María Sofía 333 Tomar la Facultad
222 Figueroa, Tomás Agustín 222 Sistema de Ventas
222 Figueroa, Tomás Agustín 333 Tomar la Facultad
333 Marchiaro, Mariano Augusto 222 Sistema de Ventas
333 Marchiaro, Mariano Augusto 333 Tomar la Facultad

CONJUNCIÓN DE OPERACIONES

El álgebra relacional nos permite realizar distintas operaciones en una misma sentencia.
Mostraré algunos ejemplos utilizando las tablas presentadas anteriormente.

Ejemplo 1:
Considerando la tabla MATERIAS que se muestra a continuación:

Código Nombre de la Materia Comisión Profesor


1111 Diseño de Sistemas 3K2 Ing. Torres
2222 Gestión de Datos 3K2 Ing. Ibarra
3333 Comunicaciones 3K2 Ing. Carrasco
4444 Prog. de Aplicaciones Visuales 3K4 Ing. Vicente
5555 Probabilidades y Estadísticas 3K2 Ing. Teri

10
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN
Cátedra de Gestión de Datos – Año 2019
Medina María Sofía – Legajo 46278 – Comisión 3K2

Si se quisiera ver únicamente los nombres de las materias que se cursan en la comisión
3K2, se podría hacer una operación como la siguiente:

s(Comisión = 3K2)(p (NOMBRE DE LA MATERIA)(MATERIAS) )


Lo que resultaría en una tabla:

Nombre de la Materia
Diseño de Sistemas
Gestión de Datos
Comunicaciones
Probabilidades y Estadísticas

Cabe aclarar que la conjunción entre selección y proyección es conmutativa, por lo que
hacer primero la selección y luego la proyección daría el mismo resultado.

Ejemplo 2:
Considerando las tablas 3K2 y 3K3 que se muestran a continuación:

Legajo Apellido y Nombre


1111 Medina, María Sofía
2222 Figueroa, Tomás Agustín
3333 Marchiaro, Mariano Augusto
4444 Sánchez, Mauricio Andrés
5555 Abraham Haro, Tamara

Legajo Apellido y Nombre


6666 Monteros, Milagros María
7777 De Haro, José Javier

Si se quisiera tener una lista de todos los nombres de los alumnos que cursan la materia
Gestión de Datos, se usaría una operación como la siguiente:

(p(APELLIDO Y NOMBRE)(3K2)) U (p(APELLIDO Y NOMBRE)(3K3))


Lo que daría como resultado la siguiente tabla:

Apellido y Nombre
Medina, María Sofía
Figueroa, Tomás Agustín
Marchiaro, Mariano Augusto
Sánchez, Mauricio Andrés
Abraham Haro, Tamara
Monteros, Milagros María
De Haro, José Javier

11
UNIVERSIDAD TECNOLÓGICA NACIONAL – FACULTAD REGIONAL TUCUMÁN
Cátedra de Gestión de Datos – Año 2019
Medina María Sofía – Legajo 46278 – Comisión 3K2

Ejemplo 3:
Considerando las tablas ALUMNOS y MATERIAS:

Legajo Apellido y Nombre


111 Medina, Marías Sofía
222 Figueroa, Tomás Agustín
333 Marchiaro, Mariano Augusto

Código Materia
111 Diseño de Sistemas
222 Gestión de Datos
333 Comunicaciones

Si realizamos el producto ALUMNOSxMATERIAS y únicamente queremos ver los


nombres y las materias cursadas por los alumnos, usaríamos una operación como la siguiente:

(p(APELLIDO Y NOMBRE, MATERIA)(ALUMNOSxMATERIAS))


Lo que resultaría en la siguiente tabla:

Apellido y Nombre Materia


Medina, María Sofía Diseño de Sistemas
Medina, María Sofía Gestión de Datos
Medina, María Sofía Comunicaciones
Figueroa, Tomás Agustín Diseño de Sistemas
Figueroa, Tomás Agustín Gestión de Datos
Figueroa, Tomás Agustín Comunicaciones
Marchiaro, Mariano Augusto Diseño de Sistemas
Marchiaro, Mariano Augusto Gestión de Datos
Marchiaro, Mariano Augusto Comunicaciones

12