A kandidatnyckel är en del av en nyckel som kallas Supernyckel ( diskuterades i föregående avsnitt ), där supernyckeln är superuppsättningen av alla de attribut som unikt kan identifiera en tabell.
Här kommer vi att diskutera kandidatnyckeln, dess roll och dess användning. Vi kommer också att titta på några exempel som kommer att få oss att bättre förstå konceptet med en kandidatnyckel.
Freddie Mercury
Vad är en kandidatnyckel
En kandidatnyckel är en delmängd av en supernyckeluppsättning där nyckeln som inte innehåller något redundant attribut är ingen annan än en Kandidatnyckel . För att välja kandidatnycklarna från supernyckeluppsättningen måste vi titta på supernyckeluppsättningen.
Rollen för en kandidatnyckel
Rollen för en kandidatnyckel är att identifiera en tabellrad eller kolumn unikt. Dessutom kan värdet på en kandidatnyckel inte vara Null. Beskrivningen av en kandidatnyckel är 'inga redundanta attribut' och är en 'minimal representation av en tupel', enligt experterna.
Hur en kandidatnyckel skiljer sig från en primärnyckel
Även om syftet med både kandidat och primärnyckel är detsamma, det vill säga att unikt identifiera tuplarna, och då skiljer de sig också från varandra. Det beror på att vi i en tabell kan ha en eller fler än en kandidatnyckel, men vi kan bara skapa en primärnyckel för en tabell. Sålunda, från antalet erhållna kandidatnycklar, kan vi identifiera lämplig primärnyckel. Men om det bara finns en kandidatnyckel i en tabell, kan den övervägas för båda nyckelbegränsningarna.
Exempel på kandidatnyckel
Låt oss titta på samma exempel som vi tog när vi diskuterade Super Key för att förstå hur en kandidatnyckel fungerar.
bash läsa filen
Vi har en EMPLOYEE_DETAIL tabell där vi har följande attribut:
Emp_SSN: SSN-numret lagras i detta fält.
Emp_Id: Ett attribut som lagrar värdet på anställds identifikationsnummer.
sträng till int java
Emp_name: Ett attribut som lagrar namnet på den anställde som innehar det angivna medarbetar-ID.
Emp_email: Ett attribut som lagrar e-postadressen för de angivna anställda.
De EMPLOYEE_DETAIL tabellen nedan som hjälper dig att bättre förstå:
Så från tabellen ovan fick vi de nedan givna supernycklarna (diskuterade i föregående avsnitt):
Nu, från dessa uppsättningar av supernycklar, kan vi sluta kandidatnycklarna. För att plocka fram kandidatnycklarna är det bästa sättet att analysera och forma primärnycklarna så mycket vi kan. Så vi måste identifiera dessa uppsättningar från supernyckeluppsättningarna som ensamma kan identifiera hela tabellen, eller så kan vi säga de andra attributen i tabellen. Resultatet är alltså:
Så det här är de tre erhållna attributen som kan identifiera de andra icke-primära attributen i tabellen. Alla dessa är kandidatnycklarna och från vilka vi kan välja det lämpligaste attributet som enkelt kan identifiera alla poster i tabellen, som kommer att beskrivas som den primära nyckeln.
Skillnaden mellan kandidatnyckel och supernyckel
Från ovanstående diskussioner kan vi ha följande skillnadspunkter:
java oops koncept
Supernyckel | Kandidatnyckel |
---|---|
Det är superuppsättningen av alla sådana attribut som unikt kan identifiera tabellen. | Det är delmängden eller delen av Supernyckeln. |
Det är inte alls obligatoriskt att alla supernycklar är kandidatnycklar. | Å andra sidan är alla kandidatnycklar supernycklar. |
Supernyckelattributet kan vara NULL, vilket betyder att dess värden kan vara null. | Ett attribut som innehåller en kandidatnyckel kan aldrig vara NULL, vilket innebär att dess värden inte kan vara null. |
Alla supernycklarna bildades för att få fram kandidatnycklarna. | På liknande sätt sätts kandidatnycklar samman för att skapa primärnycklar. |
Antalet supernycklar som bildas ses alltid mer. | Här är kandidatnycklar mindre än supernycklar. |
Sålunda är supernyckeln supermängden, kandidatnyckeln är underuppsättningen och primärnyckeln är underdelmängden av supernyckeln.