CARATTERISTICHE GENERALI
Abbiamo detto che SQL è un linguaggio. Ma è un linguaggio
un po' speciale: possiamo vederlo come una specie di strato virtuale tra
tutto ciò che utilizza i dati (utenti e programmi) e la struttura dei dati stessi (Data Base), una
specie di piattaforma su cui costruire senza preoccuparsi del terreno sottostante.
Proponendosi come uno strato di software, che tenta di nascondere il
sistema operativo che sta sotto, viene presentato come un standard.
Tuttavia le implementazioni che realizzano interfacce con le altre
risorse logiche e fisiche dei vari sistemi non sono altrettanto
standard. Segue, non sempre fedelmente, il modello relazionale ed è
in un certo senso un linguaggio chiuso: ha come elemento di base le tabelle
e ogni suo operatore produce sempre tabelle.
SQL è un gestore di data base relazionali, quindi
assolve alle funzioni di Data Description Language (DDL) e di Data
Management Language (DML).
Inoltre può essere usato sia come linguaggio di interrogazione
(QL) a sé stante, di tipo non procedurale, che come linguaggio
ospite (embedded) di un linguaggio procedurale. Nel primo caso si lavora in modo interattivo e non sono previste routine
batch. Nel secondo caso. invece, si sviluppano programmi, ossia insiemi
strutturati di comandi, che devono però essere immersi in altri
programmi sviluppati in un linguaggio evoluto e solo in tale modo possono
essere eseguiti.
La risposta ai comandi così impostati non è immediata
e la loro gestione risente delle caratteristiche di proceduralità
del linguaggio ospite. SQL. infatti, non è un linguaggio procedurale,
non possiede istruzioni per il controllo condizionale, ne istruzioni di
salto o strutture iterative.
I comandi possono essere impartiti con la lettera maiuscola o minuscola
indifferentemente. Normalmente la distinzione viene invece fatta per le
stringhe di caratteri. Tuttavia l'impostazione può anche essere
variata, ma non sono consentite abbreviazioni. I comandi possono essere
posti su righe distinte e normalmente lo saranno per aumentare la leggibilità
dei listati. Quando vengono inseriti in un programma (modalità batch)
devono essere racchiusi tra delimitatori appositi come vedremo all'occorrenza.
I commenti. utili quando si scrivono programmi, si devono inserire tra
/* e */. I termini che intervengono nelle istruzioni sono considerati dal
sistema parole riservate e quindi non possono essere usate come nomi di
tabelle, di campi, etc.
Normalmente gli identificatori sono soggetti ad alcune regole: hanno
lunghezza massima di 18 caratteri, devono iniziare con una lettera e possono
contenere come solo segno speciale il segno di sottolineatura (-).
Prima di entrare nel merito del linguaggio è bene riprendere
alcuni concetti e alcune definizione tipiche del modello relazionale.
SQL si basa su una visione tabellare dei dati. ossia
i dati vengono organizzati in tabelle, dove
le colonne sono gli attributi e le righe le istanze
degli attributi (record).