Una chiave primaria è un campo o un set di campi con valori univoci in un'intera tabella. È possibile fare riferimento a interi record usando i valori della chiave, perché ogni record ha un valore diverso per la chiave. Ogni tabella può avere una sola chiave primaria. Access possibile creare automaticamente un campo chiave primaria quando si crea una tabella oppure è possibile specificare i campi da usare come chiave primaria. Questo articolo spiega come e perché usare le chiavi primarie.
Per impostare la chiave primaria di una tabella, aprire la tabella in visualizzazione Struttura. Selezionare il campo (o i campi) da usare e quindi sulla barra multifunzione selezionare Chiave primaria.
In questo articolo
Panoramica delle chiavi primarie in Access
Access usa i campi chiave primaria per associare rapidamente i dati di più tabelle e combinarli in modo significativo. È possibile includere i campi di chiave primaria in altre tabelle per rimandare alla tabella di origine della chiave primaria. In queste altre tabelle, i campi sono chiamati chiavi esterne. Ad esempio, un campo ID cliente nella tabella Clienti può comparire anche nella tabella Ordini. Nella tabella Clienti, è la chiave primaria. Nella tabella Ordini è una chiave esterna. Una chiave esterna è semplicemente la chiave primaria di un’altra tabella. Per altre informazioni, vedere Dati principali della progettazione database.
1. Chiave primaria
2. Chiave esterna
Se si spostano dati esistenti in un database, è possibile che si disponga già di un campo che è possibile usare come chiave primaria. Nelle tabelle viene spesso utilizzato come chiave primaria un numero di identificazione univoco, ad esempio un numero ID, un numero di serie oppure un codice. In una tabella Clienti ad esempio a ogni cliente può essere associato un numero ID univoco. Il campo ID cliente corrisponde alla chiave primaria.
Access crea automaticamente un indice per la chiave primaria, per velocizzare le query e altre operazioni. Access inoltre assicura che ogni record abbia un valore nel campo chiave primaria e che sia sempre univoco.
Quando si crea una nuova tabella in visualizzazione Foglio dati, Access crea automaticamente una chiave primaria e le assegna il nome del campo "ID" e il tipo di dati Numerazione automatica.
Informazioni sui valori più adatti come chiave primaria
I tipi di valori più adatti a costituire la chiave primaria sono contraddistinti da diverse caratteristiche:
-
Identifica in modo univoco ogni riga.
-
Non è mai vuoto o Null. Contiene sempre un valore.
-
I valori che contiene sono raramente (idealmente, mai) modificati.
Se non è possibile identificare una chiave valida, creare un campo Numerazione automatica da usare come chiave. Un campo Numerazione automatica genera automaticamente un valore al primo salvataggio di ogni record. Perciò, un campo Numerazione automatica ha tutte e tre le caratteristiche di una chiave primaria valida. Per altre informazioni sull'aggiunta di un campo Numerazione automatica, vedere Aggiungere un campo Numerazione automatica come chiave primaria.
Un campo Numerazione automatica costituisce una chiave primaria appropriata.
Esempi di valori poco adatti come chiave primaria
Qualsiasi campo che non presenti una o più caratteristiche di un tipo di valore adatto come chiave primaria è un tipo di valore poco adatto. Seguono alcuni esempi di campi che non consentono di ottenere chiavi primarie adatte per una tabella Contatti, con una spiegazione dei motivi per cui tali valori sono poco adatti per le chiavi primarie.
|
Chiave primaria non adatta |
Motivo |
|---|---|
|
Nome personale |
Potrebbe non essere univoco in modo affidabile e può cambiare nel tempo |
|
Numero di telefono |
Soggetto a modifica. |
|
Indirizzo di posta elettronica |
Soggetto a modifica. |
|
CAP |
Lo stesso CAP può essere condiviso tra più persone |
|
Combinazioni di fatti e numeri |
La parte relativa ai fatti è soggetta a modifica. Sono inoltre difficili da mantenere e possono creare confusione se tale parte viene ripetuta come un campo separato. La combinazione di città e un numero incrementato, ad esempio NEWYORK0579, è ad esempio un valore poco adatto se la città è memorizzata anche come campo. |
|
Numeri di codice fiscale |
|
Chiavi composte: utilizzo di una combinazione di più campi come chiave primaria
A volte, si vogliono usare due o più campi in una tabella come chiave primaria. Ad esempio, una tabella Dettagli ordine che archivia voci per gli ordini può usare due campi nella propria chiave primaria: ID ordine e ID prodotto. Una chiave con più campi è chiamata chiave composta.
Impostare la chiave primaria usando i campi già presenti in Access
Affinché la chiave primaria funzioni in modo corretto, il campo deve identificare in modo univoco ogni riga, non contenere mai valori vuoti o Null e non essere mai o quasi mai modificato. Per impostare la chiave primaria:
-
Aprire il database che si desidera modificare.
-
Nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla tabella in cui si vuole impostare la chiave primaria e quindi scegliere Visualizzazione Struttura dal menu di scelta rapida.
Suggerimento: Se il riquadro di spostamento non è visibile, premere F11 per visualizzarlo.
-
Selezionare il campo o i campi che si desidera utilizzare come chiave primaria.
Per selezionare un campo, selezionare il selettore di riga per il campo desiderato.
Per selezionare più campi per creare una chiave composta, tenere premuto CTRL e quindi selezionare il selettore di riga per ogni campo.
-
Nel gruppo Strumenti della scheda Struttura tabella selezionare Chiave primaria.
Verrà aggiunto un indicatore di chiave a sinistra del campo o dei campi impostati come chiave primaria.
Rimuovere una chiave primaria in Access
Quando si rimuove la chiave primaria, il campo o i campi precedentemente utilizzati come tale non costituiranno più il mezzo principale di identificazione dei record.
La rimozione della chiave primaria non comporta l'eliminazione dei campi dalla tabella, ma rimuove l'indice creato per la chiave primaria.
-
Prima di poter rimuovere una chiave primaria, è necessario verificare che non faccia parte di alcuna relazione tra tabelle. Se si prova a rimuovere una chiave primaria che fa parte di una o più relazioni, Access avvisa che è necessario eliminare prima le relazioni.Per eliminare una relazione tra tabelle, completare questa procedura:
-
Se le tabelle in relazione tra loro sono aperte, chiuderle. Non è possibile eliminare una relazione tra tabelle aperte.
-
Nel gruppo Relazioni della scheda Strumenti database selezionare Relazioni.
-
Selezionare Aggiungi tabelle.
-
Selezionare la linea di relazione tra tabelle per la relazione da eliminare (la linea diventa in grassetto quando è selezionata) e quindi premere CANC.
-
Nel gruppo Relazioni della scheda Struttura relazioni fare clic su Chiudi.
-
-
Dopo aver eliminato le relazioni, nel riquadro di spostamento fare clic con il pulsante destro del mouse sulla tabella da cui si vuole rimuovere la chiave primaria e quindi scegliere Visualizzazione Struttura.
Suggerimento: Se il riquadro di spostamento non è visibile, premere F11 per visualizzarlo.
-
Selezionare il selettore di riga per la chiave primaria corrente.
Se la chiave primaria è costituita da un singolo campo, selezionare il selettore di riga per tale campo.
Se la chiave primaria è costituita da più campi, selezionare il selettore di riga per qualsiasi campo della chiave primaria.
-
Nel gruppo Strumenti della scheda Struttura tabella selezionare Chiave primaria.
L'indicatore di chiave verrà rimosso dal campo o dai campi precedentemente impostati come chiave primaria.
Nota: Quando si salva una nuova tabella senza impostare una chiave primaria, Access chiede di crearne una. Se si sceglie Sì, Access crea un campo ID che usa il tipo di dati Numerazione automatica per fornire un valore univoco per ogni record. Se la tabella include già un campo Numerazione automatica, Access lo usa come chiave primaria.
Modificare la chiave primaria in Access
Se si decide di modificare la chiave primaria di una tabella, è possibile eseguire questa procedura:
-
Rimuovere la chiave primaria usando le istruzioni incluse nella sezione Rimuovere la chiave primaria.
-
Impostare la chiave primaria usando le istruzioni incluse nella sezione Impostare la chiave primaria.
Informazioni aggiuntive
Per altre informazioni sulla progettazione dei database e la scelta della chiave primaria appropriata, vedere gli articoli: