Skillnaden mellan primär nyckel och utländsk nyckel

I ett Relational Database Management System (RDBMS) lagras data i tabeller. Eftersom en enorm mängd data lagras i tabellerna finns det alltid en möjlighet att uppgifterna kan bli ororganiserade eller innehålla duplikat. Även när vi måste hämta uppgifterna enligt våra krav från den enorma informationen blir uppgiften svår. Begreppet nyckel används i RDBMS för att identifiera poster i tabellen från tusentals rader med data. Användningen av Key hjälper också till att fastställa förhållandet mellan tabellerna så att informationen kan hänvisas från olika tabeller. Så nyckeln i relationsdatabashanteringssystem upprätthåller bordnivåintegritet såväl som referensintegritet. I den här artikeln kommer vi att undersöka i detalj skillnaden mellan den primära nyckeln och den utländska nyckeln.

Den primära nyckeln i en tabell identifierar poster unikt och den utländska nyckeln hänvisar till den primära nyckeln i en annan tabell. Låt oss ta exemplet med två tabeller: Medarbetar- och löntabeller för att förstå de primära och utländska nyckelbegreppen. Om medarbetartabellen har den primära nyckeln som anställd_ID, måste en kolumn anställd_ID finnas i lönstabellen eftersom den måste ha en relation mellan dessa två tabeller genom att ha en utländsk nyckel i lönstabellen som kan hänvisa till primärnyckeln till tabellen medarbetare.

Jämförelse mellan huvud och huvud mellan primär nyckel vs utländsk nyckel (infographics)

Nedan visas de 6 främsta skillnaderna mellan primär nyckel och utländsk nyckel:

Viktiga skillnader mellan primärnyckel och utländsk nyckel

Låt oss diskutera några av de viktigaste skillnaderna mellan primär nyckel och utländsk nyckel:

  • Den primära nyckeln identifierar poster i en tabell unikt medan utländsk nyckel används för att länka tabellerna, dvs den hänvisar till primärnyckeln i en annan tabell.
  • Kolumnen Primär nyckel i en tabell kan inte ha nollvärden och bör alltid ha unika värden. Men utländsk nyckel i tabellen kan innehålla nollvärden och kan också ha duplicerade värden.
  • En tabell kan bara ha en primär nyckel medan det kan finnas mer än en utländsk nyckel för en tabell.
  • Indexet skapas automatiskt för primärnyckeln medan index för utländsk nyckel inte skapas automatiskt.
  • Det är lätt att ta bort begränsningen för utländsk nyckel men den hänvisar till primärnyckeln. Men borttagningen av primär nyckelbegränsning kan skapa poster med underordnade poster som inte har någon överordnad post.

Jämförelsetabell över primär nyckel vs utländsk nyckel

Tabellen nedan sammanfattar jämförelserna mellan primär nyckel och utländsk nyckel:

PrimärnyckelFrämmande nyckel
Den primära nyckeln för en tabell i RDBMS kan vara en enda kolumn eller kan bestå av mer än en kolumn som används för att identifiera varje rad i en tabell unikt. När det gäller den primära nyckeln som består av mer än en kolumn, används data från varje kolumn för att bestämma unikheten för en rad. En tabell i RDMBS kan endast ha en primär nyckel.Den utländska nyckeln kan vara en enda kolumn eller kan bestå av mer än en kolumn i en tabell som används för att hänvisa till primärnyckeln i en annan tabell. Den utländska nyckeln kan användas för att länka tabellerna i RDBMS. Till skillnad från attributet Primär nyckel kan en tabell i RDBMS ha mer än en utländsk nyckel.
Det finns få villkor som bör vara uppfyllda för att en kolumn ska vara en primär nyckel i en tabell. Ett av villkoren är att den primära nyckeln ska innehålla ett unikt värde för varje post. Så en tabell i RDBMS kan inte tillåtas ha duplikatvärden för två rader för attributet Primär nyckel.Till skillnad från den primära nyckeln i en tabell i RDBMS, kan den utländska nyckeln innehålla dubbla värden. Detta gör det möjligt att ha duplicerade värden för raderna i en tabell för attributet för främmande nycklar.
Det andra villkoret för en kolumn som tillfredsställer att vara en primär nyckel är att den inte ska innehålla nollvärden.Men den utländska nyckeln till en tabell i RDBMS kan innehålla nollvärden.
En primärnyckel anges när tabellen definieras och det är obligatoriskt att definiera primärnyckeln.Till skillnad från den primära nyckeln finns det ingen specifik tabeldefinition för att beteckna en nyckel till utländsk nyckel.
Det är inte möjligt att radera den primära nyckelbegränsningen från en överordnad tabell med utländsk nyckel för barntabellen som refererar till den. Så barntabellen måste raderas först innan du raderar överföringstabellen.Men om vi behöver ta bort begränsningen för utländsk nyckel i en tabell, kan den tas bort från underordnatabellen även om den hänvisar till den primära nyckeln i föräldertabellen.

Den primära nyckeln indexeras automatiskt, dvs den primära nyckeln lagras i ett index för en tabell och detta index hjälper till att administrera kravet på unikhet och på grund av detta kan de främmande nyckelvärdena enkelt hänvisas till motsvarande primära nyckelvärden.När det gäller en utländsk nyckel skapas inte indexen automatiskt och vanligtvis definierar databasadministratören dem.

Slutsats

De primära och utländska nycklarna implementerar inte bara olika typer av integritet utan skapar också förhållanden mellan tabellerna. Primär- och utländsknappen säkerställer också att kolumnerna som skapats för relationen måste innehålla matchande värden och unika poster behålls i tabellen. Relationsdatabashanteringssystemet fungerar effektivt på grund av närvaron av den primära och den utländska nyckeln.

Den primära nyckelbegränsningen hjälper till att tillämpa dataintegritet automatiskt eftersom det förhindrar att infoga eller uppdatera duplicerad rad med data. Genom att använda tangentbegränsningarna förhindrar det också att radera raden från den primära nyckeltabellen från föräldertabellen så att inga sådana underordnade poster skapas för vilka det inte finns någon överordnad post. När en rad med referens till den primära nyckeln raderas eller uppdateras i överordnade tabeller bibehålls referensintegriteten av utländsk nyckel. Nycklarna har en viktig roll när det gäller att skapa länkar mellan databastabellerna och även i tabellen.

Rekommenderade artiklar

Detta är en guide till Primär nyckel vs utländsk nyckel. Här diskuterar vi primärnyckeln vs utländska nyckelns skillnader med infografik och jämförelsetabell. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -

  1. WebLogic vs WebSphere
  2. ROLAP vs MOLAP vs HOLAP
  3. GoCD vs Jenkins
  4. Skuld vs kapitalfinansiering

Kategori: