Wat is een kandidaatssleutel?
In termen van relationele databasebeheersystemen is een kandidaatssleutel een kenmerk dat wordt gebruikt om op unieke wijze een database-rijitem binnen een tabel te identificeren. Een relationeel databasebeheersysteem is een type database dat veel wordt gebruikt om verzamelingen informatie te maken die zijn georganiseerd op basis van relaties tussen verschillende elementen in de databasetabel. Een sleutel is een hulpmiddel waarmee entiteiten kunnen worden geïdentificeerd. Elke tabel kan een of meer kandidaatsleutels hebben en een van deze sleutels is ingesteld als primaire sleutel. De primaire sleutel is een kolom die alle rijen definieert.
Een kandidaatssleutel is een subset van iets dat een superkey wordt genoemd; een superkey is een type identificatie dat een entiteit in een databasetabel identificeert. Een superkey zou een kolom zijn met iets als VEND_CODE, wat een specifieke leverancierscode voor een zakelijke databasetabel zou betekenen. Het minimum aantal kolommen dat nodig is om elke rij uniek te maken, is het deel van de superkey dat kan tellen als een kandidaatssleutel. In dit geval, als elke VEND_CODE uniek is, kan dit de kandidaatsleutel zijn.
Naast het feit dat het een kandidaatsleutel is, kan het veld van leverancierscodes ook werken als een primaire sleutel. Kandidaatsleutels werken in combinatie met superkeys en primaire sleutels en zorgen ervoor dat een database geen rijen bevat die overbodig zijn, dat wil zeggen dat elke rij een element bevat dat hem uniek maakt. Bij het kiezen van de kandidaatssleutel is het belangrijk dat de maker van de database iets kiest dat uniek is voor die tabel. Net als bij het bovenstaande voorbeeld van een bedrijfsdatabase, zou men een bedrijfsnaam als kandidaatsleutel kunnen gebruiken. Als meerdere bedrijven, misschien in verschillende landen, dezelfde naam hebben, zou die identificatie echter niet uniek zijn en niet als kandidaatssleutel kunnen worden gebruikt.
Daarom is het kiezen van een unieke kandidaatsleutel erg belangrijk. Bedrijven kunnen dezelfde naam delen; mensen hebben vaak voor- en achternaam die ook hetzelfde of vergelijkbaar zijn. Door de unieke kandidaatsleutel te hebben en er een primaire sleutel van te maken, is het gemakkelijker om een bepaalde verkoper of persoon te vinden met een unieke sleutel. Wanneer elk item in de tabel een sleutel heeft die het uniek maakt, is het mogelijk onderscheid te maken tussen items die vergelijkbare informatie bevatten.