1. Bases de datos relacionales

1.7. Consultas básicas en las tablas

Las bases de datos son herramientas excepcionalmente útiles para consultar información y extraer nuevo conocimiento. En este sentido, los esquemas entidad-relación no son una excepción. Más bien al contrario, utilizando el álgebra relacional es posible consultar el contenido de las tablas de múltiples formas. Básicamente, las consultas SQL (en inglés, queries) consisten en filtros que delimitan el segmento del conjunto completo de los registros de una o más tablas en el cual estamos interesados, para mostrar después el valor de sus atributos.

La instrucción SELECT implementa el proceso de consulta sobre las tablas, mostrando los atributos indicados para aquellos registros que cumplen una determinada condición.

Vamos a explorar en los próximos subapartados cómo enriquecer nuestras consultas, empleando para ello nuestro catálogo de genes, que está almacenado en la base de datos catalogo. Antes de hacer consultas más elaboradas, mostramos a continuación la forma más sencilla de realizar una consulta.

Figura 23. Sintaxis básica del comando SELECT.
Fuente: elaboración propia.

La consulta más habitual consiste en mostrar el contenido completo de una tabla. El carácter *, precisamente, indica que deseamos visualizar el listado íntegro de los valores de todos los atributos para el subconjunto de registros seleccionados. Para poner en práctica este comando sobre nuestro catálogo, seleccionamos todos los valores de cada instancia guardada en la tabla genes:

Figura 24. Mostrando el contenido íntegro de la tabla genes.
Fuente: elaboración propia.

Para evitar el exceso de información, el usuario puede seleccionar los atributos o campos de los registros de una tabla que desea ver por pantalla. Simplemente sustituyendo en la pregunta el símbolo * por un listado de atributos, separados por comas, podemos delimitar la vista de los registros, en este caso genes que obtenemos como resultado:

Figura 25. Mostrando los valores de algunos atributos de la tabla genes.
Fuente: elaboración propia.

El recuento del número de registros que cumple una condición concreta es una de las consultas más frecuentes en SQL. En este caso es suficiente con añadir la función COUNT a la consulta que estemos realizando para contabilizar el número de líneas de la salida:

Figura 26. Contando todos los registros de la tabla genes.
Fuente: elaboración propia.

La función DISTINCT elimina los resultados duplicados. Por ejemplo, si deseamos contar el número de organismos en nuestra tabla genes, podemos combinar las funciones COUNT y DISTINCT sobre el atributo especies del siguiente modo:

Figura 27. Contando registros únicos de una tabla.
Fuente: elaboración propia.

El comando ORDER BY ordena la lista de resultados producida por un comando SELECT, de forma ascendente o descendente (según si añadimos la cláusula ASC o DESC, respectivamente). En la próxima figura ordenamos los genes por su posición en cada cromosoma o por su nombre, de distintas maneras:

Figura 28. Ordenar los registros de una tabla.
Fuente: elaboración propia.

Cuando se trabaja con tablas que contienen miles de elementos, resulta conveniente mostrar inicialmente solo los primeros registros para comprobar el correcto funcionamiento de la consulta. La función LIMIT permite mostrar exclusivamente los primeros n registros de la consulta en ejecución:

Figura 29. Mostrar un fragmento de la consulta.
Fuente: elaboración propia.