Algebra Relacional Parte 01

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 52

Algebra Relacional

• Carrera: Licenciatura en Informática


• Asignatura: Base de Datos I
• Profesores:
» Mendoza, Dante.
» Pagano, Camila.

1
Temario

• ¿Qué es el álgebra relacional?


• Conceptos básicos.
• Tipos de operación.
• Clasificación de los operadores.
• Operadores unarios.
• Operadores binarios.
• Operadores derivados u otras operaciones.

Universidad Nacional del Oeste 2


¿Qué es el álgebra
relacional?

Universidad Nacional del Oeste 3


¿Qué es el álgebra relacional?

El álgebra relacional es un lenguaje de consulta


procedimental que está fuertemente fundamentado en la
teoría de conjuntos. Consta de una serie de operaciones
que toman como entrada una o dos relaciones y producen
como resultado una nueva relación.

Universidad Nacional del Oeste 4


¿Qué es el álgebra relacional?

Las relaciones las podemos dividir en dos:

Unarios: Son los que operan sobre una sola relación.


Binarios: Estos operan sobre dos relaciones.

En cualquiera de los casos, siempre se devuelve una sola


relación como resultado.

Universidad Nacional del Oeste 5


Conceptos básicos

• El resultado de cualquier expresión algebraica es


siempre una nueva relación.

• Toda relación es un conjunto y por ende no puede


contener elementos duplicados.

• A una relación se la puede llamar tabla, aunque


existen diferencias.

Universidad Nacional del Oeste 6


¿Qué diferencias?

• En una relación no existe el concepto de primer


elemento, segundo elemento, etc. En una tabla si existe
esta distinción.
• En una relación no existe el concepto de primera
columna, segunda columna, etc. En una tabla si existe esta
distinción.
• En una tabla pueden existir elementos que estén
duplicados, en cambio en una relación no existen
elementos duplicados.

Universidad Nacional del Oeste 7


Tipos de operación

Las operaciones fundamentales del álgebra relacional son


selección, proyección, unión, diferencia de conjuntos y
producto cartesiano.

Además de las operaciones fundamentales hay otras


operaciones, por ejemplo, intersección de conjuntos, junta
natural (reunión natural), división y asignación.

Universidad Nacional del Oeste 8


Clasificación de los operadores

Las operaciones selección y proyección se denominan


operaciones unarias porque operan sobre una sola
relación.
Las otras tres operaciones operan sobre pares de
relaciones y se denominan, por lo tanto, operaciones
binarias.

Universidad Nacional del Oeste 9


Operadores unarios

Universidad Nacional del Oeste 10


Operador proyección

La operación proyección es una operación unaria que


devuelve una relación de argumentos, esta se denota por
la letra griega mayúscula pi (π).

Este puede contener una lista de los atributos que se


desea que aparezcan en el resultado como subíndice de π
llamada x siendo E una expresión algebraica.

Universidad Nacional del Oeste 11


Operador proyección

Universidad Nacional del Oeste 12


Operador proyección

Universidad Nacional del Oeste 13


Operador proyección
Nuestro resultado sería lo siguiente:

Universidad Nacional del Oeste 14


Operador proyección
Recordemos que el resultado de una expresión algebraica
siempre es una nueva relación.

En este caso obtuvimos una tabla alumnos, pero solo con


la columna nombre como resultado de la proyección.

La tabla original alumnos se mantiene inalterable.

Universidad Nacional del Oeste 15


Operador proyección
Ahora supongamos que deseamos ambas columnas,
entonces nuestra expresión quedaría de la siguiente forma:

𝜋𝑛𝑜𝑚𝑏𝑟𝑒, (𝐴𝑙𝑢𝑚𝑛𝑜𝑠)
𝑚𝑎𝑡𝑒𝑟𝑖𝑎

Universidad Nacional del Oeste 16


Operador proyección
También es valido hacerlo de la siguiente forma:

𝜋𝐴𝑙𝑢𝑚𝑛𝑜𝑠.𝑛𝑜𝑚𝑏𝑟𝑒, (𝐴𝑙𝑢𝑚𝑛𝑜𝑠)
𝐴𝑙𝑢𝑚𝑛𝑜𝑠.𝑚𝑎𝑡𝑒𝑟𝑖𝑎

Esta forma de indicar que atributo deseamos de una


relación determinada nos será útil en otras operaciones del
algebra relacional más complejas.

Universidad Nacional del Oeste 17


Operador selección

Universidad Nacional del Oeste 18


Operador selección

Universidad Nacional del Oeste 19


Operador selección

Universidad Nacional del Oeste 20


Operador selección
Nuestro resultado sería lo siguiente:

Recordemos que el resultado de una expresión algebraica


siempre es una nueva relación.
En este caso obtuvimos una tabla alumnos, pero solo con
aquellas filas que cumplieron con la condición de un
número de legajo inferior a 2000 como resultado de la
selección. La tabla original alumnos se mantiene
inalterable.

Universidad Nacional del Oeste 21


Operador selección
También podemos anidar restricciones a nuestra selección:

𝜎 𝑙𝑒𝑔𝑎𝑗𝑜 < 2000 (𝐴𝑙𝑢𝑚𝑛𝑜𝑠)


˄ 𝑛𝑜𝑚𝑏𝑟𝑒="𝐶𝑖𝑛𝑡𝑖𝑎"

En este caso obtendremos cero filas que cumplan con esta


condición en nuestra relación “Alumnos”.

Universidad Nacional del Oeste 22


Operadores binarios

Universidad Nacional del Oeste 23


Operador producto cartesiano
La operación producto cartesiano, representado por el
símbolo ×, permite combinar información de cualesquiera
dos relaciones.

El resultado será el producto cartesiano de las relaciones


r1 y r2, siendo estas expresiones algebraicas, como r1 ×
r2.

Universidad Nacional del Oeste 24


Operador producto cartesiano
E1 x E2
Esta expresión se puede leer como la combinación de
cada elemento de E1 con cado uno de los elementos de
E2.

Universidad Nacional del Oeste 25


Operador producto cartesiano
Supongamos que tenemos las siguientes tablas:

Deseamos resolver la siguiente expresión:


Alumno X Materia

Universidad Nacional del Oeste 26


Operador producto cartesiano
Nuestro resultado sería lo siguiente:

Universidad Nacional del Oeste 27


Operador producto cartesiano
Observar que nuestro resultado en la relación nos dio seis
tuplas, esto se puede calcular a partir de realizar la
multiplicación de la cantidad de filas en la tabla Alumnos
por la cantidad de filas en la tabla materias.

Por otra parte, la cantidad de columnas está determinada


por la suma de las columnas de la tabla Alumnos más la
cantidad de columnas de la tabla Materia.

Universidad Nacional del Oeste 28


Operador Unión
La operación de unión nos permite unir los elementos de
una tabla con los elementos de otra que cumplan con
determinadas condiciones.

E1 U E2

Esta expresión se puede leer como la unión de todos los


elementos que pertenecen a E1 y/o pertenecen a E2.

Universidad Nacional del Oeste 29


Operador Unión

Universidad Nacional del Oeste 30


Operador Unión
Para que una operación unión r ∪ s sea válida hay que
exigir que se cumplan dos condiciones:
1. Las relaciones r y s deben ser de la misma aridad. Es
decir, deben tener el mismo número de atributos
(columnas).
2. Los dominios de los atributos i-ésimos de r y de s deben
ser iguales para todo i. Por ejemplo, no podríamos unir o
restar kilómetros con litros.
Téngase en cuenta que r y s pueden ser, en general,
relaciones temporales que sean resultado de expresiones
del álgebra relacional.

Universidad Nacional del Oeste 31


Operador Unión
Supongamos que tenemos las siguientes tablas:

Deseamos resolver la siguiente expresión:


Paises_1 U Paises_2

Universidad Nacional del Oeste 32


Operador Unión
Nuestro resultado sería lo siguiente:

¿Por qué en el resultado de la unión tenemos cinco filas?

Universidad Nacional del Oeste 33


Operador Unión
Supongamos el siguiente caso de unión:

Deseamos resolver la siguiente expresión:


Paises_1 U Paises_2

Universidad Nacional del Oeste 34


Operador Unión
Nuestro resultado sería el siguiente:

Como la primera fila y la última no son iguales, entonces


se mantiene en el resultado final.

Universidad Nacional del Oeste 35


Operador diferencia
La operación diferencia de conjuntos, denotada por –,
permite buscar las tuplas que estén en una relación, pero
no en la otra.

R-S

Esta expresión se puede leer como todos los elementos


que pertenecen a R y que no pertenezcan a S.

Universidad Nacional del Oeste 36


Operador diferencia

Universidad Nacional del Oeste 37


Operador diferencia
Para que una operación diferencia R - S sea válida hay
que exigir que se cumplan dos condiciones:

1. Las relaciones r y s deben ser de la misma aridad. Es


decir, deben tener el mismo número de atributos
(columnas).
2. Los dominios de los atributos i-ésimos de r y de s deben
ser iguales para todo i. Por ejemplo, no podríamos unir o
restar kilómetros con litros.

Universidad Nacional del Oeste 38


Operador diferencia
Supongamos que tenemos las siguientes tablas:

Deseamos resolver la siguiente expresión:


Paises_1 - Paises_2

Universidad Nacional del Oeste 39


Operador diferencia
Nuestro resultado sería lo siguiente:

Universidad Nacional del Oeste 40


Ejercicios

Universidad Nacional del Oeste 41


Ejercicio 1
Para el siguiente ejemplo sobre los operadores tengamos
presente la siguiente relación:

Cliente (id_cliente, nom_cli, loc_cli, email_cli)

Factura (num_fac, fec_fac, imp_fac, id_cliente)

Encontrar los datos de los clientes que se llamen “Tulio”.

Universidad Nacional del Oeste 42


Solución

𝜋𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑖𝑑_𝑐𝑙𝑖𝑒𝑛𝑡𝑒 (𝜎𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑛𝑜𝑚_𝑐𝑙𝑖="𝑇𝑢𝑙𝑖𝑜" (𝐶𝑙𝑖𝑒𝑛𝑡𝑒))


𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑛𝑜𝑚_𝑐𝑙𝑖
𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑙𝑜𝑐_𝑐𝑙𝑖
𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑒𝑚𝑎𝑖𝑙_𝑐𝑙𝑖

Universidad Nacional del Oeste 43


Ejercicio 2
Para el siguiente ejemplo sobre los operadores tengamos
presente la siguiente relación:

Cliente (id_cliente, nom_cli, loc_cli, email_cli)

Factura (num_fac, fec_fac, imp_fac, id_cliente)

Encontrar los datos de las facturas que tengan un importe


mayor o igual a 25000 y que se hayan emitido el
28/12/2018.

Universidad Nacional del Oeste 44


Solución

𝜋 𝐹𝑎𝑐𝑡𝑢𝑟𝑎.𝑛𝑢𝑚_𝑓𝑎𝑐 (𝜎 𝐹𝑎𝑐𝑡𝑢𝑟𝑎.𝑖𝑚𝑝_𝑓𝑎𝑐>=25000 (𝐹𝑎𝑐𝑡𝑢𝑟𝑎))


𝐹𝑎𝑐𝑡𝑢𝑟𝑎.𝑓𝑒𝑐_𝑓𝑎𝑐 ˄Factura.𝑓𝑒𝑐_𝑓𝑎𝑐=28/12/2018
𝐹𝑎𝑐𝑡𝑢𝑟𝑎.𝑖𝑚𝑝_𝑓𝑎𝑐
𝐹𝑎𝑐𝑡𝑢𝑟𝑎.𝑖𝑑_𝑐𝑙𝑖𝑒𝑛𝑡𝑒

Universidad Nacional del Oeste 45


Ejercicio 3
Para el siguiente ejemplo sobre los operadores tengamos
presente la siguiente relación:

Cliente (id_cliente, nom_cli, loc_cli, email_cli)

Factura (num_fac, fec_fac, imp_fac, id_cliente)

Encontrar los datos de los clientes que hayan facturado un


importe superior a 10000 pesos entre los periodos de
marzo 2018 y julio 2020.

Universidad Nacional del Oeste 46


Solución

𝜋𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑖𝑑_𝑐𝑙𝑖𝑒𝑛𝑡𝑒 (𝜎𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑖𝑑_𝑐𝑙𝑖𝑒𝑛𝑡𝑒=𝐹𝑎𝑐𝑡𝑢𝑟𝑎.𝑖𝑑_𝑐𝑙𝑖𝑒𝑛𝑡𝑒 (𝐶𝑙𝑖𝑒𝑛𝑡𝑒𝑋𝐹𝑎𝑐𝑡𝑢𝑟𝑎))


𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑛𝑜𝑚_𝑐𝑙𝑖 ˄Factura.imp_fact >10000
𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑙𝑜𝑐_𝑐𝑙𝑖 ˄Factura.fec_fact >=01/03/2018
𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑒𝑚𝑎𝑖𝑙_𝑐𝑙𝑖 ˄Factura.fec_fact <=31/07/2020

Universidad Nacional del Oeste 47


Ejercicio 4
Para el siguiente ejemplo sobre los operadores tengamos
presente la siguiente relación:

Cliente (id_cliente, nom_cli, loc_cli, email_cli)

Factura (num_fac, fec_fac, imp_fac, id_cliente)

Encontrar los datos de los clientes que no sean de Merlo y


que no hayan facturado durante el mes de julio del 2023.

Universidad Nacional del Oeste 48


Solución

𝜋𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑖𝑑_𝑐𝑙𝑖𝑒𝑛𝑡𝑒 (𝐶𝑙𝑖𝑒𝑛𝑡𝑒)
𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑛𝑜𝑚_𝑐𝑙𝑖
𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑙𝑜𝑐_𝑐𝑙𝑖
𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑒𝑚𝑎𝑖𝑙_𝑐𝑙𝑖

𝜋𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑖𝑑_𝑐𝑙𝑖𝑒𝑛𝑡𝑒 (𝜎𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑖𝑑_𝑐𝑙𝑖𝑒𝑛𝑡𝑒=𝐹𝑎𝑐𝑡𝑢𝑟𝑎.𝑖𝑑_𝑐𝑙𝑖𝑒𝑛𝑡𝑒 (𝐶𝑙𝑖𝑒𝑛𝑡𝑒𝑋𝐹𝑎𝑐𝑡𝑢𝑟𝑎))


𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑛𝑜𝑚_𝑐𝑙𝑖 ˄Cliente.𝑙𝑜𝑐_𝑐𝑙𝑖 ="Merlo"
𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑙𝑜𝑐_𝑐𝑙𝑖 ˄Factura.fec_fact >=01/07/2023
𝐶𝑙𝑖𝑒𝑛𝑡𝑒.𝑒𝑚𝑎𝑖𝑙_𝑐𝑙𝑖 ˄Factura.fec_fact <=31/07/2023

Universidad Nacional del Oeste 49


Fuentes
• Ángel Luis Cobos Yera. (2009). Algebra relacional.
Articulo.

• Abraham Silberschatz. Fundamentos de Bases de


Datos - 4ta Edicion. Bell Laboratories.

• Anónimo (2010). El Modelo Relacional: Dinámica


y Álgebra Relacional. Universidad Rey Juan Carlos. Apunte
de clase.

Universidad Nacional del Oeste 50


¿PREGUNTAS?

Universidad Nacional del Oeste 51


MUCHAS GRACIAS
POR SU ATENCIÓN.

Universidad Nacional del Oeste 52

También podría gustarte