Modelo relacional

Las operaciones de �lgebra relacional manipulan relaciones. Esto significa que estas operaciones usan uno o dos relaciones existentes para crear una nueva relaci�n. Esta nueva relaci�n puede entonces usarse como entrada para una nueva operaci�n. Este poderoso concepto - la creaci�n de una nueva relaci�n a partir de relaciones existentes hace considerablemente m�s f�cil la soluci�n de las consultas, debido a que se puede experimentar con soluciones parciales hasta encontrar la proposici�n con la que se trabajar�.

El �lgebra relacional consta de nueve operaciones:

  1. Uni�n
  2. Intersecci�n
  3. Diferencia
  4. Producto
  5. Selecci�n
  6. Proyecci�n
  7. Reuni�n
  8. Divisi�n
  9. Asignaci�n

Las cuatro primeras se toman de la teor�a de conjunto de las matem�ticas; las cuatro siguientes son operaciones propias del �lgebra relacional y la �ltima es la operaci�n est�ndar de dar un valor a un elemento.

.�Uni�n

La operaci�n de uni�n permite combinar datos de varias relaciones. Supongamos que una determinada empresa internacional posee una tabla de empleados para cada uno de los pa�ses en los que opera. Para conseguir un listado completo de todos los empleados de la empresa tenemos que realizar una uni�n de todas las tablas de empleados de todos los pa�ses.

No siempre es posible realizar consultas de uni�n entre varias tablas, para poder realizar esta operaci�n es necesario e imprescindible que las tablas a unir tengan las mismas estructuras, que sus campos sean iguales.

.�Intersecci�n

La operaci�n de intersecci�n permite identificar filas que son comunes en dos relaciones. Supongamos que tenemos una tabla de empleados y otra tabla con los asistentes que han realizado un curso de ingl�s (los asistentes pueden ser empleados o gente de la calle). Queremos crear una figura virtual en la tabla denominada "Empleados que hablan Ingl�s", esta figura podemos crearla realizando una intersecci�n de empleados y curso de ingl�s, los elementos que existan en ambas tablas ser�n aquellos empleados que han asistido al curso.

.�Diferencia

La operaci�n diferencia permite identificar filas que est�n en una relaci�n y no en otra. Tomando como referencia el caso anterior, deber�amos aplicar una diferencia entre la tabla empleados y la tabla asistentes al curso para saber aquellos asistentes externos a la organizaci�n que han asistido al curso.

.�Producto

La operaci�n producto consiste en la realizaci�n de un producto cartesiano entre dos tablas dando como resultado todas las posibles combinaciones entre los registros de la primera y los registros de la segunda. Esta operaci�n se entiende mejor con el siguiente ejemplo:

Tabla A
XY
1022
1125

Tabla B
WZ
3354
3798
42100

El producto de A * B dar�a como resultado la siguiente tabla:

Tabla A * Tabla B
10223354
10223798
102242100
11253354
11253798
112542100

.�Selecci�n

La operaci�n selecci�n consiste en recuperar un conjunto de registros de una tabla o de una relaci�n indicando las condiciones que deben cumplir los registros recuperados, de tal forma que los registros devueltos por la selecci�n han de satisfacer todas las condiciones que se hayan establecido. Esta operaci�n es la que normalmente se conoce como consulta.

Podemos emplearla para saber que empleados son mayores de 45 a�os, o cuales viven en Madrid, incluso podemos averiguar los que son mayores de 45 a�os y residen en Madrid, los que son mayores de 45 a�os y no viven en Madrid, etc..

En este tipo de consulta se emplean los diferentes operadores de comparaci�n (=,>, <, >=, <=, <>), los operadores l�gicos (and, or, xor) o la negaci�n l�gica (not).

.�Proyecci�n

Una proyecci�n es un caso concreto de la operaci�n selecci�n, esta �ltima devuelve todos los campos de aquellos registros que cumplen la condici�n que he establecido. Una proyecci�n es una selecci�n en la que seleccionamos aquellos campos que deseamos recuperar. Tomando como referencia el caso de la operaci�n selecci�n es posible que lo �nico que nos interese recuperar sea el n�mero de la seguridad social, omitiendo as� los campos tel�fono, direcci�n, etc.. Este �ltimo caso, en el que seleccionamos los campos que deseamos, es una proyecci�n.

.�Reuni�n

La reuni�n se utiliza para recuperar datos a trav�s de varias tablas conectadas unas con otras mediante cl�usulas JOIN, en cualquiera de sus tres variantes INNER, LEFT, RIGHT. La operaci�n reuni�n se puede combinar con las operaciones selecci�n y proyecci�n.

Un ejemplo de reuni�n es conseguir los pedidos que nos han realizado los clientes nacionales cuyo importe supere 15.000 unidades de producto, generando un informe con el nombre del cliente y el c�digo del pedido. En este caso se da por supuesto que la tabla clientes es diferente a la tabla pedidos y que hay que conectar ambas mediante, en este caso, un INNER JOIN.

.�Divisi�n

La operaci�n divisi�n es la contraria a la operaci�n producto y quiz�s sea la m�s compleja de explicar, por tanto comenzar� con directamente con un ejemplo. Una determinada empresa posee una tabla de comerciales, otra tabla de productos y otra con las ventas de los comerciales. Queremos averiguar que comerciales han vendido todo tipo de producto.

Lo primero que hacemos es extraer en una tabla todos los c�digos de todos los productos, a esta tabla la denominamos A.

Tabla A
C�digo Producto
1035
2241
2249
5818

En una segunda tabla extraemos, de la tabla de ventas, el c�digo del producto y el comercial que lo ha vendido, lo hacemos con una proyecci�n y evitamos traer valores duplicados. El resultado podr�a ser el siguiente:

Tabla B
C�digo ComercialC�digo Producto
102241
232518
231035
392518
372518
102249
232249
232241

Si dividimos la tabla B entre la tabla A obtendremos como resultado una tercera tabla que:

  1. Los campos que contiene son aquellos de la tabla B que no existen en la tabla A. En este caso el campo C�digo Comercial es el �nico de la tabla B que no existen en la tabla A.
  2. Un registro se encuentra en la tabla resultado si y s�lo si est� asociado en tabla B con cada fila de la tabla A
Tabla Resultado
C�digo Comercial
23

�Por qu� el resultado es 23?. El comercial 23 es el �nico de la tabla B que tiene asociados todos los posibles c�digos de producto de la tabla A.

.�Asignaci�n

Esta operaci�n algebraica consiste en asignar un valor a uno o varios campos de una tabla.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
ARTÍCULO ANTERIOR