CREATE TABLE
Definire una tabella
Sezione intitolata “Definire una tabella”CREATE TABLE serve a creare una nuova tabella.
Non inserisci ancora dati. Definisci il nome della tabella, le colonne e alcune regole di base.
Puoi pensarlo come un modulo: stabilisci quali campi servono, per esempio nome, email e data di iscrizione.
Un primo esempio
Sezione intitolata “Un primo esempio”Questa query crea una tabella per salvare clienti:
CREATE TABLE clienti ( id INT PRIMARY KEY, nome VARCHAR(100) NOT NULL, email VARCHAR(150), data_iscrizione DATE);Dopo questa query, la tabella clienti esiste, ma è vuota. Per aggiungere righe userai INSERT.
Leggere la definizione
Sezione intitolata “Leggere la definizione”Dentro le parentesi trovi le colonne:
idè un numero intero e identifica ogni cliente.nomeè testo fino a 100 caratteri e non può mancare.emailè testo fino a 150 caratteri.data_iscrizionecontiene una data.
La tabella, tradotta in italiano, dice:
“Ogni cliente ha un id, un nome, forse un’email e forse una data di iscrizione.”
Se riesci a descrivere la tabella in questo modo, la definizione è comprensibile.
La chiave primaria
Sezione intitolata “La chiave primaria”PRIMARY KEY indica la chiave primaria, cioè il valore che identifica una riga senza confonderla con altre.
È come il numero di tessera di una palestra: due persone possono chiamarsi entrambe Luca, ma non dovrebbero avere lo stesso numero.
Per questo spesso si usa una colonna id: non descrive la persona, la identifica.
Colonne obbligatorie con NOT NULL
Sezione intitolata “Colonne obbligatorie con NOT NULL”NOT NULL significa che una colonna non può restare vuota.
Nel nostro esempio:
nome VARCHAR(100) NOT NULLvuol dire che ogni cliente deve avere un nome.
Suggerimento: Usa
NOT NULLper i dati davvero necessari. Se un’informazione può mancare nella vita reale, non renderla obbligatoria solo per abitudine.
Tipi e regole
Sezione intitolata “Tipi e regole”Quando crei una colonna, scegli almeno due cose:
- il tipo, cioè che forma avrà il dato
- le regole, cioè cosa il database deve controllare
Per esempio:
prezzo DECIMAL(10, 2) NOT NULLQui DECIMAL(10, 2) dice che prezzo è un numero decimale. NOT NULL dice che il prezzo deve esserci.
Il database conserva i dati e applica queste regole per mantenerli coerenti.
Scegliere colonne chiare
Sezione intitolata “Scegliere colonne chiare”All’inizio può venire voglia di creare colonne generiche come info o dati.
È meglio evitarlo. Una tabella è più comprensibile quando ogni colonna ha un compito chiaro.
CREATE TABLE prodotti ( id INT PRIMARY KEY, nome VARCHAR(100) NOT NULL, prezzo DECIMAL(10, 2) NOT NULL);Qui capisci subito cosa contiene ogni colonna. Non devi indovinare.
Prima di creare una tabella
Sezione intitolata “Prima di creare una tabella”Fai queste domande:
- che cosa rappresenta ogni riga?
- quale colonna identifica una riga?
- quali dati sono obbligatori?
- quali dati possono mancare?
- i tipi scelti sono adatti ai valori reali?
Non serve progettare tutto perfettamente al primo colpo, ma queste domande evitano molte tabelle confuse.
Riepilogo rapido
Sezione intitolata “Riepilogo rapido”CREATE TABLEcrea la struttura di una tabella.- Ogni colonna ha un nome e un tipo.
PRIMARY KEYidentifica ogni riga.NOT NULLrende una colonna obbligatoria.- Dopo aver creato la tabella, puoi aggiungere dati con
INSERT.