logo

Kandidatnøgle i DBMS

EN kandidatnøgle er en del af en nøgle kendt som Super nøgle ( diskuteret i det foregående afsnit ), hvor supernøglen er supersættet af alle de attributter, der unikt kan identificere en tabel.

Her vil vi diskutere kandidatnøgle, dens rolle og dens brug. Vi vil også se på nogle eksempler, der vil få os til bedre at forstå konceptet med en kandidatnøgle.

stående

Hvad er en kandidatnøgle

En kandidatnøgle er en delmængde af et supernøglesæt, hvor nøglen, der ikke indeholder nogen redundant attribut, er ingen ringere end en Kandidatnøgle . For at vælge kandidatnøglerne fra sættet af supernøgler, skal vi se på supernøglesættet.

Rolle af en kandidatnøgle

En kandidatnøgles rolle er at identificere en tabelrække eller kolonne unikt. Værdien af ​​en kandidatnøgle kan heller ikke være Null. Beskrivelsen af ​​en kandidatnøgle er 'ingen overflødige attributter' og at være en 'minimal repræsentation af en tupel' ifølge eksperterne.

Hvordan en kandidatnøgle er forskellig fra en primærnøgle

Selvom formålet med både kandidaten og den primære nøgle er det samme, er det at identificere tuplerne unikt, og så er de også forskellige fra hinanden. Det skyldes, at vi i en tabel kan have en eller mere end én kandidatnøgle, men vi kan kun oprette én primærnøgle til en tabel. Ud fra antallet af opnåede kandidatnøgler kan vi således identificere den passende primære nøgle. Men hvis der kun er én kandidatnøgle i en tabel, kan den overvejes for begge nøglebegrænsninger.

Eksempel på kandidatnøgle

Lad os se på det samme eksempel, da vi diskuterede Super Key for at forstå, hvordan en kandidatnøgle fungerer.

c# kode eksempler

Vi har en EMPLOYEE_DETAIL tabel, hvor vi har følgende attributter:

Emp_SSN: SSN-nummeret er gemt i dette felt.

Emp_Id: En attribut, der gemmer værdien af ​​medarbejders identifikationsnummer.

streng til int java

Emp_name: En attribut, der gemmer navnet på den medarbejder, der har det angivne medarbejder-id.

Emp_e-mail: En attribut, der gemmer e-mail-id'et for de angivne medarbejdere.

Det EMPLOYEE_DETAIL tabel er givet nedenfor, som vil hjælpe dig med at forstå bedre:

Kandidatnøgle i DBMS

Så fra ovenstående tabel opnåede vi nedenstående supernøgler (diskuteret i det foregående afsnit):

Kandidatnøgle i DBMS

Nu, ud fra disse sæt supernøgler, kan vi konkludere kandidatnøglerne. For at afhente kandidatnøglerne er den bedste måde at analysere og danne de primære nøgler så meget som muligt. Så vi er nødt til at identificere disse sæt fra supernøglesættene, der alene kan identificere hele tabellen, eller vi kan sige de andre attributter i tabellen. Resultatet er således:

Kandidatnøgle i DBMS

Så disse er de tre opnåede attributter, der kan identificere de andre ikke-primære attributter i tabellen. Alle disse er kandidatnøglerne, og hvorfra vi kan vælge den mest passende attribut, der nemt kan identificere alle poster i tabellen, som vil blive beskrevet som den primære nøgle.

Forskellen mellem kandidatnøgle og supernøgle

Fra ovenstående diskussioner kan vi have følgende forskelle:

kali linux kommandoer
Super nøgle Kandidatnøgle
Det er supersættet af alle sådanne attributter, der unikt kan identificere tabellen. Det er delmængden eller delen af ​​Super-nøglen.
Det er slet ikke obligatorisk, at alle supernøgler er kandidatnøgler. På den anden side er alle kandidatnøgler supernøgler.
Supernøgleattributten kan være NULL, hvilket betyder, at dens værdier kan være nul. En attribut, der indeholder en kandidatnøgle, kan aldrig være NULL, hvilket betyder, at dens værdier ikke kan være nul.
Alle supernøglerne dannede sig for at bringe kandidatnøglerne. På samme måde sættes kandidatnøgler sammen for at skabe primære nøgler.
Antallet af dannede supernøgler ses altid mere. Her er kandidatnøgler mindre end supernøgler.

Således er supernøglen supersættet, kandidatnøglen er undermængden, og den primære nøgle er underundergruppen af ​​supernøglen.