Il linguaggio SQL
SQL (Structured Query Language) è un linguaggio usato nelle basi dati relazionali.
Ha tre distinte funzionalità:
- Data Definition Language (DDL)
Ha un insieme di comandi utili per creare lo schema delle tabelle in un database relazionale. - Data Manipulation Language (DML)
Ha un insieme di comandi per l'interrogazione e la modifica delle istanze di una base dati. - Data Control Language (DCL)
Permette di gestire e revocare le autorizzazioni degli utenti all'utilizzo dei comandi DDL e DML nella base dati.
La storia
Il linguaggio SQL viene definito negli anni '70 e standardizzato negli anni '80.
Oggi è il linguaggio di riferimento per la definizione e l'interrogazione nei DBMS (Data Base Management System) basati sul modello relazionale.
Le caratteristiche del linguaggio Sql
SQL è un linguaggio dichiarativo, non richiede la stesura di sequenze di operazioni.
Con SQL l'utente non si preoccupa degli aspetti fisici del database ma soltanto delle relazioni logiche tra i dati.
Nota. Quando un utente digita una query, il DBMS ottimizza l'interrogazione tramite il query optimizer, trasformandola in una forma equivalente più efficiente. L'utente non vede la query ottimizzata ma soltanto il risultato finale.
Il linguaggio è composto da un numero limitato di comandi.
Il comando più usato nelle interrogazioni è SELECT.
Nota. E' una caratteristica che decreta il suo soccesso perché, malgrado possa sembrare una limitazione, rende particolarmente semplice il suo utilizzo a tutti.
Il linguaggio SQL è almeno in parte anche procedurale, perché consente la scrittura di procedure con una serie di comandi da eseguire in sequenza.
La creazione delle tabelle
Per creare una tabella nel linguaggio SQL si utilizza il comando CREATE TABLE
Esempio
CREATE TABLE Persone
(
Nome VARCHAR(20),
Cognome VARCHAR(20),
Figli INT(2)
);
Il precedente comando crea la tabella Persone con 3 colonne (Nome, Cognome, Figli).
Le prime due colonne (attributi) sono di tipo alfanumerico mentre la terza è numerica.
La tabella appena creata è vuota. Non contiene dati.
L'inserimento dei dati nella tabella
Per inserire una riga nella tabella SQL si utilizza il comando INSERT INTO.
Esempio
INSERT INTO Persone (Nome,Cognome,Figli) VALUE('Mario', 'Rossi', 1);
Questo comando inserisce una riga (tupla) di valori nelle colonne tabella.
In questo modo è possibile riempire la tabella con dei dati.
Le interrogazioni o query
Grazie al comando SELECT è possibile consultare i dati in una tabella.
Esempio
SELECT * FROM Persone WHERE ( Figli > 0 )
Questa interrogazione seleziona le persone nella tabella che hanno figli.
Il risultato dell'interrogazione è sempre una tabella.
E così via.