Primär nyckel vs utländsk nyckel: Vad är skillnaden?

Innan vi lär oss skillnaden mellan primär nyckel och främmande nyckel, låt oss lära oss:

Vad är nycklar?

Nycklar är attribut som hjälper dig att identifiera en rad (tupel) i en relation (tabell). De låter dig hitta sambandet mellan två tabeller. Nycklar hjälper dig att identifiera en rad i en tabell unikt genom en kombination av en eller flera kolumner i tabellen. Databasnyckeln är också användbar för att hitta en unik post eller rad från tabellen.

Vad är databasrelation?

Databasrelationen är kopplingar mellan en eller flera tabeller som skapas med hjälp av kopplingsuttalanden. Den används för att effektivt hämta data från databasen. Det finns främst tre typer av relationer 1) En-till-En, 2) En-till-många, 3) Många-till-många.

Vad är primärnyckel?

En primär nyckelbegränsning är en kolumn eller grupp av kolumner som unikt identifierar varje rad i tabellen i relationsdatabashanteringssystemet. Det kan inte vara en duplikat, vilket innebär att samma värde inte får visas mer än en gång i tabellen.

En tabell kan ha mer än en primär nyckel. Primärnyckel kan definieras på kolumn- eller tabellnivå. Om du skapar en sammansatt primärnyckel bör den definieras på tabellnivå.

Vad är Foreign Key?

Utländsk nyckel är en kolumn som skapar en relation mellan två tabeller. Syftet med den främmande nyckeln är att upprätthålla dataintegritet och tillåta navigering mellan två olika instanser av en enhet. Den fungerar som en korsreferens mellan två tabeller eftersom den refererar till nyckeln till en annan tabell. Varje relation i databasen bör stödjas av en främmande nyckel.

VIKTIGA SKILLNADER:

  • En primär nyckelbegränsning är en kolumn som unikt identifierar varje rad i tabellen i det relationsdatabashanteringssystemet, medan främmande nyckel är en kolumn som skapar en relation mellan två tabeller.
  • Primär nyckel accepterar aldrig nullvärden medan främmande nyckel kan acceptera flera nollvärden.
  • Du kan bara ha en enda primärnyckel i en tabell medan du kan ha flera främmande nycklar i en tabell.
  • Värdet på den primära nyckeln kan inte tas bort från den överordnade tabellen medan värdet av utländskt nyckelvärde kan tas bort från den underordnade tabellen.
  • Inga två rader kan ha identiska värden för en primär nyckel å andra sidan kan en främmande nyckel innehålla dubbla värden.
  • Det finns ingen begränsning i att infoga värdena i tabellkolumnen medan du sätter in något värde i den främmande nyckeltabellen, se till att värdet finns i en kolumn i en primärnyckel.

Varför använda primärnyckel?

Här är nackdelarna/fördelarna med att använda primärnyckeln:

  • Huvudsyftet med primärnyckeln är att identifiera varje post i databastabellen.
  • Du kan använda en primär nyckel när du inte tillåter någon att ange nullvärden.
  • Om du tar bort eller uppdaterar poster kommer åtgärden du angav att utföras för att säkerställa dataintegriteten.
  • Utför begränsningsoperation för att avvisa radering eller uppdatering av överordnad tabell.
  • Data organiseras i en sekvens med grupperat index när du fysiskt organiserar DBMS -tabellen.

Varför använda Foreign Key?

Här är de viktiga skälen för att använda utländsk nyckel:

  • Utländska nycklar hjälper dig att migrera enheter med en primär nyckel från den överordnade tabellen.
  • Med en främmande nyckel kan du koppla ihop två eller flera tabeller.
  • Det gör din databasdata konsekvent.
  • En främmande nyckel kan användas för att matcha en kolumn eller kombination av kolumner med primärnyckeln i en överordnad tabell.
  • Begränsning av främmande nycklar i SQL används för att säkerställa att dataförälderns referensintegritet matchar värden i underordnadstabellen.

Exempel på primärnyckel

Syntax:

Nedan finns syntaxen för Primär nyckel: | _+_ |

Här,

  • Table_Name är namnet på tabellen du måste skapa.
  • Kolumnnamn är namnet på den kolumn som har huvudnyckeln.

Exempel:

StudIDRulle nrFörnamnEfternamnE-post
1elvaTomPrisDen här e -postadressen skyddas från spamrobotar. Du måste aktivera JavaScript för att kunna se den.
212NickWrightDen här e -postadressen skyddas från spamrobotar. Du måste aktivera JavaScript för att kunna se den.
313DagarnatanDen här e -postadressen skyddas från spamrobotar. Du måste aktivera JavaScript för att kunna se den.

I exemplet ovan har vi skapat en elevtabell med kolumner som StudID, rullnummer, förnamn, efternamn och e -post. StudID väljs som huvudnyckel eftersom det unikt kan identifiera andra rader i tabellen.

Exempel på Foreign Key

Syntax:

Nedan är syntaxen för Foreign Key: | _+_ |

Här,

  • Parametern Tabellnamn anger namnet på tabellen som du ska skapa.
  • Parametrarna column1, column2… visar de kolumner som måste läggas till i tabellen.
  • Begränsning betecknar namnet på den begränsning du skapar.
  • Referenser anger en tabell med huvudnyckeln.

Exempel:

DeptCodeDeptName
001Vetenskap
002engelsk
005Dator

Lärar -IDFnamnLnamn
B002DavidWarner
B017SaraJoseph
B009MikrofonBrunton

I exemplet ovan har vi två tabeller, en lärare och en avdelning i en skola. Det finns dock inget sätt att se vilken sökning som fungerar på vilken avdelning.

I denna tabell kan vi skapa en relation mellan de två tabellerna genom att lägga till den främmande nyckeln i Deptcode till lärarens namn.

Lärar -IDDeptCodeFnamnLnamn
B002002DavidWarner
B017002SaraJoseph
B009001MikrofonBrunton

Detta koncept är också känt som Referential Integrity.

Skillnad mellan primär nyckel och främmande nyckel

Här är den viktiga skillnaden mellan primär nyckel och utländsk nyckel:

PrimärnyckelFrämmande nyckel
En primär nyckelbegränsning är en kolumn eller grupp av kolumner som unikt identifierar varje rad i tabellen i relationsdatabashanteringssystemet.Utländsk nyckel är en kolumn som skapar en relation mellan två tabeller.
Det hjälper dig att identifiera en post i tabellen på ett unikt sätt.Det är ett fält i tabellen som är en huvudnyckel för en annan tabell.
Primär nyckel accepterar aldrig nullvärden.En främmande nyckel kan acceptera flera nollvärden.
Den primära nyckeln är ett grupperat index, och data i DBMS -tabellen är fysiskt organiserade i sekvensen för det grupperade indexet.En främmande nyckel kan inte automatiskt skapa ett index, grupperat eller icke-grupperat.
Du kan ha den enda primära nyckeln i en tabell.Du kan ha flera utländska nycklar i en tabell.
Värdet på den primära nyckeln kan inte tas bort från den överordnade tabellen.Värdet på utländskt nyckelvärde kan tas bort från barntabellen.
Du kan definiera huvudnyckeln implicit på de tillfälliga tabellerna.Du kan inte definiera utländska nycklar på de lokala eller globala tillfälliga tabellerna.
Primärnyckeln är ett grupperat index.Som standard är det inte ett grupperat index.
Inga två rader kan ha identiska värden för en primärnyckel.En främmande nyckel kan innehålla dubblettvärden.
Det finns ingen begränsning i att infoga värdena i tabellkolumnen.När du sätter in något värde i den utländska nyckeltabellen, se till att värdet finns i en kolumn i en primär nyckel.