Skillnaden mellan primär- och kandidatnyckel

Författare: Laura McKinney
Skapelsedatum: 1 April 2021
Uppdatera Datum: 3 Juli 2024
Anonim
Skillnaden mellan primär- och kandidatnyckel - Teknologi
Skillnaden mellan primär- och kandidatnyckel - Teknologi

Innehåll


Nycklar är attributet, eller en uppsättning attribut som används för att få åtkomst till tuples från ett bord, eller de används också för att konstruera en relation mellan två tabeller. I den här artikeln kommer vi att diskutera primär- och kandidatnyckel och skillnaderna mellan dem. Både primär- och kandidatnyckel identifierar en tupel i en relation eller tabell på ett unikt sätt. Men den viktigaste punkten som skiljer dem är att det bara kan finnas en primärnyckel i en relation. Det kan dock finnas fler än en kandidatnyckel i en relation.

Det finns några fler skillnader mellan primär- och kandidatnyckel som jag kommer att diskutera 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ärnyckelKandidatnyckel
GrundläggandeDet kan bara finnas en primär nyckel i alla relationer.Det kan finnas mer än en kandidatnyckel i en relation.
NULLInget attribut för en primär nyckel kan innehålla NULL-värde.Attributet för en kandidatnyckel kan ha NULL-värde.
SpecificeraDet är valfritt att ange en primär nyckel för alla relationer.Det kan inte finnas en relation utan att kandidatnyckeln anges.
FunktionPrimär nyckel beskriver det viktigaste attributet för relationen.Kandidatnycklar presenterar kandidater som kan kvalificera sig för primärnyckel.
Vice versaEn primär nyckel är en kandidatnyckel.Men det är inte obligatoriskt att varje kandidatnyckel kan vara en primär nyckel.


Definition av primär nyckel

Primärnyckel är ett attribut eller en uppsättning attribut som unikt identifierar varje tupel i en relation. Det kan bara finnas ett primär nyckel för varje relation. Det måste tas hand om att en primär nyckel ska aldrig innehåller en NULL och det måste ha unik värde för varje tupel i relationen. Värdena för attributen / värdena på den primära nyckeln måste vara statisk, dvs. värdet på attributet bör aldrig eller sällan ändras.

En av Kandidatnycklar blir kvalificerad att bli en primär nyckel. De regler att en kandidatnyckel måste kvalificera sig för att bli primär är att nyckelvärdet aldrig ska vara NULL och det måste vara unik för alla tupler.


Om en relation innehåller ett attribut som är en primär nyckel till någon annan relation, kallas attributet främmande nyckel.

Det rekommenderas att räkna ut den primära nyckeln för en relation innan man introducerar andra attribut för en relation eftersom primär nyckel identifierar varje tupel unikt. Det är bättre att välja ett enskilt attribut eller ett litet antal attribut som en primär nyckel, vilket gör det enkelt att hantera relationen.

Låt oss nu se ett exempel på en primärnyckel.

Student {ID, Förnamn, Efternamn, Ålder, Adress}

Här kommer vi först ta reda på kandidatnycklar. Jag har räknat ut två kandidatnycklar {ID} och {Förnamn Efternamn} eftersom de unikt identifierar varje student i Studentrelationen. Nu kommer jag att välja ID som min primära nyckel för ibland kan det hända att två studenter kan ha samma för- och efternamn, så det kommer att vara lätt att spåra en student med hans ID.

Definition av kandidatnyckel

EN kandidatnyckel är ett attribut eller en uppsättning attribut som unikt definierar en tupel i en relation. Det finns mer än en kandidatnyckel i en relation. Dessa kandidatnycklar är de kandidater som kan kvalificera sig för att bli en primär nyckel.

Även om varje kandidatnyckel kvalificerar sig att bli en primär nyckel kan endast en väljas som en primär nyckel. Reglerna som en kandidatnyckel kräver för att bli primär nyckel är attributets värde för nyckeln kan aldrig vara NULL i alla domäner av nyckeln måste det vara unik och statisk.

Om alla kandidatnycklar är kvalificerade för primärnyckel, är en erfaren DBA måste ta beslutet att räkna ut den primära nyckeln. Det kan aldrig finnas en relation utan kandidatnyckel.

Låt oss förstå kandidatnyckeln med ett exempel. Om vi ​​lägger till några fler attribut till Studentrelationen diskuterade jag ovan.

Student {ID, Förnamn, Efternamn, Ålder, Adress, DOB, Avdelningsnamn}

Här kan jag räkna ut två kandidatnycklar som är {ID}, {Förnamn, Efternamn, DOB}. Så du kan förstå att kandidatnycklarna är en som identifierar en tupel i en relation.

  1. Den grundläggande punkten som skiljer den primära nyckeln från kandidatnyckeln är att det bara kan finnas en primär för varje relation i ett schema. Det kan dock finnas flera kandidatnycklar för en enda relation.
  2. Attributet under primärnyckel kan aldrig innehålla ett NULL-värde eftersom huvudfunktionen för primärnyckeln är att identifiera en post i relation på ett unikt sätt. Till och med en primär nyckel kan användas som främmande nyckel i andra relationer, och därför får den inte vara NULL så att referensrelation kan hitta tuplorna i ett referensförhållande. Kandidatnyckeln kan vara NULL om inte attributets begränsning är angiven inte noll.
  3. Det är valfritt att ange en primär nyckel, men det kan inte finnas en relation utan kandidatnycklar.
  4. Primär nyckel beskriver det unika och viktigaste attributet för en relation medan kandidatnycklarna ger kandidaterna bland vilka en kan väljas som en primär nyckel.
  5. Varje primär nyckel är en kandidatnyckel, men vice versa är inte sant.

Slutsats:

Det är valfritt för en relation att ange en primär nyckel. Å andra sidan, om du förklarar en relation, måste kandidatnycklar vara närvarande i det förhållandet för att skapa en bra relation.