Skillnad mellan primärnyckel och utländsk nyckel i DBMS

Författare: Laura McKinney
Skapelsedatum: 1 April 2021
Uppdatera Datum: 12 Maj 2024
Anonim
Skillnad mellan primärnyckel och utländsk nyckel i DBMS - Teknologi
Skillnad mellan primärnyckel och utländsk nyckel i DBMS - Teknologi

Innehåll


Nycklar är den avgörande delen av DBMS som de används för att identifiera och skapa en relation mellan tabellerna i ett schema. Nu, idag kommer vi att diskutera två mycket viktiga nycklar av DBMS, dvs. primärnyckel och utländsk nyckel, och vi kommer också att diskutera skillnaden mellan primärnyckel och utländsk nyckel. På vägen låt mig berätta den grundläggande skillnaden mellan primär och utländsk nyckel som är primär nyckel är en av de valda kandidatnycklarna av databasdesigner medan en främmande nyckel är en nyckel som hänvisar till den primära nyckeln i en annan relation.

Det finns många andra skillnader mellan dessa två, låt oss identifiera dessa skillnader med hjälp av jämförelsediagram som visas nedan.

  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelsePrimärnyckelFrämmande nyckel
GrundläggandePrimär nyckel är en vald kandidatnyckel som unikt definierar en tupel i en relation.Utländsk nyckel i en tabell hänvisar till den primära nyckeln i andra tabeller.
NULLPrimärt nyckelvärde kan aldrig vara NULL.Utländsk nyckel accepterar NULL-värde.
DupliceraInga två tuples i en relation har duplicerade värden för ett primärt nyckelattribut.Tuples kan ha duplikatvärde för ett främmande nyckelattribut.
RäckviddDet kan bara finnas en primär nyckel i en relation.Det kan finnas flera utländska nycklar i en relation.
Tillfällig tabellPrimär nyckelbegränsning kan definieras i de temporära tabellerna.Främmande nyckelbegränsningar kan inte definieras i de temporära tabellerna.
Clustered indexSom standard är en primär nyckel grupperad indexerad.Utländsk nyckel indexeras inte automatiskt; det måste göras manuellt.
InförandeVi kan infoga ett värde i ett primärt nyckelattribut, även om den hänvisande utländska nyckeln inte har det värdet i sin kolumn.Vi kan inte infoga ett värde till en utländsk nyckel, om det värdet inte finns i den refererade kolumnen för primär nyckel.
RaderingInnan du raderar ett primärt nyckelvärde, se till att värdet inte fortfarande finns i den refererande utländska nyckelkolumnen i referenstabellen.Du kan radera ett värde från utländsk nyckelkolumn utan att bry sig, oavsett om det värdet finns i den refererade primära nyckelkolumnen för refererad relation.


Definition av primär nyckel

En primär nyckel unikt definierar tuples i en relation. Det kan vara ett enda attribut i en relation, eller det kan vara en uppsättning attribut i en relation. Värdet på det primära nyckelattributet bör aldrig eller sällan förändrats. Eftersom det är en princip, menar att identifiera alla poster i en databas. Ändring i alla attributvärden för primärnyckel skulle skapa förvirring.

Databasdesigner väljer en av kandidatnycklar som en primär nyckel med hänsyn till några punkter. Den första övervägningen är ett primärt nyckelattributvärde som aldrig kan innehålla NULL värde. Eftersom ett primärt nyckelattributvärde innehåller NULL, betyder det att vi inte kan identifiera den posten i tabellen. Det bryter också med enhetens integritetsbegränsning. Andra övervägandet är, inga två tuples i en tabell kan innehålla samma värde för ett primärt nyckelattribut, eftersom det skulle kränka unika bland tuple.


Det kan bara vara en primär nyckel för alla relation. Den primära nyckeln är som standard cluster-indexeras, vilket betyder att alla tupler i en tabell sorteras, baserat på de primära nycklarnas attributvärden. Den primära nyckelbegränsningen kan definieras på en tillfälligt bord. Mellanbordstabeller som skapats under körningen av en fråga kallas tillfälliga tabeller.

Medan radering en tupel från en relation, man måste se till att den borttagna tuplets primära nyckelvärde inte fortfarande finns i den utländska nyckelkolumnen för referensrelation. Medan införande har inga begränsningar för en primär nyckel.

Den primära nyckeln i en tabell när den används i någon annan tabell blir den främmande nyckel för den tabellen. Utländska nyckelbegränsningar diskuteras nedan.

Definition av utländsk nyckel

När en relation R1, bland dess attribut, har en primär nyckel av andra förhållanden R2, då kallas attributet Främmande nyckel för relation R1. Relationen R1 som innehåller den främmande nyckeln heter referensrelation eftersom den hänvisar till den primära nyckeln för relation R2 och relation R2 kallas refererad relation.
Till skillnad från den primära nyckeln kan den främmande nyckeln acceptera NULL värden eftersom det inte har uppgiften att identifiera en post tydligt i en relation, eftersom vi har den primära nyckeln för detta. På samma sätt accepterar också den utländska nyckeln duplicerade värden.

En relation kan ha flera olika utländska nycklar, eftersom det kan ha olika attribut som är primära nycklar i olika relationer. Utländsk nyckelbegränsning kan inte definieras på tillfälliga tabeller, inte heller en utländsk nyckel är en cluster-indexeras attribut.

Medan införing ett värde i en utländsk nyckelkolumn för referensrelation, se till att infogningsvärdet måste finnas i den primära nyckelkolumnen för referensrelation. Det finns ingen begränsning medan radering ett värde från den utländska nyckelkolumnen.

  1. En primär är en uppsättning attribut / en kandidatnyckel som tydligt identifierar en post i en relation. En utländsk nyckel i en tabell hänvisar dock till den primära nyckeln i en annan tabell.
  2. Inga primära nyckelattribut kan innehålla NULL-värden medan ett främmande nyckelattribut kan acceptera NULL-värde.
  3. En primär nyckel bör ha unika attributvärden medan en utländsk nyckel kan ha duplikatattributvärden.
  4. Det kan finnas flera främmande nycklar i en relation, men en relation har bara en primär nyckel.
  5. Den primära nyckelbegränsningen kan tillämpas på de temporära tabellerna. Främmande nyckelbegränsningar kan emellertid inte tillämpas på de tillfälliga tabellerna.
  6. En primär nyckel är som standard klusterad indexerad medan en främmande nyckel inte indexeras kluster automatiskt, men den kan göras manuellt.
  7. När du sätter in ett värde i en främmande nyckelkolumn, se till att infogningsattributvärdet finns i den refererade primära nyckelkolumnen. Det finns dock ingen begränsning för införande i den primära nyckelkolumnen.
  8. När du tar bort ett värde från den primära nyckelkolumnen, se till att det borttagna attributvärdet inte finns i den refererande utländska nyckelkolumnen. Det finns dock ingen begränsning för att ta bort ett värde från en utländsk nyckelkolumn.

Slutsats:

Både primärnyckel och utländsk nyckel är avgörande för ett schema. En primär nyckel definierar varje tupel i en relation unikt medan en främmande nyckel används för att skapa en länk mellan två relationer.