Sommario:
Definizione - Cosa significa Candidate Key?
Una chiave candidata è una colonna, o un insieme di colonne, in una tabella che può identificare in modo univoco qualsiasi record del database senza fare riferimento ad altri dati. Ogni tabella può avere una o più chiavi candidate, ma una chiave candidata è univoca e viene chiamata chiave primaria. Questo è di solito il migliore tra le chiavi candidate da utilizzare per l'identificazione.
Quando una chiave è composta da più di una colonna, è nota come chiave composita.
Techopedia spiega Candidate Key
Il modo migliore per definire le chiavi candidate è con un esempio: è stato progettato il database di una banca. Per definire in modo univoco l'account di ciascun cliente, è possibile utilizzare una combinazione della data di nascita del cliente e un numero progressivo per ciascuno dei suoi account. Quindi, il conto corrente di Mr. Andrew Smith può essere numerato 120344-1 e il suo conto di risparmio 120344-2. È stata appena creata una chiave candidata.
Questo può sollevare problemi. Cosa succede se più di una persona con la stessa data di nascita desidera aprire un conto presso la banca?
A causa di tali potenziali insidie, un'opzione usata frequentemente è quella di creare una chiave candidata univoca. In questo caso, il database della banca può emettere numeri di conto univoci che sono garantiti per prevenire il problema appena evidenziato. Per una buona misura, questi numeri di conto possono avere una logica incorporata. Ad esempio, i conti correnti possono iniziare con una "C", seguita dall'anno e dal mese di creazione e, entro quel mese, da un numero progressivo. Quindi il conto corrente di Andrew Smith può ora essere C-200805-22. Anche senza fare riferimento altrove, un cassiere può identificare che questo era il 22 ° conto corrente creato nel maggio 2008. I conti di risparmio seguono la stessa logica, ma con una "S" invece di "C."
Si noti che è possibile identificare in modo univoco ciascun account utilizzando le date di nascita sopra menzionate e un numero progressivo, quindi questa è una chiave candidata che può potenzialmente essere utilizzata per identificare i record. Tuttavia, è stato appena dimostrato un modo molto migliore di fare la stessa cosa: creare una chiave candidata. Infatti, se la chiave candidata scelta è così buona da poter certamente identificare in modo univoco ogni singolo record, allora dovrebbe essere usata come chiave primaria. Tutti i database consentono la definizione di una e una sola chiave primaria per tabella.
