Hvad er en sammensat nøgle?
I databasens organisationsteknologi er en "nøgle" en bestemt attribut i en tabel, der bruges til entydigt at identificere en bestemt enhed. En sammensat nøgle bruger to eller flere attributter til at nå det samme mål; kun når de findes i tandem, betyder disse elementer en "match" med målelementet. Sammensatte nøgler bruges normalt til tabeller, hvis informationsstruktur er for kompliceret til at arbejde ved hjælp af en enkelt nøgle. Et andet krav til sammensatte nøgler er, at ingen af de individuelle valgte attributter for en sammensat nøgle kan kvaliteten som en simpel enkeltattributnøgle på egen hånd.
Et af de mest basale eksempler på en databasetabel, der kræver en sammensat nøgle, er en medarbejder- eller studentkatalog. Forestil dig, at tabellen indeholder en liste for "Fornavn" og en anden liste for "Sidste navne." I sig selv ville hverken fornavne eller efternavne på en bestemt studerende eller medarbejder være nok til at garantere en unik identifikation, da det er muligt, at to eller flere personer i databasen kunne have matchende for- eller efternavne. Når de er parret i en sammensat nøgle - ved brug af både "Fornavn" og "Efternavn" til at identificere en bestemt studerende eller medarbejder, stiger sandsynligheden for, at hver kombination af for- og efternavn er unik. Således er det kun en sammensat nøgle med for- og efternavn, der er tilstrækkelig til unikt at identificere en bestemt studerende eller medarbejder.
Husk, at sammensatte nøgler kun skal bruges, hvis en "simpel" nøgle med én attribut er utilstrækkelig. Fortsætter det forrige eksempel, hvis hver studerende eller medarbejder også havde et unikt identifikationsnummer, ville det gøre behovet for sammensatte nøgler helt overflødigt. Hvis en bestemt studerende eller medarbejder kunne identificeres ved hjælp af deres nummer alene, ville der ikke være behov for at bryde sig med hverken deres for- eller efternavn; den eneste egenskab, der betyder noget, er identifikationsnummeret.
Selvom hver enkelt attribut i en sammensat nøgle ikke er unik i sig selv, kan enhver attribut ikke desto mindre vælges som en fremmed nøgle. En fremmed nøgle forbinder to eller flere tabeller i en database. Overvej for eksempel en universitetsdatabase, hvor der er en separat tabel for studerendes information og lærerinformation, og kombinationen af "Fornavn" plus "Efternavn" bruges som en sammensat nøgle i studenttabellen. Den samme sammensatte nøglekombination af "Fornavn" plus "Efternavn" kan derfor bruges til at forbinde elev- og lærerbordene, hvilket giver en gateway mellem de to.