Introducción
Para los usuarios finales de una base de datos, el principal interés, con respecto a las consultas que se hagan sobre la base de datos es que dichas consultas respondan rápido y que entreguen la información solicitada. No importa dichas consultas cómo se hagan en el motor de la base de datos.
Pero desde el punto de vista de un profesional en sistemas, es muy importante conocer dichas consultas cómo se están llevando a cabo dentro del motor de la base de datos. Esto con el fin de poder darle respuestas concretas a un usuario acerca del rendimiento de las consultas que se están haciendo sobre una base de datos. No tiene presentación que un profesional en sistemas, ante el requerimiento de un usuario de encontrar la causa del alto tiempo de respuesta de una consulta, no sepa dar los argumentos del por qué dicho tiempo de respuesta es tan alto y, por ende, tampoco tendrá muchos criterios para optimizar dicha consulta.
En otras palabras, como se dijo en el módulo 1. de este libro, el lenguaje SQL es no procedimental, es decir, al escribir una instrucción de consulta, no interesa saber cómo se va a llevar a cabo la consulta, sólo interesa expresar los datos que se quieren consultar.
El objetivo del álgebra relacional es entender cómo se ejecutan las instrucciones SQL. Es decir, si se quiere entender cómo se ejecuta una instrucción SQL de consulta, se debe entender álgebra relacional. Acá radica la importancia del tema del álgebra relacional.
Qué es Álgebra Relacional?
Álgebra Relacional es un lenguaje de consulta procedimental, es decir, sus instrucciones describen los datos que se van a consultar y la manera como dichos datos se van a traer de la base de datos.
Lo anterior da pie para decir que el álgebra relacional se puede asemejar a una prueba de escritorio que se le hace a una instrucción de consulta en SQL, es decir, a un SELECT. A través de una prueba de escritorio, el programador entiende, en detalle, qué están haciendo cada una de las instrucciones del programa durante su ejecución. Igual pasa con el álgebra relacional, a través de él entendemos el paso a paso interno de la ejecución de un SELECT.
Así como SQL es un lenguaje, el álgebra relacional también. Por lo tanto, ambos se componen de instrucciones. Lo que sucede es que las instrucciones en álgebra relacional se conocen como operaciones. Además, la escritura de dichas operaciones tiene que respetar una sintaxis y una semántica, como en cualquier lenguaje de programación.
La forma como cualquier operación del álgebra relacional funciona se puede ver resumida en la siguiente gráfica. Como se puede observar, hay operaciones del álgebra relacional que reciben como parámetros de entrada los datos de una tabla (Tabla1) y hay otras operaciones que reciben los datos de dos tablas (Tabla1 y Tabla 2). Pero independiente de la operación que sea, el resultado siempre será otra tabla (Tabla3).
Fuente Propia.
Esta gráfica, que parece trivial, cobrará especial importancia cuando se esté aprendiendo a escribir operaciones de consulta en álgebra relacional.