Wat is een sleutelveld?
Een sleutelveld is een kolom of een combinatie van kolommen in een database die het specifieke item in kwestie uniek identificeert. Deze velden worden gebruikt om integriteit voor meerdere tabellen in een database te identificeren en af te dwingen. Sleutelvelden zijn er in twee algemene smaken: eenvoudige en samengestelde sleutels, afhankelijk van het aantal kolommen gemarkeerd als het sleutelveld. Bij gebruik in de oorspronkelijke tabel staat het sleutelveld bekend als een "primaire" sleutel; wanneer gebruikt in een andere tabel als een methode om de tabellen aan elkaar te koppelen, staat deze bekend als een "vreemde" sleutel.
Om bruikbaar te zijn als sleutelveld, moet een belangrijke kandidaat uniek, onveranderlijk en vereist zijn. Uniciteit is eenvoudig te begrijpen; het betekent dat geen enkel ander item in de database een overeenkomende sleutelwaarde kan hebben als elk ander item. Onveranderlijk betekent dat de informatie in de sleutelwaarde vast en onveranderlijk is en dat deze in de loop van de tijd nooit zal veranderen. Vereist betekent dat de sleutelwaarde voor geen invoer in de database kan worden leeggelaten. Een optionele categorie zoals ras of nationaliteit kan bijvoorbeeld niet worden gebruikt als een sleutelveld in een werknemersdatabase omdat sommige werknemers niet bereid zijn om deze informatie te verstrekken.
Door de juiste sleutelvelden te kiezen, kan de database zijn integriteit behouden en toch coherent blijven tussen tabellen. Als een database bijvoorbeeld een lijst bevat met werknemersrecords, kan een standaardvermelding de voornaam, achternaam, geboortedatum en sociale zekerheid of het ID van de werknemer bevatten. De voor de hand liggende keuze voor een sleutelveld is het sofinummer of het werknemers-ID; beide zouden voldoen aan de vereisten van uniek, onveranderlijk en vereist. Wanneer u probeert te zoeken naar een specifiek werknemersrecord in de database, zou het invoeren van het nummer onmiddellijk niet meer dan een enkel werknemersrecord opleveren. Als de achternaam van de werknemer als het sleutelveld wordt gebruikt, is het mogelijk dat er meerdere werknemersrecords worden gevonden, omdat meer dan één werknemer een achternaam kan delen.
Een manier om de kans te verkleinen dat u per ongeluk een sleutelveld kiest met de mogelijkheid om meerdere records te retourneren, is door een samengestelde sleutel te gebruiken. In tegenstelling tot een eenvoudige sleutel, die slechts één kolom gebruikt, gebruikt een samengestelde sleutel een combinatie van meerdere kolommen om de sleutelvelden weer te geven. Als u bijvoorbeeld een combinatie van de voornaam, de achternaam en de geboortedatum van een werknemer gebruikt, zou dit de kansen op schending van de uniciteitseis drastisch verminderen - maar niet volledig elimineren. Dit biedt een oplossing wanneer een goede eenvoudige sleutel niet direct beschikbaar is.