Un campo chiave è una colonna o una combinazione di colonne in un database che identifica in modo univoco la voce specifica in questione. Questi campi vengono utilizzati per identificare e applicare l’integrità su più tabelle in un database. Questi campi sono di due tipi generali: chiavi semplici e composte, a seconda del numero di colonne contrassegnate come campo chiave. Quando utilizzato nella sua tabella originale, questo campo è noto come chiave “primaria”; quando viene utilizzato in un’altra tabella come metodo per collegare le tabelle insieme, è noto come chiave “estranea”.
Per essere utile come campo chiave, un candidato chiave deve essere unico, inalterabile e obbligatorio. L’unicità è semplice da capire; significa che nessun’altra voce nel database può avere un valore di chiave corrispondente a qualsiasi altra voce. Inalterabile significa che l’informazione nel valore della chiave è fissa e immutabile, che non cambierà mai nel tempo. Obbligatorio significa che per nessuna voce nel database il valore della chiave può essere lasciato vuoto. Ad esempio, una categoria facoltativa come razza o nazionalità non può essere utilizzata come campo chiave in un database dei dipendenti perché alcuni dipendenti potrebbero non essere disposti a fornire queste informazioni.
La scelta di campi chiave appropriati consente al database di mantenere la propria integrità pur rimanendo coerente tra le tabelle. Ad esempio, se un database elenca i record dei dipendenti, una voce tipica potrebbe contenere il nome, il cognome, la data di nascita e la previdenza sociale o il numero ID del dipendente. La scelta più ovvia per un campo chiave è la previdenza sociale o il numero ID del dipendente; entrambi questi soddisferebbero i requisiti di unico, inalterabile e richiesto. Quando si tenta di cercare un record di un dipendente specifico nel database, l’inserimento del numero non restituisce immediatamente più di un record di un singolo dipendente. Se si utilizza il cognome del dipendente come campo chiave, è possibile che vengano trovati più record di dipendenti, poiché più di un dipendente può condividere un cognome.
Un modo per ridurre le possibilità di scegliere accidentalmente un campo chiave che ha la possibilità di restituire più record consiste nell’utilizzare una chiave composta. A differenza di una chiave semplice, che utilizza una sola colonna, una chiave composta utilizza una combinazione di più colonne per rappresentare i campi chiave. Ad esempio, l’utilizzo come chiave di una combinazione di nome, cognome e data di nascita di un dipendente ridurrebbe drasticamente, ma non eliminerebbe del tutto, le possibilità di violazione del requisito di unicità. Ciò fornisce una soluzione quando una buona chiave semplice non è prontamente disponibile.