Hva er en sammensatt nøkkel?
I organisasjonsteknologi for databaser er en "nøkkel" et bestemt attributt i en tabell som brukes til å identifisere en spesifikk enhet. En sammensatt nøkkel bruker to eller flere attributter for å oppnå samme mål; bare når de blir funnet i tandem, betyr disse elementene en "match" med målpunktet. Sammensatte nøkler brukes vanligvis til tabeller hvis informasjonsstruktur er for komplisert til å fungere ved å bruke en enkelt nøkkel. Et annet krav med sammensatte nøkler er at ingen av de individuelle valgte attributtene for en sammensatt nøkkel kan kvaliteten som en enkel, enkeltattributtnøkkel på egen hånd.
Et av de mest grunnleggende eksemplene på en databasetabell som krever en sammensatt nøkkel, er en ansatt- eller studentkatalog. Se for deg at tabellen inneholder en liste for "Fornavn" og en annen liste for "Etternavn." I seg selv vil verken fornavn eller etternavn til en bestemt student eller ansatt være nok til å garantere en unik identifikasjon, ettersom det er mulig at to eller flere personer i databasen kan ha samsvarende for- eller etternavn. Når du er sammenkoblet med en sammensatt nøkkel - ved å bruke både "Fornavn" og "Etternavn" for å identifisere en bestemt student eller ansatt, øker sannsynligheten for at hver kombinasjon som etternavn er unik betydelig. Dermed er bare en sammensatt nøkkel med for- og etternavn tilstrekkelig til å identifisere en bestemt student eller ansatt på en unik måte.
Husk at sammensatte nøkler bare skal brukes hvis en enkelt attributt "enkel" nøkkel er utilstrekkelig. Fortsetter det forrige eksempel, hvis hver student eller ansatt også hadde et unikt identifikasjonsnummer, ville det gjøre behovet for sammensatte nøkler helt overflødig. Hvis en bestemt student eller ansatt kunne identifiseres med deres nummer alene, ville det ikke være behov for å bry seg med verken for- eller etternavn; det eneste attributtet som betyr noe er identifikasjonsnummeret.
Selv om hver enkelt attributt i en sammensatt nøkkel ikke er unik på egen hånd, kan ethvert attributt likevel velges som en fremmed nøkkel. En fremmed nøkkel knytter sammen to eller flere tabeller i en database. Vurder for eksempel en universitetsdatabase der det er en egen tabell for studentinformasjon og lærerinformasjon, og kombinasjonen av "Fornavn" pluss "Etternavn" brukes som en sammensatt nøkkel i studenttabellen. Den samme sammensatte tastekombinasjonen av "Fornavn" pluss "Etternavn" kan derfor brukes til å koble sammen student- og lærertabellene, og gir en inngangsport mellom de to.