Fremmed nøgle

Forfatter: John Stephens
Oprettelsesdato: 24 Januar 2021
Opdateringsdato: 1 Juli 2024
Anonim
Fremmed nøgle - Teknologi
Fremmed nøgle - Teknologi

Indhold

Definition - Hvad betyder Foreign Key?

En fremmed nøgle er en kolonne eller gruppe af kolonner i en relationel databasetabel, der giver en forbindelse mellem data i to tabeller. Det fungerer som en krydshenvisning mellem tabeller, fordi den refererer til den primære nøgle i en anden tabel, hvorved der oprettes en forbindelse mellem dem.


De fleste tabeller i et relationsdatabasesystem overholder det udenlandske nøglekoncept. I komplekse databaser og datalager skal data i et domæne tilføjes på tværs af flere tabeller, således at der opretholdes et forhold mellem dem. Begrebet referencemæssig integritet stammer fra fremmed nøgleteori.

Udenlandske nøgler og deres implementering er mere komplekse end primære nøgler.

En introduktion til Microsoft Azure og Microsoft Cloud | Gennem denne vejledning lærer du, hvad cloud computing handler om, og hvordan Microsoft Azure kan hjælpe dig med at migrere og drive din virksomhed fra skyen.

Techopedia forklarer Foreign Key

For enhver kolonne, der fungerer som en fremmed nøgle, skal der findes en tilsvarende værdi i linketabellen. Der skal udvises særlig omhu, når du indsætter data og fjerner data fra den udenlandske nøglekolonne, da en uforsigtig sletning eller indsættelse kan ødelægge forholdet mellem de to tabeller.


Hvis der for eksempel er to tabeller, kunde og ordre, kan der oprettes et forhold mellem dem ved at indføre en fremmed nøgle i ordretabellen, der henviser til kunde-ID i kundetabellen. Kunde-ID-kolonnen findes i både kunde- og ordretabeller. Kunde-ID i ordretabellen bliver den udenlandske nøgle, der henviser til den primære nøgle i kundetabellen. For at indsætte en post i ordretabellen skal den udenlandske nøglebegrænsning være opfyldt. Et forsøg på at indtaste et kunde-id, der ikke er til stede i kundetabellen, mislykkes, hvilket bevarer tabellens referencemæssige integritet.

Nogle referenceaktioner, der er forbundet med en fremmed nøgleaktion, inkluderer følgende:

  • Kaskade: Når rækker i overordnede tabel slettes, slettes de matchende fremmede nøglekolonner i underordnede tabel, hvilket opretter en kaskaderende sletning.
  • Indstil null: Når en henvist række i den overordnede tabel er slettet eller opdateret, indstilles de fremmede nøgleværdier i den refererende række til null for at bevare referencens integritet.
  • Triggers: Henvisningshandlinger implementeres normalt som triggere. På mange måder ligner udenlandske nøgleaktioner de brugerdefinerede triggere. For at sikre korrekt udførelse erstattes bestilte referenceaktioner undertiden med deres ækvivalente brugerdefinerede triggere.
  • Sæt standard: Denne referenceaktion svarer til "angiv nul." De udenlandske nøgleværdier i underordnet tabel er indstillet til standardkolonneværdien, når den henvisede række i overordnede tabel er slettet eller opdateret.
  • Begrænsning: Dette er den normale referenceaktion, der er forbundet med en fremmed nøgle. En værdi i den overordnede tabel kan ikke slettes eller opdateres, så længe den omtales med en fremmed nøgle i en anden tabel.
  • Ingen handling: Denne referenceaktion svarer til funktion i funktionen "begræns" bortset fra, at der ikke udføres en kontrol uden handling, når du har prøvet at ændre tabellen.