Operación División
Tipo: Binaria
Sintaxis:
Tabla 1 ÷ Tabla 2
Descripción: La división es una operación que se usa para consultas que contengan la condición “para todos”.
Ejemplo: Supongamos las siguientes tablas:
Cliente |
NombreCliente NumeroCuenta |
Sucursal |
NomSucursal Ciudad % Activos |
Cuenta |
NomSucursal NroCuenta Saldo |
Los datos que tienen dichas tablas son los siguientes:
Tabla CLIENTE
NombreCliente | NumeroCuenta |
José Lopez |
C – 001 |
Lina Rosero |
C – 003 |
Ismael Tejelo |
C – 006 |
Ismael Tejelo |
C – 008 |
Lina Rosero |
C – 055 |
Jairo Toro |
C - 160 |
Tabla SUCURSAL
NomSucursal |
Ciudad |
$ Activos |
Poblado |
Medellín |
5.000.000 |
Centro |
Medellín |
6.900.000 |
Chapinero |
Bogotá |
5.100.000 |
San Fernando |
Cali |
1.900.000 |
Cabecera |
Bucaramanga |
7.300.000 |
Tabla CUENTA
NomSucursal | NroCuenta | Saldo |
Poblado |
C – 001 |
580.000 |
Poblado |
C – 003 |
850.000 |
Centro |
C – 006 |
1.096.253 |
Poblado |
C – 008 |
600.500 |
Chapinero |
C – 055 |
3.500.000 |
Cabecera |
C – 166 |
740.000 |
Consultar el nombre de los clientes que tienen cuenta en TODAS las sucursales de Medellín.
Si miramos los datos, la respuesta a dicha consulta es Ismael Tejelo.
Para llevar a cabo dicha consulta en álgebra relacional, hacemos lo siguiente:
Primero debemos saber cuales son las sucursales de la ciudad de Medellín. Eso lo logramos con la siguiente expresión:
R2 = Π NomSucursal ( Ϭ Ciudad = ‘Medellin’ (SUCURSAL))
Esto da como resultado lo siguiente:
NomSucursal |
Poblado |
Centro |
Por otro lado, podemos saber cada cliente en cuales sucursales tiene cuenta:
R1 = Π NombreCliente, NomSucursal (CLIENTE CUENTA)
El resultado de la anterior expresión es la siguiente:
NombreCliente | NomSucursal |
José López |
Poblado |
Lina Rosero |
Poblado |
Ismael Tejelo |
Centro |
Ismael Tejelo |
Poblado |
Lina Rosero |
Chapinero |
Jairo Toro |
Cabecera |
Si dividimos R1 por R2, nos da como resultado los nombres de clientes que tengan relación con TODAS las sucursales que están en R2.
Por lo tanto, la solución a la consulta es
R1 ÷ R2
Cuando se hace una división de dos tablas, en ambas tablas tiene que haber un campo en común. Y ese campo en común se elimina dek resultado.
En el resultado de la división, quedan los campos del numerador que no están en el denominador, con los datos del numerador que se relacionan con TODOS los datos del denominador.
Conclusión: Sabiendo expresar una consulta en álgebra relacional, se tiene una visión muy clara de cómo ejecuta dicha consulta el motor de la base de datos y, por lo tanto, se tiene un criterio mucho más amplio para decidir si hay una manera de optimizar dicha consulta.
Ahí radica la importancia del álgebra relacional.