Originariamente inviato da Valeria75_bis
Grazie per i chiarimenti
In effetti te ne servono parecchi.
Tanto per cominciare, parlare di "cardinalità di una tabella" non ha un gran senso, perché la cardinalità si riferisce ad una colonna (o, eventualmente, ad una relazione fra tabelle).
Nel caso delle colonne, la cardinalità rappresenta il numero di valori diversi esistenti nella tabella per quella colonna. E' chiaro quindi che in una colonna id la cardinalità sarà sempre uguale al numero di righe presenti nella tabella, ma questo è ben diverso da dire che sia il valore dell'ultimo id, per i motivi che tu stessa hai notato.

Detto questo, le ipotesi che tu fai sul modo di gestire gli id, al di là dell'uso inappropriato del termine cardinalità, sono pure esse insensate. Tu dici "resterà un buco fra 4 e 6" e lo definisci "un problema". E perché mai lo sarebbe?
Gli id già utilizzati non vanno riciclati, se non vuoi creare il rischio che in giro per il database rimanga qualche chiave esterna che puntava all'id cancellato e che, una volta riciclato l'id, punterà ad un record che non c'entra niente. E' chiaro che una corretta logica di programmazione dovrebbe impedire che ciò accada, ma rimane il fatto che, anche se ciò fosse garantito, per "tappare i buchi" dovresti fare un grosso lavoro, prono ad errori, e con utilità zero.
Per quale motivo?