5.2.2 definire le chiavi
5.2.2.1 Definire una chiave primaria
La potenza di un sistema di database
relazionali come Microsoft Access deriva dalla capacità di trovare velocemente
e unire le informazioni memorizzate in tabelle diverse utilizzando query, maschere
e report. A questo scopo è necessario che ogni tabella includa un campo o un
set di campi che identifichi in modo univoco ogni record memorizzato nella
tabella. Queste informazioni vengono definite chiave primaria della tabella.
Dopo aver stabilito la chiave primaria per una tabella, per assicurare
l'univocità verrà impedito l'inserimento di valori duplicati o Null nei campi
chiave primaria.
In Microsoft Access è possibile definire tre
tipi di chiavi primarie: Contatore, a campo singolo e multicampo.
Immaginiamo allora di avere creato la
seguente semplice tabella e di volerla salvare
il programma ci avverte che non è stata
definita alcuna chiave primaria. Come leggiamo dal messaggio, non è
indispensabile definire una chiave primaria in una tabella , ma essa diventa
indispensabile se vogliamo collegare la tabella che stiamo costruendo ad altre.
Il programma chiede se deve definire per noi, automaticamente una chiave
primaria. Clicchiamo sul pulsante Si
notiamo, analizzando la struttura della
tabella, che Access ha introdotto un nuovo campo nella tabella , denominato ID
e di tipo contatore. Osserviamo che questo campo è indicizzato e i duplicati
non sono ammessi, come conviene ad una chiave primaria. Altra opzione
interessante è quella dei Nuovi valori , essa indica in che modo verrà
aggiornato il valore di questo campo. Essendo un campo contatore, infatti, esso
non viene modificato dall’utente ma si modifica automaticamente ogni volta che
cominciamo a riempire di dati un nuovo record. Se è impostata l’opzione Nuovo
valore a incremento, il campo contatore si incrementa progressivamente
Se impostiamo la condizione Nuovi valori - Casuale il programma inserirà un valore
numerico casuale nel campo, facendo comunque in modo che tale valore sia unico
per quel record
Per inserire manualmente un campo chiave
primaria in una tabella si procede nella maniera seguente,
per impostare tale campo come chiave
primaria, occorre selezionarlo cliccando sulla linguetta che si trova alla sua
sinistra e cliccare sul pulsante Chiave primaria
Il comando Chiave primaria i può attivare
anche dal menu a comparsa che appare selezionando il campo e cliccando sul
tasto destro del mouse
L’ultima alternativa è quella di accedere al
menu Modifica
Non è detto che un campo chiave debba essere
necessariamente di tipo contatore. Consideriamo, ad esempio, la seguente
tabella
Notiamo, prima di iniziare, che abbiamo
almeno due record in cui il campo Nome presenta lo stesso contenuto. Proviamo
ugualmente a fare di questo campo una chiave primaria
il programma genererà un messaggio di errore
indicando che i dati già contenuti nella tabella violano la regola di
univocità.
Supponiamo, però, di essere sicuri che non vi
potranno essere due record che abbiano contemporaneamente lo stesso nome e
cognome. Possiamo allora creare una chiave multicampo, costituita, cioè, dalla
combinazione dei due campi Nome e Cognome. Per creare una chiave multicampo,
tenendo premuto il tasto CTRL e cliccando con il mouse, selezioniamo i campi
Nome e Cognome, cliccando poi sul pulsante Chiave
Possiamo creare chiavi multicampo di
complessità qualsiasi