📁
Forum per Webmaster
SQL

La definizione delle tabelle

Le tabelle vengono definite con il comando CREATE TABLE, seguito dal nome della tabella e dall'elenco degli attributi. Per ogni attributo occorre specificare il nome e il tipo di dato.
Per esempio, per creare una tabella contenente i dati dei dipendenti di un'azienda (matricola, cognome e nome, codice fiscale, data di assunzione, filiale in cui lavora, funzione all'interno dell'azienda, livello, stipendio base, indirizzo con via, cap, città e provincia), si deve usare il seguente comando:

CREATE TABLE Personale
     (Matricola   char(5),
      Cognome     char(30),
      Nome        char(20),
      CodFisc     char(16) not null,
      Assunto     date,
      Filiale     smallint,
      Funzione    char(15),
      Livello     smallint,
      StipBase    integer,
      Via         char(25),
      Cap         char(5),
      Citta       char(20),
      Prov        char(2) );

L’attributo Matricola è la chiave primaria della tabella. Accanto alla
definizione dell'attributo può essere specificata la clausola NOT NULL, per indicare che in tutte le righe della tabella quella colonna deve essere riempita con un valore non nullo, nelle operazioni di inserimento e di aggiornamento.
Si può utilizzare lo stesso nome di attributo in tabelle diverse; durante la gestione dei dati, poi, per distinguere gli attributi con nome uguale si usa la notazione: Tabella. Attributo separando il nome della tabella dal nome dell'attributo con il punto.
La struttura della tabella può essere successivamente modificata con il comando ALTER TABLE, per aggiungere una nuova colonna (ADD) a quelle già esistenti, oppure per togliere una colonna (DROP). Per esempio, il comando seguente consente di inserire il nuovo attributo con la data di nascita del dipendente:

ALTER TABLE Personale
 ADD Nascita date;

Utilizzando l'opzione Drop si può togliere per esempio dalla tabella Personale l'attributo che si riferisce allo stipendio base:

ALTER TABLE Personale
 DROP StipBase;

L’istruzione CREATE INDEX viene utilizzata per creare un nuovo indice su una tabella esistente, indicando il nome della tabella e il nome dell'attributo o degli attributi ai quali associare l'indice. Se non si vuole che ci siano valori duplicati per l'attributo associato ad indice in righe diverse, occorre usare la clausola UNIQUE.

Per esempio il comando

CREATE UNIQUE INDEX Ipers
 ON Personale (Cognome, Nome);

crea un indice di nome Ipers sulla tabella Personale secondo gli attributi Cognome e Nome.
Una tabella o un indice possono essere eliminati con il comando DROP, seguito dal nome della tabella o dell'indice. Per esempio il comando seguente cancella la tabella Personale:

DROP TABLE Personale;

In modo analogo per cancellare l'indice di nome Ipers si usa il comando:

DROP INDEX Ipers ON Personale;

I comandi illustrati finora rappresentano la parte del linguaggio SQL che fa riferimento alla categoria dei comandi definiti con la sigla DDL (Data Definition Language), cioè il linguaggio che consente di implementare il modello logico dei dati sulle memorie di massa del computer.
Occorre osservare che nelle versioni moderne dei prodotti DBMS le operazioni di creazione di tabelle e di indici, oltre che di modifica alla struttura della tabella o di cancellazione di tabelle e indici, vengono effettuate attraverso un'interfaccia interattiva che facilita il lavoro dell'utente il quale può anche non conoscere la sintassi dei comandi sopra illustrati. Durante la definizione della tabella viene individuato l'attributo che deve svolgere la funzione di chiave. Anche la scelta del formato (e della dimensione) degli attributi nella tabella viene fatta all'interno di un elenco di tipi di dato, indicati in lingua italiana: per esempio Data/ora per Date, Testo per Character, Numerico per Integer.

Argomenti nella stessa categoria