INDICE
lezione successiva >>

Breve corso di SQL - Cenni introduttivi e Basi di Dati

Questo breve corso ha come scopo la descrizione dei principali comandi del linguaggio SQL, ed è destinato ad un pubblico che non ha alcuna conoscenza di questo linguaggio e delle relative formulazioni teoriche (algebra relazionale). Un prerequisito è la conoscenza degli operatori logici. La spiegazione sarà il più possibile semplice e schematica, a costo di inesattezze e di eccessive riduzioni, quindi chiunque abbia una buona conoscenza del linguaggio SQL voglia scusare l'approccio non formale.

L'autore declina ogni responsabilità per errori od inesattezze contenute in queste pagine e avverte che nessun danno gli può essere addebitato in seguito all'uso delle informazioni qui contenute, siano essi esempi, descrizioni di comandi o anche solo suggerimenti.
Queste pagine sono state scritte a titolo gratuito per il Sito Comune dei Programmatori Visual Basic (http://www.murialdo.it/it_lang_vb) al solo fine di dare una breve introduzione al linguaggio SQL, sono frutto di esperienza personale, maturata nel campo degli RDBMS e OODBMS.
La copia e la distribuzione è autorizzata solo se effettuata a titolo gratuito (licenza freeware), si richiede in ogni caso comunicazione al sito comune per la pubblicazione o l'utilizzo non personale.

Breve Storia

La storia dei DBMS (Data Base Management Systems = Sistemi di Gestione delle Basi di Dati) si sviluppa negli anni '60 e '70, in seguito al crescente fabbisogno di gestire e manipolare grandi quantità di dati.
Subito, in seguito all'affermarsi di una teoria con basi formali (algebra relazionale) nascono i database relazionali (Codd) chiamati RDBMS (Relational Data Base Management Systems = Sistemi di Gestione delle Basi di Dati Relazionali) e di conseguenza il linguaggio SQL (Structured Query Language = Linguaggio di Interrogazione Strutturato - alcuni traducono "linguaggio per interrogazioni strutturate", ma la versione più corretta sembra essere la prima) nasce e si sviluppa con loro.
Ormai il linguaggio SQL è definito da norme ANSI che lo rendono uno standard internazionale, anche se le varie implementazioni differiscono leggermente fra loro.

Le strutture che contengono i dati

I tipi di dati fondamentali che useremo nella seguente trattazione sono:
Numeri (Interi e non), Stringhe (di lunghezza fissa) e Date (nei vari formati data/ora).
Ogni informazione contenuta in un Data Base sarà di uno di questi tipi.

I Campi

Chiamiamo Campo la coppia (Nome, Tipo), in cui Nome è il nome del Campo e Tipo è il tipo di Dati associati al Campo.

Es: La coppia (Età, Intero) è un campo che servirà per contenere le informazioni relative all'età di un individuo, mentre la coppia (Data_di_Nascita, Data) è un campo che servirà per contenere la data di nascita di un individuo.

Le Tabelle

Nei DBMS Relazionali le strutture che contengono i dati sono chiamate tabelle.
La struttura di una tabella si può vedere come la successione (ordinata) di vari campi (la definizione formale dice che una tabella è un sottoinsieme del prodotto cartesiano dei campi della tabella stessa).

Es: La successione (Cognome, Testo), (Età, Intero), (Data_di_nascita, Data) è una struttura di tabella che potremmo chiamare Anagrafica.

I dati contenuti in una tabella dovranno ovviamente essere del tipo corrispondente al campo che li contiene.

Es: La tabella seguente è corretta (vd. esempio precedente):

Cognome Età Data_di_nascita
Rossi 20 01/05/1979
Verdi 10 12/12/1989

Mentre la seguente no:

Cognome Età Data_di_nascita
Rossi GINO 4
Verdi 10/1/1987 CIAO

I Record

Per semplicità chiamiamo Record le righe di una tabella.

Struttura del linguaggio SQL

Il linguaggio SQL (come tutti i linguaggi per RDBMS) si divide principalmente in due sottolinguaggi:
1. DDL: Data Definition Language = Linguaggio di Definizione dei Dati
2. DML: Data Manipulation Language = Linguaggio di Manipolazione dei Dati
Il primo si occupa (cioè è formato da quei comandi che si occupano...) di creare e manipolare le strutture che contengono i dati mentre il secondo si occupa di ricercare, estrarre, ordinare, aggiungere e modificare i dati.

lezione successiva >>