Nøkkel (database)

Fra Wikipedia, den frie encyklopedi

(Omdirigert fra Fremmednøkkel)
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, regler som begrenser hvilke tilstander som er lovlige i databasen. Nøklene stiller krav til verdiene i databasen, og databasehåndteringssystemet må kontrollere at alle nøkler er oppfylt hver gang en relevant endring skjer.

Innhold

[rediger] Supernøkkel

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.

[rediger] Kandidatnøkkel

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.

[rediger] Primærnøkkel

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 oversikt/tabell over bøker med en kolonne ISBN. Alle bøker har ett ISBN-nummer, og ingen bøker har like ISBN-nummer. Dette er da en kandidatnøkkel. Dette 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. Dette erstatter primærnøkkelen.

[rediger] Nøkkelattributt

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

[rediger] Fremmednøkkel

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.

Eksempel på bruk av fremmednøkkel: Hvis man har to tabeller, den ene inneholder informasjon om ulike forfattere, den andre er en liste over bøker. I boktabellen er det et felt som henviser til forfattertabellen, dette er en fremmednøkkel. Dette blir en en-til-mange-relasjon. Hver bok har én forfatter, men det kan være mange ulike bøker som har samme forfatter.

Personlige verktøy
Opprett en bok