Che cos'è una chiave candidata?
In termini di sistemi di gestione di database relazionali, una chiave candidata è un attributo utilizzato per identificare in modo univoco una voce di riga del database all'interno di una tabella. Un sistema di gestione di database relazionali è un tipo di database ampiamente utilizzato per creare raccolte di informazioni organizzate in base alla fornitura di relazioni tra diversi elementi all'interno della tabella del database. Una chiave è uno strumento che consente di identificare le entità. Ogni tabella può avere una o più chiavi candidate e una di queste chiavi è impostata come chiave primaria. La chiave primaria è una colonna che definisce tutte le righe.
Una chiave candidata è un sottoinsieme di qualcosa chiamato superkey; una superkey è un tipo di identificatore che identifica un'entità in una tabella del database. Una superchiave sarebbe una colonna etichettata come VEND_CODE, che indicherebbe un codice fornitore specifico per una tabella del database aziendale. Il numero minimo di colonne necessario per rendere unica ogni riga è la parte del superkey che può essere considerata come chiave candidata. In questo caso, se ogni VEND_CODE è univoco, potrebbe essere la chiave candidata.
Oltre ad essere una chiave candidata, il campo dei codici fornitore potrebbe anche funzionare come chiave primaria. Le chiavi candidate funzionano in combinazione con superkey e chiavi primarie, assicurandosi che un database non contenga righe ridondanti, ovvero che ogni riga contenga un elemento che lo rende unico. Nella scelta della chiave candidata, è importante che il creatore del database scelga qualcosa di unico per quella tabella. Come nell'esempio precedente di un database aziendale, è possibile utilizzare un nome commerciale come chiave candidata. Se più aziende, forse situate in paesi diversi, avessero lo stesso nome, tuttavia, quell'identificatore non sarebbe univoco e non potrebbe essere utilizzato come chiave candidata.
Ecco perché la scelta di una chiave candidata univoca è molto importante. Le aziende possono condividere lo stesso nome; le persone hanno spesso nomi e cognomi uguali o simili. Avendo la chiave candidata univoca e rendendo una di quelle una chiave primaria, è più facile trovare un determinato fornitore o persona con una chiave univoca. Quando ogni voce nella tabella ha una chiave che la rende unica, è possibile distinguere tra voci che contengono informazioni simili.