Skillnaden mellan primärnyckel och främmande nyckel

Nyckelskillnader mellan primärnyckel och främmande nyckel

  • En primärnyckelbegränsning är en kolumn som unikt identifierar varje rad i tabellen i relationsdatabashanteringssystemet, medan en främmande nyckel är en kolumn som skapar en relation mellan två tabeller.
  • Primärnyckeln accepterar aldrig nollvärden, medan den främmande nyckeln 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 på den främmande nyckeln kan tas bort från den underordnade tabellen.
  • Inga två rader kan ha några identiska värden för en primärnyckel; å andra sidan kan en främmande nyckel innehålla dubbletter av värden.
  • Det finns ingen begränsning för att infoga värdena i tabellkolumnen samtidigt som du infogar något värde i främmande nyckeltabellen; se till att värdet finns i en kolumn i en primärnyckel.
Skillnaden mellan primärnyckel och främmande nyckel
Skillnaden mellan primärnyckel och främmande nyckel

Här har jag analyserat skillnaden mellan den primära nyckeln och den främmande nyckeln och kommer att utvärdera deras för- och nackdelar på ett omfattande sätt.

Vad är primärnyckel?

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

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

Exempel på en primärnyckel

Syntax:

Nedan är syntaxen för primärnyckel:

CREATE TABLE <Table-Name>
(
Column1 datatype,
Column2 datatype,  PRIMARY KEY (Column-Name)
.
);    

Här,

  • Tabellnamn är namnet på tabellen du måste skapa.
  • Column_Name är namnet på den kolumn som har primärnyckeln.

Exempelvis:

StudID Rull nr Förnamn Efternamn E-post
1 11 Tom Pris abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 Dana Natan mno@yahoo.com

I exemplet ovan har vi skapat en elevtabell med kolumner som StudID, Roll No., First Name, After Name och Email. StudID väljs som en primärnyckel eftersom den unikt kan identifiera andra rader i tabellen.

Varför använda primärnyckel?

Under mina år av att hantera databassystem har jag noterat dessa nackdelar och fördelar när jag använder en primärnyckel:

  • Huvudsyftet med den primära nyckeln är att identifiera varje post i databastabellen.
  • Du kan använda en primärnyckel när du inte tillåter någon att ange nollvärden.
  • Om du tar bort eller uppdaterar poster kommer den åtgärd du angav att utföras för att säkerställa dataintegriteten.
  • Utför begränsningsåtgärden för att avvisa borttagnings- eller uppdateringsåtgärden för den överordnade tabellen.
  • Data organiseras i en sekvens av klustrade index när du fysiskt organiserar en DBMS-tabell.

Vad är främmande nyckel?

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

Exempel på främmande nyckel

Syntax:

Nedan är syntaxen för Foreign Key:

CREATE TABLE <Table Name>( 
column1    datatype,
column2    datatype,  
constraint (name of constraint) 
FOREIGN KEY [column1, column2...] 
REFERENCES [primary key table name] (List of primary key table column) ...);

Här,

  • Parametern Tabellnamn anger namnet på tabellen som du ska skapa.
  • Parametrarna kolumn1, kolumn2… visar de kolumner som behöver läggas till i tabellen.
  • En begränsning anger namnet på den begränsning du skapar.
  • Referenser indikerar en tabell med primärnyckeln.

Exempelvis:

Avdelningskod Avdelningens namn
001 Vetenskap
002 Engelska
005 Dator
Lärar-ID Fname Lname
B002 David Warner
B017 Sara Joseph
B009 Mikrofon Brunton

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 den här tabellen, genom att lägga till den främmande nyckeln i Deptcode till lärarnamnet, kan vi skapa en relation mellan de två tabellerna.

Lärar-ID Avdelningskod Fname Lname
B002 002 David Warner
B017 002 Sara Joseph
B009 001 Mikrofon Brunton

Detta koncept är också känt som referensintegritet.

Varför använda främmande nyckel?

Från vad jag har sett, här är de viktiga skälen till att implementera främmande nycklar:

  • Främmande nycklar hjälper dig att migrera enheter med en primärnyckel från den överordnade tabellen.
  • A främmande nyckel gör att du kan länka samman 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.
  • SQL främmande nyckel-begränsning används för att se till att referensintegriteten för dataföräldern matchar värden i den underordnade tabellen.

Skillnaden mellan primärnyckel och främmande nyckel

Låt mig dela den viktiga skillnaden mellan en primärnyckel och en främmande nyckel, som jag personligen har upplevt:

Primär nyckel vs främmande nyckel
Primär nyckel vs främmande nyckel
Jämförelsegrund Primärnyckel Främmande nyckel
Definition En primärnyckelrestriktion är en kolumn eller grupp av kolumner som unikt identifierar varje rad i tabellen hanteringssystem för relationsdatabas. En främmande nyckel är en kolumn som skapar en relation mellan två tabeller.
Grundläggande Det hjälper dig att unikt identifiera en post i tabellen. Det är ett fält i tabellen som är primärnyckeln för en annan tabell.
NULL Primärnyckel accepterar aldrig nollvärden. En främmande nyckel kan acceptera flera nollvärden.
Indexering Den primära nyckeln är ett klustrade index, och data i DBMS-tabellen är fysiskt organiserade i sekvensen av det klustrade indexet. En främmande nyckel kan inte automatiskt skapa ett index, klustrade eller icke-klustrade.
Att Räkna Du kan ha en enda primärnyckel i en tabell. Du kan ha flera främmande nycklar i en tabell.
deletion Värdet på primärnyckeln kan inte tas bort från den överordnade tabellen. Värdet på den främmande nyckeln kan tas bort från den underordnade tabellen.
Tillfälligt bord Du kan definiera primärnyckeln implicit i de temporära tabellerna. Du kan inte definiera främmande nycklar på de lokala eller globala temporära tabellerna.
Förhållande Den primära nyckeln är ett klustrat index. Som standard är det inte ett klustrat index.
Duplicering Inga två rader kan ha identiska värden för en primärnyckel. En främmande nyckel kan innehålla dubbletter av värden.
Införande Det finns ingen begränsning för att infoga värdena i tabellkolumnen. När du infogar ett värde i tabellen med främmande nyckel, se till att värdet finns i en kolumn i en primärnyckel.

Hur man väljer mellan en primärnyckel och en främmande nyckel

Från vad vi har sett identifierar primärnycklar tabellposter unikt, och främmande nycklar länkar dessa poster över tabeller, både avgörande för att upprätthålla dataintegritet och underlätta effektiv datahämtning.

Sammanfatta detta inlägg med: