UN LINGUAGGIO CHE SI CHIAMA SQL
L' SQL
(System Query Language) è basilare per l'utilizzo di un data
base relazionale e raccoglie tre tipi di comandi:
Comandi per creare, cancellare e modificare le tabelle,
Comandi per compiere ricerche,
Comandi per assegnare le autorizzazioni.
Vediamoli con ordine.
1. COMANDI DI CREAZIONE E DI MODIFICA
L'SQL permette
una ricca definizione di dati (es decimali, interi, esponenziali, dati orari
ecc.)
mediante CREATE TABLE.
Questo comando ottiene
l'effetto di allocare lo spazio per una nuova tabella, ma per caricare
valori precisi nella tabella che è stata creata, c'è bisogno di INSERT INTO
seguito dai valori che devono essere scritti dentro. Ad esempio, per inserire
'Carlo Rossi' nella tabella IMPIEGATI si scrive:
INSERT INTO
IMPIEGATI
VALUES ('Carlo','Rossi')
In pratica con CREATE TABLE si ha:
IMPIEGATI
Con INSERT
INTO IMPIEGATI si ha:
IMPIEGATI
* * *
Per copiare i dati da una tabella all'altra si usa sempre lo
stesso comando nella forma:
INSERT INTO
IMPIEGATI
SELECT * FROM CITTADINI
Questo comando copia i dati di CITTADINI entro IMPIEGATI.
Per cancellare i dati c'è
DELETE.
Nel caso che la cancellazione sia complessa
allora il comando comprende le condizioni composte
OR e
AND.
Ad esempio, supponiamo di cancellare tutti i voli in partenza o in
arrivo
da Milano:
DELETE FROM VOLI
WHERE DECOLLO = 'Milano'
OR DESTINAZIONE = ' Milano'
Per apportare
l'aggiunta di una colonna si usa il comando
ALTER TABLE;
invece si usa
DROP
per cancellare una colonna;
MODIFY per cambiarne
il tipo, e ADD per aggiungerne una nuova.
Tutti questi sono comandi strutturali cioè modificano la struttura di una
tabella. Invece per modificare i dati interni
alla tabella si ricorre ad
UPDATE.
2. COMANDI DI RICERCA
Il linguaggio SQL per la ricerca
prevede questa macro straordinaria:
SELECT x
FROM y
WHERE z
Che equivale ad una intera proposizione la quale significa pressappoco:
RICERCA I DATI x
DALLA TABELLA y
QUANDO SONO VERIFICATE LE CONDIZIONI z
Diciamo che x indica la colonna, o le colonne della tabella (o le tabelle)
y su cui si
compie la ricerca. Infine i parametri z indicano le condizioni logiche della
ricerca. Ad esempio, per cercare gli orari di PARTENZA e di ARRIVO
dei voli che vanno a MILANO si scrive:
SELECT PARTENZA, ARRIVO
FROM VOLI
WHERE DESTINAZIONE = 'MILANO'
La SELECT realizza le
operazioni logiche di selezione, di proiezione
e di unione con colonne
appartenenti a più tabelle. Ad esempio la tabella AEREOPORTI riporta il
nome dell'aereoporto nella tabella NOMEREOPORTO.
Per avere accanto
alla città di partenza anche il rispettivo nome dell'aereoporto, la
SELECT invoca sia la tabella VOLI sia la tabella AEREOPORTI
SELECT PARTENZA, NOMEREOPORTO
FROM VOLI, AEREOPORTI
WHERE DESTINAZIONE = 'MILANO'
L'SQL permette di scrivere
accanto a WHERE condizioni assai speciali. Ad esempio con LIKE si ricerca per simiglianza. Per trovare tutte le destinazioni
che cominciano per L si scrive:
WHERE DESTINAZIONE = 'L%'
L'output di una SELECT è provvisorio, per renderlo stabile cioè per
creare una nuova tabella con i risultati trovati si ricorre a
CREATE VIEW.
In sostanza il data base SQL ha tabelle "primarie" preparate con CREATE
TABLE e tabelle successive, chiamate "viste", frutto della manipolazione.
3. COMANDI DI AUTORIZZAZIONE
L'accesso al data base prevede
diversi gradi di responsabilità. Al vertice c'è il
"Data Base Administrator" (DBA) che, come dice il nome, è
il
responsabile generale il quale non ha restrizioni di sorta.
Mediante il comando
GRANT
vengono assegnate responsabilità inferiori. La più semplice è
l'ammissione di un nuovo utente con relativo nome identificativo e
password:
GRANT CONNECT
TO nome-utente
IDENTIFIED BY password
Con il comando GRANT si assegnano autorizzazioni per elaborare una tabella specifica, oppure
per leggere
soltanto, oppure solo per effettuare ricerche, oppure per creare nuove tabelle
ecc. Cioè si usa un solo comando per le più svariate forme di
autorizzazione. Le autorizzazioni concesse per mezzo di GRANT, vengono
revocate con il comando
REVOKE.
* * *
Tutti i comandi SQL sono lanciati in modo
interattivo da tastiera oppure vengono inseriti all'interno di un programma
imperativo (Cobol, PL1, Basic ecc.) e quindi si integrano completamente con
la logica della programmazione.
Prima di concludere si deve sottolineare le notevoli
qualità dell'SQL che sono:
- elevata chiarezza,
- potenza elaborativa delle sue funzioni,
- e coerenza sintattica complessiva.
Queste virtù gli hanno permesso di affermarsi come
linguaggio universale per la gestione del data base relazionale.
Indietro
anno 2007 |