1.7. Consultes bàsiques a les taules
Les bases de dades són eines excepcionalment útils per consultar informació i extreure nou coneixement. En aquest sentit, els esquemes entitat-relació no són una excepció. Més aviat al contrari, utilitzant l’àlgebra relacional és possible consultar el contingut de les taules de múltiples formes. Bàsicament, les consultes SQL (en anglès, queries) consisteixen en filtres que delimiten el segment del conjunt complet dels registres d’una o més taules en el qual estem interessats, per mostrar després el valor dels seus atributs.
La instrucció SELECT implementa el procés de consulta sobre les taules, mostrant els atributs indicats per a aquells registres que compleixen una determinada condició.
Podeu trobar informació sobre l’ús del terminal per dur a terme operacions similars sobre fitxers de text al mòdul «L’entorn de treball UNIX».
Anem a explorar en els pròxims anys com enriquir les nostres consultes, utilitzant per a això el nostre catàleg de gens, que està emmagatzemat en la base de dades cataleg. Abans de fer consultes més elaborades, mostrem a continuació la forma més senzilla de realitzar una consulta.
La consulta més habitual consisteix a mostrar el contingut complet d’una taula. El caràcter *, precisament, indica que desitgem visualitzar el llistat íntegre dels valors de tots els atributs per al subconjunt de registres seleccionats. Per posar en pràctica aquesta ordre sobre el nostre catàleg, seleccionem tots els valors de cada instància guardada a la taula gens:
Per evitar l’excés d’informació, l’usuari pot seleccionar els atributs o camps dels registres d’una taula que desitja veure per pantalla. Simplement substituint en la pregunta el símbol * per un llistat d’atributs, separats per comes, podem delimitar la vista dels registres, en aquest cas gens que obtenim com a resultat:
El recompte del nombre de registres que compleix una condició concreta és una de les consultes més freqüents en SQL. En aquest cas és suficient amb afegir la funció COUNT
a la consulta que estem realitzant per comptabilitzar el nombre de línies de la sortida:
La funció DISTINCT
elimina els resultats duplicats. Per exemple, si desitgem comptar el nombre d’organismes a la nostra taula gens, podem combinar les funcions COUNT
i DISTINCT
sobre l’atribut especie de la manera següent:
L’ordre ORDER BY
ordena la llista de resultats produïda per una ordre SELECT
, de forma ascendent o descendent (segons si hi afegim la clàusula ASC
o DESC
, respectivament). En la propera figura ordenem els gens per la seva posició en cada cromosoma o pel seu nom, de diferents maneres:
Quan es treballa amb taules que contenen milers d’elements, resulta convenient mostrar inicialment només els primers registres per comprovar el correcte funcionament de la consulta. La funció LIMIT
permet mostrar exclusivament els primers n registres de la consulta en execució: