L'SQL (Structured Query Language) è il linguaggio standard per la manipolazione di database relazionali. SQL è oggi utilizzato nella maggior parte dei sistemi DBMS (i software utilizzati per la gestione dei database) sia open-source che commerciali.
Lo standard si limita alla sintassi ed al nome dei comandi principali, ma ogni DBMS in commercio parla un "dialetto proprietario" che si differenzia, sia pur minimamente, dagli altri. Alcuni DBMS, ad esempio, utilizzano dei comandi proprietari di quello stesso DBMS che non esistono su altri programmi. La sintasi di SQL, quindi, è data da un insieme di regole e funzioni comunemente presenti su tutti i DBMS, fermo restando che ognuno di questi può avere una sintassi proprietaria che si differenzia in parte dal linguaggio SQL o, più frequentemente, lo arricchisce di nuovi strumenti e funzionalità .
In questa guida ci limiteremo, pertanto, a descrivere i costrutti di base di SQL senza entrare nel merito degli specifici DBMS.
Un po' di storia...
Il linguaggio SQL è il frutto dell'evoluzione di un linguaggio di interrogazione del database System R sviluppato, intorno alla metà degli anni '70, presso i laboratori di ricerca di IBM. Il nome originale del linguaggio era SEQUEL (Structured English Query Language) che, in seguito, venne trasformato in SQL.
SQL ebbe subito un grande successo tanto da divenire uno standard di fatto già agli inizi degli anni '80. In seguito SQL fu oggetto di standardizzazione da parte di ANSI e ISO che lo dichiararono standard per la prima volta nel 1986.
A cosa serve SQL
Con l'SQL è possibile creare una tabella, modificarne la struttura o cancellarla. E' possibile effettuare ricerche più o meno precise tra i record di una tabella, inserire nuovi dati, modificare o cancellare dati esistenti. E' anche possibile mettere in relazione due o più tabelle in funzione della struttura delle tabelle e delle esigenze di estrazione e manipolazione dei dati.
Scopo di questa guida è fornire una buona introduzione al lettore neofita e di chiarire alcuni dubbi al lettore più esperto circa il mondo dei database ed il modo in cui interagire con loro e con i dati in essi archiviati. La prima lezione sarà dedicata ai concetti di base: cercherò di dare una risposta alle domande più comuni tra le quali "cos'è un database" e come funziona.