Nøkkel (database)

Fra Wikipedia, den frie encyklopedi
Gå til: navigasjon, søk

En nøkkel i en database er attributter/data som kan peke til eller fastsette andre data. Nøkkelbegrepet brukes i hovedsak i sammenheng med relasjonsdatabaser. I tillegg til at nøkler tjener som referanser, er de viktige integritetsregler, dvs. regler som begrenser hvilke tilstander som er lovlige i databasen. Nøklene stiller krav til verdiene i databasen, som databasehåndteringssystemet må kontrollere at er oppfylt ved hver endring.

Supernøkkel[rediger | rediger kilde]

En supernøkkel er en eller flere data som entydig definerer en rad (eller et tuppel) i en tabell. Det innebærer at to ulike objekter ikke kan ha like verdier i en supernøkkel.

Kandidatnøkkel[rediger | rediger kilde]

En kandidatnøkkel er en minimal supernøkkel. Det vil si at hvis man fjerner noen attributter fra nøkkelen, er den ikke lenger en supernøkkel. Kandidatnøkler er sikre identifikatorer for en rad, og kan brukes som primærnøkler og som referanser for fremmednøkler.

Primærnøkkel[rediger | rediger kilde]

En primærnøkkel er en spesielt utvalgt kandidatnøkkel. Alle relasjoner i en database skal ha en og bare en primærnøkkel. Primærnøkkelen er den foretrukne metoden for å identifisere en rad i en tabell i en relasjonsdatabase.

For eksempel kan man ha en oversikt/tabell over bøker med en kolonne for ISBN-nummer. Alle bøker har én ISBN, og ingen bøker har samme ISBN. Dette er en kandidatnøkkel, og vil være en god primærnøkkel siden ISBN-nummeret er et svært stabilt attributt.

I objektdatabaser har hvert objekt en unik ID som er generert av systemet og som ikke er synlig for brukere av systemet. Denne erstatter primærnøkkelen.

Nøkkelattributt[rediger | rediger kilde]

Et nøkkelattributt er et attributt som er med i (minst) én kandidatnøkkel.

Fremmednøkkel[rediger | rediger kilde]

En fremmednøkkel er en henvisning til andre data i en database. I en relasjonsdatabase peker fremmednøkkelen til en kandidatnøkkel. Vanligvis vil dette være en primærnøkkel i en annen tabell, men det er også tillatt at fremmednøkler peker til oppføringer i samme tabell som de forekommer i.

Et eksempel på bruk av fremmednøkkel er at man har to tabeller, hvor den ene inneholder informasjon om ulike forfattere og den andre er en liste over bøker. I boktabellen er det et felt som henviser til forfattertabellen. Dette er en fremmednøkkel. Det er en én-til-mange-relasjon mellom tabellene: Hver bok har bare én forfatter, men en forfatter kan ha skrevet flere bøker.