0% encontró este documento útil (0 votos)
364 vistas16 páginas

Escenario 4

Este documento describe el álgebra y cálculo relacionales. Define operaciones como restricción, proyección y producto en el álgebra relacional y provee ejemplos de cómo aplicar estas operaciones a relaciones. También introduce el cálculo relacional como un lenguaje declarativo equivalente al álgebra relacional pero centrado en resultados en lugar de procedimientos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
364 vistas16 páginas

Escenario 4

Este documento describe el álgebra y cálculo relacionales. Define operaciones como restricción, proyección y producto en el álgebra relacional y provee ejemplos de cómo aplicar estas operaciones a relaciones. También introduce el cálculo relacional como un lenguaje declarativo equivalente al álgebra relacional pero centrado en resultados en lugar de procedimientos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Unidad 2 / Escenario 4

Lectura fundamental

Álgebra relacional y cálculo


relacional

Contenido

1 Introducción

2 Algebra relacional

3 Cálculo relacional

Palabras clave: álgebra relacional, cálculo relacional, restricción, proyección, producto, unión, intersección,
diferencia, concatenación, división.
1. Introducción
En este escenario se hará referencia a los lenguajes formales propios del modelo relacional: el álgebra
relacional y el cálculo relacional. El primero está centrado en el procedimiento o algoritmo, a través
del cual se desea llegar a un resultado; por esto, se considera que el álgebra relacional es de tipo
procedimental. El segundo modelo está centrado en el resultado, sin importar el mecanismo a través
del cual se obtiene; este se considera de tipo declarativo. Sin embargo, existe equivalencia entre los
lenguajes como tal. A continuación, se desarrollarán tanto el álgebra como el cálculo relacional.

2. Algebra relacional
El álgebra relacional es “el conjunto de operadores que toman relaciones como sus operandos y regresan
una relación como resultado” (Date, 2001, p.150). Esta tuvo su origen gracias a las investigaciones de
Edgar F. Codd, quien definió ocho operadores, los cuales trataremos a continuación.

2.1. Restricción o selección σ

Supongamos que en una empresa en la que 5000 clientes han realizado compras, se desea identificar
aquellos 300 que han llevado a cabo transacciones por mayor valor, para ofrecerles una membresía.
En ese caso se requieren solo los registros que cumplan con la condición dada. La operación más
acertada, desde el punto de vista del álgebra relacional, será la restricción o selección.

Se entiende por restricción o selección la operación que “regresa una relación que contiene todas las
tuplas de una relación especificada que satisfacen una condición especificada” (Date, 2001, p.150).
La Figura 1 muestra en qué consiste la operación de restricción o selección.

Figura 1. Operación de restricción o selección


Fuente: elaboración propia

POLITÉCNICO GRANCOLOMBIANO 2
Por regla general, la operación de selección es representada por el carácter sigma (σ). Para mayor
claridad, se presentará el siguiente ejemplo. Supongamos que tenemos el siguiente esquema relacional:

empleado (DNI: carácter, nombre: cadena, salario: flotante, fecha ingreso)

Dicha relación está representada a través de la Tabla 1.

Tabla 1. Relación empleado

DNI Nombre Salario Fecha_ingreso


2134323 Luis Pérez 2500000 2002-5-25
2312342 Javier Molina 1500000 2005-12-15
1231232 Alex Neira 4800000 2013-1-25
2312312 Jim Cotes 2900000 2017-1-1
4345543 Martha Castillo 7300000 2010-9-26
4564534 Fabio Buitrago 5200000 2011-1-31
Fuente: elaboración propia

Aplicando la siguiente operación:

Selección ← σsalario>3000000(empleado)

Obtenemos los resultados que se muestran en la Tabla 2.

Tabla 2. Relación resultado de la operación de selección σsalario>3000000(empleado)

DNI Nombre Salario Fecha_ingreso


1231232 Alex Neira 4800000 2013-1-25
4345543 Martha Castillo 7300000 2010-9-26
4564534 Fabio Buitrago 5200000 2011-1-31
Fuente: elaboración propia

POLITÉCNICO GRANCOLOMBIANO 3
2.2. Proyección π

Pensemos en una relación que representa contablemente a una compañía. En ocasiones, el número
de columnas podría ser inmanejable, porque se requiere solo obtener las columnas que aporten la
información más relevante para la toma de decisiones financieras. En este caso, la operación más
acertada, desde el punto de vista del álgebra relacional, será la proyección.

Se entiende por proyección la operación que “regresa una relación que contiene todas las tuplas o
subtuplas de una relación especificada después de quitar los atributos especificados” (Date, 2001,
p.150). La Figura 2 muestra en qué consiste la operación de proyección.

Figura 2. Operación de proyección


Fuente: elaboración propia

De la misma forma, la operación de selección es representada por el carácter pi (π). Continuando con
el ejemplo representado en la Tabla 1, se desea una tabla que no me muestre datos distintos al nombre
del empleado y la fecha de ingreso (Tabla 3). La operación a realizar sería entonces:

Proyección ← π <nombre,fecha_ingreso>(empleado)

Tabla 3. Relación resultado de la operación de proyección π <nombre,fecha_ingreso>(empleado)

Nombre Fecha_ingreso
Luis Pérez 2002-5-25
Javier Molina 2005-12-15
Alex Neira 2013-1-25
Jim Cotes 2017-1-1
Martha Castillo 2010-9-26
Fabio Buitrago 2011-1-31
Fuente: elaboración propia

POLITÉCNICO GRANCOLOMBIANO 4
Ahora, es posible combinar operaciones de tal forma que una operación se aplique al resultado de
otra. Por ejemplo, se desea conocer solo la fecha de ingreso de los empleados que ganen más de $3
000 000 (Tabla 4). En este caso, la operación se daría de la siguiente manera:

Selección ← σsalario>3000000(empleado)

Proyección ← π <nombre,fecha_ingreso>(selección)

Tabla 4. Relación resultado de la composición de las operaciones de selección y proyección

Nombre Fecha_ingreso
Alex Neira 2013-1-25
Martha Castillo 2010-9-26
Fabio Buitrago 2011-1-31
Fuente: elaboración propia

2.3. Producto x

También denominado producto cartesiano, producto cruzado o concatenación cruzada, el producto


x es una operación de álgebra relacional. En la operación de producto se obtiene la combinación de
relaciones para obtener una nueva relación. La operación de producto es representada por el carácter
equis (x). El producto está definido como la operación que “regresa una relación que contiene
todas las tuplas posibles que son una combinación de dos tuplas, una de cada una de dos relaciones
especificadas” (Date, 2001, p.151). La Figura 3 muestra en qué consiste la operación de producto.

Figura 3. Operación de producto


Fuente: elaboración propia

POLITÉCNICO GRANCOLOMBIANO 5
Para dar mayor claridad sobre el comportamiento de la operación producto, observemos el siguiente
ejemplo, en el cual se presenta el producto cartesiano entre las relaciones (zapato) x (chaqueta)
(Tablas 5-7).
Tabla 5. Relación zapato

ID_zapatos Zapatos
1 Mocasín
2 Tenis
3 Botas
Fuente: elaboración propia

Tabla 6. Relación chaqueta

ID_chaqueta Chaqueta
1 Cuero
2 Paño
Fuente: elaboración propia

Tabla 7. Relación resultante del producto (zapato) x (chaqueta)

ID_zapatos Zapatos ID_chaqueta Chaqueta


1 Mocasín 1 Cuero
1 Mocasín 2 Paño
2 Tenis 1 Cuero
2 Tenis 2 Paño
3 Botas 1 Cuero
3 Botas 2 Paño
Fuente: elaboración propia

Como se puede observar, para que las relaciones que participan en el producto cartesiano sean
compatibles es necesario que los campos de las relaciones tengan nombres distintos.

POLITÉCNICO GRANCOLOMBIANO 6
2.4. Unión ∪

La operación de unión, dadas las relaciones A y B, en realidad genera un conjunto que contiene
aquellas tuplas que pertenezcan a la relación A o a la relación B. Es importante aclarar que para poder
aplicar la operación de unión se requiere que las tuplas sean homogéneas.

Se define la operación de unión como aquella que contiene todas las tuplas que aparecen en una o en
las dos relaciones especificadas. La Figura 4 muestra en qué consiste la operación de unión.

Figura 4. Operación de unión


Fuente: elaboración propia

Para dar mayor claridad sobre el comportamiento de la operación producto, observemos el siguiente
ejemplo, en el cual se presenta la unión entre relaciones (Tablas 8-10).

Tabla 8. Relación A

ID_zapatos Zapatos
1 Mocasín
3 Tenis
4 Botas
Fuente: elaboración propia

Tabla 9. Relación B

ID_zapatos Zapatos
2 Chanclas
4 Botas
Fuente: elaboración propia

POLITÉCNICO GRANCOLOMBIANO 7
Tabla 10. Relación resultante de la unión (A) ∪ (B)

ID_zapatos Zapatos
1 Mocasín
2 Chanclas
3 Tenis
4 Botas
Fuente: elaboración propia

2.5. Intersección ∩

Al contrario de la operación de unión, la operación de intersección establece que dadas las relaciones
A y B, se genera un conjunto que contiene aquellas tuplas que pertenezcan tanto a la relación A
como o a la relación B. Es importante mencionar que, al igual que en la operación de unión, en la
intersección se requiere que las tuplas sean homogéneas.

Se define la operación de intersección como aquella que “regresa una relación que contiene todas
las tuplas que aparecen en las dos relaciones especificadas (en ambas, no en una o en otra)” (Date,
2001, p.152). La Figura 5 muestra en qué consiste la operación de intersección.

Figura 5. Operación de intersección


Fuente: elaboración propia

Para dar mayor claridad sobre el comportamiento de la operación producto, observemos el siguiente
ejemplo, en el cual se presenta la intersección entre relaciones (Tablas 11-13).

POLITÉCNICO GRANCOLOMBIANO 8
Tabla 11. Relación A

ID_zapatos Zapatos
1 Mocasín
3 Tenis
4 Botas
Fuente: elaboración propia

Tabla 12. Relación B

ID_zapatos Zapatos
2 Chanclas
4 Botas
Fuente: elaboración propia

Tabla 13. Relación resultante de la unión (A) ∩ (B)

ID_zapatos Zapatos
4 Botas
Fuente: elaboración propia

2.6. Diferencia -

De manera análoga a lo que ocurre con la unión y la intersección, la operación diferencia establece
que dadas las relaciones A y B, se genera un conjunto que contiene aquellas tuplas que pertenezcan
a la relación A, pero no a la relación B. Al igual que en las operaciones de unión e Intersección, en la
operación de diferencia se requiere que las tuplas sean homogéneas. Por otro lado, el orden en que se
ejecuta la operación de diferencia produce un resultado distinto.

Se define la operación de intersección como aquella que “regresa una relación que contiene todas las
tuplas que aparecen en la primera relación, pero no en la segunda de las dos relaciones especificadas”
(Date, 2001, p.152). La Figura 6 muestra en qué consiste la operación de diferencia.

POLITÉCNICO GRANCOLOMBIANO 9
Figura 6. Operación de diferencia
Fuente: elaboración propia

Continuando con el ejemplo señalado en los apartados de unión e Intersección, las Tablas 14 y 15
representan las relaciones (A)-(B) y (B)-(A):

Tabla 14. Relación (A)-(B)

ID_zapatos Zapatos
1 Mocasín
3 Tenis
Fuente: elaboración propia

Tabla 15. Relación (B)-(A)

ID_ZAPATOS ZAPATOS
2 Chanclas
Fuente: elaboración propia

2.7. Concatenación |x|

La operación de concatenación |x| aprovecha las operaciones de restricción y producto. Funciona


de tal manera que, dadas las relaciones A y B, primero establece la relación A x B y enseguida,
empleando un criterio de selección, elimina determinadas tuplas.

POLITÉCNICO GRANCOLOMBIANO 10
La concatenación está definida como la operación que “regresa una relación que contiene todas las
tuplas posibles que son combinación de 2 tuplas de cada una de 2 relaciones especificadas, tales que
las dos tuplas que contribuyen a cualquier combinación dada tengan un valor común para los atributos
comunes de las dos relaciones y ese valor común aparece una vez, y no dos, en la tupla resultante)”
(Date, 2001, p.152). La Figura 7 ilustra mejor el comportamiento de la concatenación.

Figura 7. Operación de concatenación


Fuente: elaboración propia

2.8. División /

Al igual que en la aritmética tradicional, la operación división es opuesta al producto. En esta


operación se definen 2 operadores que serán divididos por otro. La operación de división está definida
como aquella que “toma dos relaciones uniarias y una relación binaria y regresa una relación que
contiene todas las tuplas de una relación uniaria que aparecen en la relación binaria y que a la vez
coinciden con todas las tuplas de la otra relación uniaria” (Date, 2001, p.152). La Figura 8 muestra
mejor la operación de división.

Figura 8. Operación de división


Fuente: elaboración propia

POLITÉCNICO GRANCOLOMBIANO 11
El siguiente ejemplo (Tablas 16-18) ilustra la operación de división.

Tabla 16. Relación (viajes)

Viajero Destino Viajero Destino


Luis Díaz Panamá Beatriz Dávila México
Luis Díaz Brasil Beatriz Dávila Argentina
Luis Díaz México Julio Consuegra Chile
Pedro Suárez Panamá Julio Consuegra Panamá
Camila Cortés Panamá Pedro Suárez Brasil
Beatriz Dávila Panamá
Fuente: elaboración propia

Tabla 17. Relación (destinos)

Destino
Panamá
Brasil
Fuente: elaboración propia

Tabla 18. Relación (viajes / destinos)

Viajero
Luis Díaz
Pedro Suárez
Fuente: elaboración propia

Nótese que tanto Luis como Pedro son viajeros que tiene como destino a Panamá y a Brasil.

Las operaciones que acabamos de ver son las más representativas, pero se han definido otras
operaciones cuyos resultados pueden ser obtenidos a través de la combinación de las operaciones
presentadas y están fuera del alcance del curso.

POLITÉCNICO GRANCOLOMBIANO 12
3. Cálculo relacional
Como se presentaba al comienzo de este escenario, el cálculo relacional no se centra tanto en
el procedimiento sino en el resultado. Mientras en el álgebra relacional podríamos especificar
operaciones tales como seleccionar las tuplas que contienen salarios mayores a $3.000.000 o
proyectar los campos que correspondan al nombre del empleado y el salario; en el cálculo relacional
se declararía: obtener los empleados que ganen $3.000.000 o más. Es decir, el cálculo relacional es
descriptivo, en cambio el álgebra relacional es prescriptiva.

En general, podemos encontrar cálculo relacional orientado a tuplas y cálculo relacional orientado a
dominios. Veamos.

3.1. Cálculo relacional orientado a tuplas

La idea del cálculo orientado a tuplas es que se hallen las tuplas en las que se cumpla un predicado
específico. Este cálculo se basa en variables tupla que corresponden a tuplas que tienen un rango de
valores posibles en una relación. A continuación, se presentan algunas declaraciones que se ajustan al
cálculo relacional orientado a tuplas:

• Para cada producto de la bodega, obtener el SKU y el número de unidades en inventario.

• Obtener las ciudades cuya población sea de más de un millón de habitantes.

• Obtener los proveedores que ofrecen, entre sus productos, tornillos.

• Obtener los clientes cuya ciudad de residencia es Bogotá.

• Obtener los clientes con ingresos mayores o iguales a $3’.000.000.

Como se puede evidenciar, la redacción de las declaraciones está orientada a la relación entre variables
de las tuplas; a diferencia del cálculo relacional, orientado a dominios que hacen énfasis en los rangos.

3.2. Cálculo relacional orientado a dominios

El cálculo relacional orientado a dominios se centra en que las variables de alcance cubren dominios,
en lugar de relaciones. La principal relación es de pertenencia a un conjunto o subconjunto de datos.

POLITÉCNICO GRANCOLOMBIANO 13
En seguida, se presentan ejemplos de declaraciones que se ajustan al cálculo relacional orientado
a dominios.

• Obtener los productos cuyo SKU tenga el mismo número de unidades en bodega.

• Obtener las ciudades que correspondan a las que tengan más de un millón de habitantes.

• Obtener los proveedores que por lo menos, entre sus productos, tengan tornillos.

• Obtener los clientes que pertenecen a la ciudad de Bogotá.

• Obtener los clientes con ingresos de por lo menos a $3’.000.000.

Nótese que la redacción puede ser similar, pero en el caso del cálculo orientado a tuplas se hace
énfasis en la relación entre variables, mientras que en el cálculo orientado a dominios se hace hincapié
en la pertenencia a un conjunto.

3.3. Cuantificadores del cálculo relacional

En el cálculo relacional existen 2 cuantificadores: EXISTS, el cual es un cuantificador existencial que


representa –‘Existen tuplas’– en un rango de valores; y FORALL, que es el cuantificador universal
que representa –‘Para todas las tuplas’– en el rango de valores dentro de una relación.

El cuantificador EXISTS se asocia con el cuantificador “Existe algún”, que se denota con el símbolo ∃
de tal manera que para decir “existe algún x tal que x es mayor que y” se denotaría: ∃x/x > y.

De forma análoga, el cuantificador FORALL se asocia con el cuantificador “Para todo” que se denota
por el símbolo de tal manera que para declarar “para todo x tal que x sea mayor que y” se denotaría
x/x>y.

Desde una óptica del cálculo orientado a dominios, se podría aprovechar la relación de pertenencia
denotada por el símbolo . De tal forma que podríamos tener declaraciones tales como “Existe
algún x tal que x pertenece a la relación R” denotada ∃ x/x, o “Para todo x tal que x pertenezca a la
relación R” denotada como x/x.

POLITÉCNICO GRANCOLOMBIANO 14
Referencias
Date, C. (2001). Introducción a los sistemas de bases de datos. Naucalpan de Juárez, México: Pearson
Education.

Aguilar, L. (2008). Fundamentos de Programación. Madrid: Mc Graw Hill.

Carreño, J. (s.f.). Fundamentos de Bases de Datos. Bogotá: Politécnico Grancolombiano.

Elmasri, R. & Navathe, S. (2007). Fundamentos de Sistemas de Bases de Datos. Madrid: Pearson,
Addison Wesley.

Microsoft. (2017). Microsoft Developer Network: Conjunto de Entidades. Recuperado de [Link]


[Link]/es-es/library/ee382830(v=vs.110).aspx

POLITÉCNICO GRANCOLOMBIANO 15
INFORMACIÓN TÉCNICA

Módulo: Fundamentos de bases de datos

Unidad 2: Normalización en las bases de datos

Escenario 4: Álgebra y cálculo relacional

Autor: Luis Ernesto Leyva Camargo

Asesor Pedagógico: María del Pilar Rivera Acosta


Diseñador Gráfico: Paola Andrea Melo
Asistente: Ana Milena Raga Amador

Este material pertenece al Politécnico Grancolombiano.


Prohibida su reproducción total o parcial.

POLITÉCNICO GRANCOLOMBIANO 16

También podría gustarte