Hvad er en kandidatnøgle?
Med hensyn til relationelle databasestyringssystemer er en kandidatnøgle en attribut, der bruges til entydigt at identificere en databaserejse i en tabel. Et relationsdatabasestyringssystem er en type database, der er vidt brugt til at oprette samlinger af information, der er organiseret baseret på at skabe forhold mellem forskellige elementer i databasetabellen. En nøgle er et værktøj, der gør det muligt at identificere enheder. Hver tabel kan have en eller flere kandidatnøgler, og en af disse taster er indstillet som en primær nøgle. Den primære nøgle er en kolonne, der definerer alle rækkerne.
En kandidatnøgle er en undergruppe af noget, der kaldes en superkey; en superkey er en type identifikator, der identificerer en enhed i en databasetabel. En superkey er en kolonne, der er mærket med noget som VEND_CODE, der angiver en bestemt leverandørkode til en forretningsdatabasetabel. Det mindste antal kolonner, der er nødvendige for at gøre hver række unik, er den del af supernøglen, der måske tæller som en kandidatnøgle. I dette tilfælde, hvis hver VEND_CODE er unik, kan det være kandidatnøglen.
Ud over at være en kandidatnøgle kan feltet med leverandørkoder også fungere som en primær nøgle. Kandidatnøgler fungerer sammen med supertaster og primære nøgler og sørger for, at en database ikke har rækker, der er overflødige, det vil sige, at hver række har et element i sig, der gør den unik. Når du vælger kandidatnøglen, er det vigtigt, at databaseskaberen vælger noget, der er unikt for den tabel. Som med ovenstående eksempel på en forretningsdatabase, kunne man bruge et forretningsnavn som en kandidatnøgle. Hvis flere virksomheder, måske lokaliseret i forskellige lande, har samme navn, vil identifikatoren imidlertid ikke være unik og ikke kunne bruges som kandidatnøgle.
Derfor er det meget vigtigt at vælge en unik kandidatnøgle. Virksomheder kan dele det samme navn; folk har ofte for- og efternavne, der også er ens eller lignende. Ved at have den unikke kandidatnøgle og gøre en af disse til en primær nøgle er det lettere at finde en bestemt leverandør eller person ved hjælp af en unik nøgle. Når hver post i tabellen har en nøgle, der gør den unik, er det muligt at skelne mellem poster, der indeholder lignende oplysninger.