Introduzione all'SQL

Sql (Structured Query Language) è il linguaggio standard per la manipolazione di banche dati, o in gergo più tecnico, di Database, un Database è una struttura più o meno complessa di dati, immaginiamo un lungo elenco cartaceo con informazioni di carattere vario su persone, a partire dai dati fondamentali come il nome ed il cognome, dall'indirizzo ed il numero di telefono fino alle più disparate informazioni.

Gestire un archivio con una simile mole di informazioni non è cosa banale, per questo, con l'avvento dell'informatica (che di per se vive sul concetto di banca dati), sono nati più o meno potenti software per la gestione di Database, i DBMS (Database Management System), oggi detti anche RDBMS (Relational ...).

In un sistema informativo (dove sistema informativo rappresenta l'interazione tra sistema informatico e l'uomo) i DBMS si frappongono tra un software di tipo gestionale (archivio per la conservazione di dati, semplice programma di contabilità, applicazione Web ecc...) e l'utente finale, i DBMS più diffusi sul mercato sono attualmente Oracle, Basis, Db2, Ms Sql Server, mySql, Ms Access, ecc...

La differenza che passa tra i primi nei confronti di Access è che quest'ultimo è un DBMS locale, mentre gli altri sono DBMS server-side, nel senso che il loro funzionamento in fase di sviluppo avviene mediante un dialogo tra un client (macchina di sviluppo) ed un server (dove risiede fisicamente il DBMS).

Tutti questi software parlano in Sql, ognuno con il suo "dialetto" e con piccolissime differenze di sintassi tra loro.

In questo manuale faremo spesso riferimento ad Access per toccare con mano come funziona e cosa si può fare con un sistema di Database, pur non essendo questo una guida all'uso del suddetto software, ma essendo il più semplice da usare, installare, e non richiedendo particolari architetture, è quello che più si adatta alle esigenze iniziali.

Il lettore non pretenderà di potersi definire un DBA (Database Administrator) alla fine dello studio del presente manuale, ma potrà star certo di sapere come e perchè servirsi di un Database e come interfacciarlo con un'applicazione Web.

Concluso questo doveroso cappelletto sui Database e sul mondo che li circonda, focalizziamo la nostra attenzione ora nello specifico su Sql.

Sql è un linguaggio di semplicissima comprensione, si avvicina in maniera impressionante al linguaggio umano, con pochissime operazioni si possono realizzare query (letteralmente "interrogazioni", ma il termine viene utilizzato per definire tutte le possibili operazioni fattibili con Sql) molto complesse a dirsi ed ancor più semplici a farsi, possiamo:

1. creare una tabella *
2. inserire dati in una tabella
3. modificare dati esistenti di una tabella
4. cancellare dati esistenti da una tabella
5. interrogare il database ed estrarre dati da una tabella.

* Una tabella è la parte più piccola e più importante del Database, è la struttura fisica contenente i dati che hanno subito le operazioni sopra elencate.

Immaginiamo una griglia con righe e colonne, in cui ogni singola colonna ha un'intestazione (nome) chiamata campo e le righe, formate da una sola voce di ogni singolo campo, vengono chiamate record.

Questo concetto, forse per qualcuno un po astratto, potrà tornare più chiaro con un esempio:

ID Nome Cognome Città
1 Luca Ruggiero Napoli
2 Giuseppe Verdi Roma
3 Antonio Bianchi Firenze
4 Mario Rossi Milano

Possiamo accorgerci che abbiamo in orizzontale informazioni relative ad una stessa persona (record), ed in verticale informazioni appartenenti ad una stessa categoria (campo), come ad esempio il nome.

Non preoccupiamoci ora di come costruire una struttura del genere, questi argomenti saranno esaurientemente trattati nelle lezioni successive, concludo questa prima lezione preannunciando quali saranno gli argomenti trattati nelle prossime lezioni, si parlerà un po di Access, di come funziona, di come si può creare un prodotto finito ed approfitteremo di lui per parlare dei tipi di dati che esistono per una corretta e completa manipolazione del Database.

Autore: Luca Ruggiero