Ogni colonna di una tabella è un attributo. Ogni attributo è caratterizzato da un dominio, cioè l’insieme di tutti i valori che quel campo può legittimamente assumere.
Per definire il dominio di un attributo bisogna specificare:
| Categoria | Tipo SQL | Descrizione ed uso |
|---|---|---|
| Interi | INT, BIGINT, SMALLINT, TINYINT |
Numeri interi senza virgola. INT è il più comune. |
| Decimali esatti | DECIMAL(p,s) |
p = cifre totali, s = cifre decimali. Usato per valori monetari. |
| Decimali approssimati | FLOAT, DOUBLE |
Numeri in virgola mobile. Meno precisi ma più veloci. |
| Testo a lunghezza variabile | VARCHAR(n) |
Fino a n caratteri. È il tipo testuale più usato. |
| Testo a lunghezza fissa | CHAR(n) |
Esattamente n caratteri. Utile per codici (es. codice fiscale). |
| Testo lungo | TEXT |
Testo senza limite pratico di lunghezza. |
| Data | DATE |
Solo data, formato AAAA-MM-GG. |
| Ora | TIME |
Solo orario, formato HH:MM:SS. |
| Data e ora | DATETIME, TIMESTAMP |
Data e ora combinate. |
| Logico | BOOLEAN |
Valori TRUE o FALSE (internamente 1 o 0). |
Per funzione:
Per numero di valori:
Per struttura: