Il modo più semplice per inserire una chiave primaria a una tabella, è quello di aggiungere alla tabella un nuovo campo, solitamente lo si chiama ID o IDENTIFICATIVO e tipicamente si tratta di un numero intero che viene incrementato automaticamente da Microsoft Access ogni volta che si aggiunge un nuovo record alla tabella stessa (è una comodità per evitare di inventarsi meccanismi più complessi).
In pratica, durante la creazione di questo campo, si deve impostare il tipo di dati su numerazione automatica (“contatore” nelle versioni di Microsoft Access più datate) e impostare anche che si tratta di una chiave primaria.
Questo sarà un campo che si auto compilerà incrementandosi automaticamente alla registrazione di ogni nuovo record, garantendo che non esisteranno mai due record con lo stesso numero ID.
Una caratteristica del campo numerazione automatica (e proprio per questo è indicato per definire delle chiavi primarie) è che genera un numero una e una sola volta;
ovvero a garanzia dell’unicità del record, qualora verrà cancellato il record il cui ID è per esempio 26, in quella tabella non verrà mai più creato un record con ID impostato a 26;
in quella tabella la chiave primaria 26 non verrà più rimpiazzata.
La chiave primaria non è però obbligatoriamente un numero.
Per situazioni più o meno particolari la chiave primaria può essere definita anche con un campo testo.
L’esempio più comune è quello di un elenco di automobili, in cui è possibile (e probabilmente anche conveniente) indicare il campo targa come “chiave primaria”; infatti non possono esserci due automobili con la stessa targa e quindi l’univocità del record è garantita.Oppure un elenco di persone, dove tra i dati anagrafici è certo possibile impostare a “chiave primaria” il campo codice fiscale.
Certo è che, se nel caso di numerazione automatica non ci si preoccupa più di niente, nel caso di un campo testo si dovrà provvedere ad organizzare l’inserimento della “chiave primaria”, altrimenti in caso di non univocità non sarà possibile salvare il record.
R 🙂 bert 🙂