Innholdsfortegnelse:
Definisjon - Hva betyr Composite Key?
En sammensatt nøkkel, i sammenheng med relasjonsdatabaser, er en kombinasjon av to eller flere kolonner i en tabell som kan brukes til å identifisere hver rad i tabellen på en unik måte. Unikhet er bare garantert når kolonnene er kombinert; Når kolonnene tas enkeltvis, garanterer de ikke unikhet.
Techopedia forklarer Composite Key
Enhver kolonne (er) som kan garantere unikhet kalles en kandidatnøkkel; en sammensatt nøkkel er imidlertid en spesiell type kandidatnøkkel som bare dannes av en kombinasjon av to eller flere kolonner. Noen ganger er kandidatnøkkelen bare en enkelt kolonne, og noen ganger dannes den ved å bli med i flere kolonner.
Tenk på et eksempel på en viss tabell i databasen til en forretningsbank. Denne tabellen brukes til å lagre poster over enkeltpersoners bankkontoer. Forutsatt at tabellen har separate kolonner for kontotypen (C for å sjekke, S for sparing og så videre), etterfulgt av en annen kolonne for året og måneden for kontoopprettelsen, og en annen kolonne for et sekvensielt nummer innen den måneden, er åpenbart at en av disse kolonnene i seg selv ikke kan identifisere en konto - man kan utlede at det ville være flere C-er i “Kontotype” -kolonnen, det ville være flere oppføringer for mai 2008 i “Dato for opprettelse”, og så videre. Imidlertid, hvis alle tre kolonnene er kombinert, produseres en unik post for hver konto. Et hypotetisk kontonummer i dette eksemplet vil være "C 200807 001" for den første kontoen som ble opprettet i juli 2008, som er en brukskonto. En annen er "S 201003 004" for den fjerde sparekontoen som ble opprettet i mars 2010. Dette er en sammensatt nøkkel, det vil si en kandidatnøkkel som bare garanterer unikhet når to eller flere kolonner er koblet sammen.
En sammensatt nøkkel kan defineres som den primære nøkkelen. Dette gjøres ved å bruke SQL-setninger på tidspunktet for oppretting av tabeller. Det betyr at data i hele tabellen er definert og indeksert på settet med kolonner som er definert som den primære nøkkelen.