Wat is een sleutelveld?
Een sleutelveld is een kolom of een combinatie van kolommen in een database die de specifieke invoer op unieke wijze identificeert. Deze velden worden gebruikt om integriteit in meerdere tabellen in een database te identificeren en af te dwingen. Belangrijkste velden zijn er in twee algemene smaken: eenvoudige en samengestelde toetsen, afhankelijk van het aantal kolommen gemarkeerd als het sleutelveld. Wanneer het in zijn oorspronkelijke tabel wordt gebruikt, staat het sleutelveld bekend als een "primaire" sleutel; Wanneer het in een andere tabel wordt gebruikt als een methode om de tabellen aan elkaar te koppelen, staat het bekend als een "vreemde" sleutel.
Om nuttig te zijn als sleutelveld, moet een belangrijke kandidaat uniek, onveranderlijk en vereist zijn. Uniciteit is eenvoudig te begrijpen; Het betekent dat geen enkele andere invoer in de database een bijpassende sleutelwaarde kan hebben als andere invoer. Onveranderlijk betekent dat de informatie in de belangrijkste waarde vast en onveranderlijk is, dat deze nooit in de loop van de tijd zal veranderen. Vereist betekent dat voor geen invoer in de database de belangrijkste waarde leeg kan worden gelaten. Bijvoorbeeld een optionele categorie zoals RACE of nationaliteit kan niet worden gebruikt als een belangrijk veld in een werknemersdatabase omdat sommige werknemers mogelijk niet bereid zijn om deze informatie te verstrekken.
Door de juiste sleutelvelden te kiezen, kan de database zijn integriteit behouden en tegelijkertijd coherent tussen tabellen blijft. Als een database bijvoorbeeld de records van werknemers weergeeft, kan een typische invoer de voornaam, achternaam, geboortedatum en sociale zekerheid of werknemers -ID -nummer van een werknemer bevatten. De voor de hand liggende keuze voor een sleutelveld is het nummer van de sociale zekerheid of het werknemers -ID -nummer; Beide zouden voldoen aan de vereisten van uniek, onveranderlijk en vereist. Wanneer u probeert te zoeken naar het record van een specifieke werknemer in de database, zou het invoeren van het nummer onmiddellijk niet meer retourneren dan een enkel werknemersrecord. Als de achternaam van de werknemer als het sleutelveld wordt gebruikt, is het mogelijk dat meerdere werknemersrecords zouden worden gevonden, zoals meer dan ONE -medewerker kan een achternaam delen.
Een manier om de kansen te verminderen om per ongeluk een sleutelveld te kiezen dat de mogelijkheid heeft 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. Bijvoorbeeld, als een sleutel een combinatie van de voornaam, achternaam en geboortedatum van een werknemer zou bijvoorbeeld de kansen om de uniekheidseis drastisch te schenden, maar niet volledig elimineren. Dit biedt een oplossing wanneer een goede eenvoudige sleutel niet direct beschikbaar is.