1. Introducció als llenguatges de consulta
Moltes vegades hem sentit estadístiques de futbol que diuen coses com:
-
Esta jornada s'han tret 7 targetes roges, que és rècord esta temporada i igualen el rècord de la temporada passada, que es va fer en la jornada 5.
-
El partit d'esta jornada amb més expulsions ha sigut el Sevilla-València, amb 3. En total han sigut expulsats 11 jugadors, però no supera el rècord de la temporada passada, que eren 12 expulsions, en les jornades 6 i 33.
-
En el que va de campionat, Messi ja porta més gols que 15 equips de primera. Només 3 clubs superen els 8 gols de Messi: el Betis amb 9, el Reial Madrid amb 16 i, és clar, el Barça, amb 22. Messi acabà la lliga passada amb 31 gols. De moment, en la present temporada la seua mitjana és 1 gol cada 48 minuts.
Com es fan totes eixes estadístiques? Hi ha algú repassant totes les dades una a una de totes les jornades i va veient rècords, mitjanes, etc? És evident que no. Per a fer això, caldrà fer, amb el llenguatge SQL:
-
Crear l'estructura idònia de base de dades (només una vegada):
SQL -
Introduir les dades dels resultats dels partits (després de cada jornada):
-
Fer les consultes que necessitem (per a cada informació estadística):
Per a fer eixes i altres operacions cal un tipus de programa anomenat Sistema de Gestió de Bases de Dades (SGBD).
Un SGBD és un conjunt de programes que permeten crear BD, emmagatzemar dades, modificar-les, esborrar-les i consultar-les.
El SGBD que usarem nosaltres és el MySQL.
Este SGBD, com molts altres, per a interactuar amb les BD usa el llenguatge SQL: Structured Query Language (Llenguatge de consultes estructurat). Les instruccions de SQL (sentències) es poden classificar en 5 grups:
- DDL (Llenguatge de Definició de Dades). Crear taules amb els camps, claus, etc.
- DML (Llenguatge de Manipulació de Dades). Inserir dades en les taules, esborrar-les o modificar-les.
- DQL (Llenguatge de Consulta de Dades). Consultar dades guardades en la BD.
- DCL (Llenguatge de Control de Dades). Restringir permisos d'accés a les taules a determinats usuaris.
- TCL (Llenguatge de Control de Transaccions). Permetre accés concurrent (simultani) de diversos usuaris a les dades.
SQL és un llenguatge informàtic per a realitzar tasques de gestió amb una BD. Les instruccions (ordres o sentències) poden executar-se de forma independent (consola, etc) o bé poden incorporar-se a un altre llenguatge (C, Java...) per a permetre'ns accedir a una BD des d'un programa.
Totes les sentències SQL comencen amb una paraula clau que descriu el que fa la sentència (SELECT, INSERT, DELETE...). La sentència continua amb una o més clàusules, que també comencen amb una paraula clau (WHERE, FROM, ORDER BY...).
Les sentències acaben amb ;.
Manual de MySQL
A continuació vorem un resum de les sentències més importants.
Sentències SQL
| Subllenguatge | Sentència | Descripció |
|---|---|---|
| DDL (Definició de dades) | CREATE DATABASE |
Crea una BD |
USE |
Selecciona una BD per a usar-la | |
DROP DATABASE |
Elimina una BD | |
CREATE TABLE |
Crea una taula | |
DROP TABLE |
Elimina una taula | |
ALTER TABLE |
Modifica l'estructura d'una taula | |
CREATE INDEX |
Crea un índex per a una columna | |
DROP INDEX |
Elimina un índex d'una columna | |
CREATE VIEW |
Crea una vista | |
DROP VIEW |
Elimina una vista | |
| DML (Manipulació de dades) | INSERT |
Afig files a una taula |
DELETE |
Suprimix files d'una taula | |
UPDATE |
Modifica dades d'una taula | |
| DQL (Consultes) | SELECT |
Mostra dades d'una BD |
| DCL (Control de dades) | GRANT |
Dóna permisos d'accés a usuaris |
REVOKE |
Lleva permisos d'accés a usuaris | |
| TCL (Control de transaccions) | BEGIN |
Inicia una transacció |
COMMIT |
Finalitza una transacció | |
ROLLBACK |
Avorta la transacció | |
SAVEPOINT |
Per a avortar parcialment la transacció |