Hem databaser Vad är en utländsk nyckel? - definition från techopedia

Vad är en utländsk nyckel? - definition från techopedia

Innehållsförteckning:

Anonim

Definition - Vad betyder Foreign Key?

En utländsk nyckel är en kolumn eller grupp av kolumner i en relationsdatabasstabell som ger en länk mellan data i två tabeller. Den fungerar som en korsreferens mellan tabeller eftersom den refererar till den primära nyckeln i en annan tabell och därigenom upprättar en länk mellan dem.

Majoriteten av tabellerna i ett relationsdatabassystem följer det utländska nyckelbegreppet. I komplexa databaser och datalager måste data i en domän läggas till i flera tabeller, så att en relation mellan dem upprätthålls. Begreppet referensintegritet härstammar från utländsk nyckelteori.

Främmande nycklar och deras implementering är mer komplexa än primära nycklar.

Techopedia förklarar Foreign Key

För alla kolumner som fungerar som en utländsk nyckel bör motsvarande värde finnas i länkstabellen. Var särskilt försiktig när du sätter in data och tar bort data från den främmande nyckelkolumnen, eftersom en slarvig borttagning eller infogning kan förstöra förhållandet mellan de två tabellerna.

Om det till exempel finns två tabeller, kund och beställning, kan en relation skapas mellan dem genom att införa en utländsk nyckel i ordertabellen som hänvisar till kund-ID i kundtabellen. Kund-ID-kolumnen finns i både kund- och ordertabeller. Kund-ID i ordertabellen blir den utländska nyckeln, med hänvisning till den primära nyckeln i kundtabellen. För att infoga en post i ordertabellen måste den främmande nyckelbegränsningen vara uppfylld. Ett försök att ange ett kund-ID som inte finns i kundtabellen misslyckas, vilket bibehåller tabellens referensintegritet.

Vissa referensåtgärder associerade med en utländsk nyckelåtgärd inkluderar följande:

  • Kaskad: När rader i överordnade tabellen raderas raderas också de matchande utländska nyckelkolumnerna i underordnade tabellen, vilket skapar en kaskaderande radering.
  • Ställ in noll: När en referensrad i överordnade tabellen raderas eller uppdateras, ställs de främmande nyckelvärdena i referensraden till noll för att bibehålla referensintegriteten.
  • Triggers: Referensåtgärder implementeras normalt som triggers. På många sätt liknar utländska nyckelåtgärder som användardefinierade triggers. För att säkerställa korrekt körning ersätts ibland beställda referensåtgärder med motsvarande användardefinierade triggers.
  • Ställ in standard: Denna referensåtgärd liknar "set null." De främmande nyckelvärdena i underordnade tabeller är inställda på standardkolumnvärdet när den refererade raden i överordnade tabellen raderas eller uppdateras.
  • Begränsning: Detta är den normala referensåtgärden som är associerad med en utländsk nyckel. Ett värde i överordnade tabeller kan inte raderas eller uppdateras så länge det hänvisas till av en utländsk nyckel i en annan tabell.
  • Ingen åtgärd: Denna referensåtgärd liknar funktionen som "begränsa" -åtgärden förutom att en ingen åtgärdskontroll utförs först efter att du försökt ändra tabellen.
Vad är en utländsk nyckel? - definition från techopedia