Sequence e auto-increment
Identificatori assegnati dal database
Sezione intitolata “Identificatori assegnati dal database”Molte tabelle hanno una colonna id che cresce automaticamente. Il database assegna un nuovo identificatore quando inserisci una riga.
Così non devi scegliere gli identificatori a mano, riducendo il rischio di errori o duplicati.
Un esempio semplice
Sezione intitolata “Un esempio semplice”In molti database puoi chiedere al sistema di creare automaticamente l’identificatore:
CREATE TABLE clienti ( id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, nome VARCHAR(100));Quando inserisci un cliente, non scrivi tu l’id:
INSERT INTO clienti (nome)VALUES ('Luca');Il database assegna il prossimo numero disponibile.
I nomi cambiano a seconda del database:
- PostgreSQL:
IDENTITYoSERIAL - MySQL:
AUTO_INCREMENT - SQL Server:
IDENTITY - SQLite:
INTEGER PRIMARY KEY
Perché è comodo
Sezione intitolata “Perché è comodo”L’auto-incremento è utile quando:
- hai bisogno di una chiave primaria numerica
- vuoi evitare collisioni tra identificatori
- non vuoi preoccuparti di scegliere il prossimo numero
Una cosa importante da capire
Sezione intitolata “Una cosa importante da capire”Il numero automatico serve soprattutto come identificatore tecnico. Non è sempre adatto a rappresentare un dato di business, come un numero fattura o un codice pubblico visibile all’utente.
Per quei casi, spesso servono regole diverse.