Inhoudsopgave:
Definitie - Wat betekent Composite Key?
Een samengestelde sleutel, in de context van relationele databases, is een combinatie van twee of meer kolommen in een tabel die kan worden gebruikt om elke rij in de tabel uniek te identificeren. Uniciteit is alleen gegarandeerd als de kolommen worden gecombineerd; afzonderlijk genomen garanderen de kolommen geen uniekheid.
Techopedia legt Composite Key uit
Elke kolom (men) die uniekheid kan garanderen, wordt een kandidaatssleutel genoemd; een samengestelde sleutel is echter een speciaal type kandidaatsleutel die alleen wordt gevormd door een combinatie van twee of meer kolommen. Soms is de kandidaatsleutel slechts een enkele kolom en soms wordt deze gevormd door meerdere kolommen samen te voegen.
Overweeg een voorbeeld van een bepaalde tabel in de database van een handelsbank. Deze tabel wordt gebruikt om records van de bankrekeningen van individuen op te slaan. Ervan uitgaande dat de tabel afzonderlijke kolommen heeft voor het accounttype (C voor controle, S voor besparingen enzovoort), gevolgd door een andere kolom voor het jaar en de maand van het maken van de account en een andere kolom voor een volgnummer binnen die maand, ligt voor de hand dat een van deze kolommen op zichzelf geen account kan identificeren - men kan afleiden dat er verschillende C's in de kolom "Accounttype" zouden staan, er voor mei 2008 verschillende vermeldingen in de kolom "Aanmaakdatum" zouden zijn, en spoedig. Als echter alle drie kolommen worden gecombineerd, wordt er voor elke account een uniek record gemaakt. Een hypothetisch rekeningnummer in dit voorbeeld is "C 200807 001" voor de eerste rekening die in juli 2008 is aangemaakt, wat een bankrekening is. Een andere is "S 201003 004" voor de vierde spaarrekening die in maart 2010 is gemaakt. Dit is een samengestelde sleutel, dat wil zeggen een kandidaatsleutel die alleen uniek is wanneer twee of meer kolommen worden samengevoegd.
Een samengestelde sleutel kan worden gedefinieerd als de primaire sleutel. Dit wordt gedaan met behulp van SQL-instructies bij het maken van de tabel. Het betekent dat gegevens in de hele tabel worden gedefinieerd en geïndexeerd op de set kolommen die zijn gedefinieerd als de primaire sleutel.