Wat is een samengestelde sleutel?
In de database-organisatietechnologie is een "sleutel" een bepaald kenmerk in een tabel die wordt gebruikt om een specifieke entiteit op unieke wijze te identificeren. Een samengestelde sleutel gebruikt twee of meer attributen om hetzelfde doel te bereiken; alleen wanneer deze achter elkaar worden gevonden, betekenen deze items een "overeenkomst" met het doelitem. Samengestelde sleutels worden over het algemeen gebruikt voor tabellen waarvan de informatiestructuur te complex is om te werken met een enkele sleutel. Een andere vereiste van samengestelde sleutels is dat geen van de individueel gekozen attributen voor een samengestelde sleutel kan kwalificeren als een eenvoudige afzonderlijke sleutel met één kenmerk.
Een van de meest eenvoudige voorbeelden van een databasetabel die een samengestelde sleutel vereist, is een werknemers- of studentenmap. Stel je voor dat de tabel één lijst bevat voor "Voornaam" en een andere lijst voor "Achternaam". Op zichzelf zijn noch de voor- of achternamen van een bepaalde student of werknemer voldoende om een unieke identificatie te garanderen, omdat het mogelijk is dat twee of meer personen in de database overeenkomende voor- of achternaam hebben. Wanneer gekoppeld aan een samengestelde sleutel - met behulp van zowel de "Voornaam" en "Achternaam" gegevens om een bepaalde student of werknemer te identificeren - neemt de waarschijnlijkheid van elke combinatie van voornaam en achternaam aanzienlijk toe. Dus alleen een samengestelde sleutel van voor- en achternaam is voldoende om een specifieke student of werknemer op unieke wijze te identificeren.
Onthoud dat samengestelde sleutels alleen moeten worden gebruikt als een "eenvoudige" sleutel met één kenmerk onvoldoende is. Als we verdergaan met het vorige voorbeeld, zou elke student of medewerker ook een uniek identificatienummer hebben, waardoor de behoefte aan samengestelde sleutels volledig overbodig zou zijn. Als een bepaalde student of werknemer alleen door zijn nummer kan worden geïdentificeerd, is het niet nodig om zijn voornaam of achternaam te gebruiken; het enige kenmerk dat ertoe doet is het identificatienummer.
Hoewel elk afzonderlijk kenmerk in een samengestelde sleutel op zichzelf niet uniek is, kan elk kenmerk desondanks als een externe sleutel worden geselecteerd. Een externe sleutel verbindt twee of meer tabellen in een database. Overweeg bijvoorbeeld een universitaire database waarin er een aparte tabel is voor studentinformatie en docentinformatie, en de combinatie van "Voornaam" plus "Achternaam" wordt gebruikt als een samengestelde sleutel in de studententabel. Dezelfde samengestelde sleutelcombinatie van "Voornaam" plus "Achternaam" kan daarom worden gebruikt om de student- en docententabellen aan elkaar te koppelen, waardoor een gateway tussen de twee ontstaat.