Innan vi lär oss skillnaden mellan primärnyckel och främmande nyckel, låt oss lära oss:
Vad är nycklar?
Nycklar är attribut som hjälper dig att identifiera en rad (tuple) i en relation (tabell). De låter dig hitta förhållandet mellan två tabeller. Tangenterna hjälper dig att identifiera en rad i en tabell med en kombination av en eller flera kolumner i den tabellen. Databasnyckeln är också användbar för att hitta en unik post eller rad från tabellen.
Vad är databasförhållande?
Databasförhållandet är associering mellan en eller flera tabeller som skapas med hjälp av anslutningsuttalanden. 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är nyckel?
En primär nyckelbegränsning är en kolumn eller grupp av kolumner som unikt identifierar varje rad i tabellen för relationsdatabashanteringssystemet. Det kan inte vara en duplikat, vilket innebär att samma värde inte borde visas mer än en gång i tabellen.
En tabell kan ha mer än en primär nyckel. Primär nyckel kan definieras på kolumnen eller tabellnivån. Om du skapar en sammansatt primärnyckel bör den definieras på bordsnivå.
Vad är Foreign Key?
Foreign key är en kolumn som skapar en relation mellan två tabeller. Syftet med den utländska nyckeln är att bibehålla dataintegriteten och tillåta navigering mellan två olika instanser av en enhet. Det fungerar som en korsreferens mellan två tabeller eftersom det refererar till den primära nyckeln till en annan tabell. Varje relation i databasen bör stödjas av en främmande nyckel.
VÄSENTLIGA SKILLNADER:
- En primär nyckelbegränsning är en kolumn som unikt identifierar varje rad i tabellen för relationsdatabashanteringssystemet, medan främmande nyckel är en kolumn som skapar en relation mellan två tabeller.
- Primär nyckel accepterar aldrig nollvä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å primärnyckeln kan inte tas bort från överordnadstabellen medan värdet på utländsk nyckelvärde kan tas bort från 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är nyckel?
Här är nackdelarna / fördelarna med att använda primärnyckel:
- Huvudsyftet med den primära nyckeln ä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 raderar eller uppdaterar poster kommer den åtgärd du angav att genomföras för att säkerställa dataintegriteten.
- Utför begränsning för att avvisa borttagning eller uppdatering för överordnad tabell.
- Data organiseras i en sekvens av klustrade index när du fysiskt organiserar DBMS-tabell.
Varför använda Foreign Key?
Här är de viktiga anledningarna till att använda främmande nyckel:
- Utländska nycklar hjälper dig att migrera enheter med en primär nyckel från modertabellen.
- En utländsk nyckel gör att du kan länka två eller flera tabeller tillsammans.
- Det gör din databasinformation konsekvent.
- En främmande nyckel kan användas för att matcha en kolumn eller kombination av kolumner med primär nyckel i en överordnad tabell.
- SQL-främmande nyckelbegränsning används för att säkerställa referensintegriteten hos dataföräldern för att matcha värden i underordnade tabellen.
Exempel på primär nyckel
Syntax:
Nedan är syntaxen för Primary Key:
CREATE TABLE(Column1 datatype,Column2 datatype, PRIMARY KEY (Column-Name).);
Här,
- Table_Name är namnet på tabellen du måste skapa.
- Column_Name är namnet på den kolumn som har den primära nyckeln.
Exempel:
StudID | Rulla nr | Förnamn | Efternamn | E-post |
---|---|---|---|---|
1 | 11 | Tom | Pris | Den här e-postadressen är skyddad från spamrobotar. Du måste ha Javascript aktiverat för att kunna se det. |
2 | 12 | Nick | Wright | Den här e-postadressen är skyddad från spamrobotar. Du måste ha Javascript aktiverat för att kunna se det. |
3 | 13 | Dana | Natan | Den här e-postadressen är skyddad från spamrobotar. Du måste ha Javascript aktiverat för att kunna se det. |
I exemplet ovan har vi skapat en studenttabell med kolumner som StudID, Roll No, First Name, Efternamn och Email. StudID väljs som primärnyckel eftersom det unikt kan identifiera andra rader i tabellen.
Exempel på främmande nyckel
Syntax:
Nedan är syntaxen för Foreign Key:
CREATE TABLE