EN kandidatnøkkel er en del av en nøkkel kjent som Supernøkkel ( diskutert i forrige avsnitt ), der supernøkkelen er supersettet av alle de attributtene som unikt kan identifisere en tabell.
Her skal vi diskutere kandidatnøkkelen, dens rolle og bruken. Vi skal også se på noen eksempler som vil få oss til å bedre forstå konseptet med en kandidatnøkkel.
stående
Hva er en kandidatnøkkel
En kandidatnøkkel er et undersett av et supernøkkelsett der nøkkelen som ikke inneholder noen redundant attributt er ingen ringere enn en Kandidatnøkkel . For å velge kandidatnøklene fra settet med supernøkkel, må vi se på supernøkkelsettet.
Rollen til en kandidatnøkkel
Rollen til en kandidatnøkkel er å identifisere en tabellrad eller kolonne unikt. Verdien av en kandidatnøkkel kan heller ikke være Null. Beskrivelsen av en kandidatnøkkel er 'ingen overflødige attributter' og er en 'minimal representasjon av en tuppel', ifølge ekspertene.
Hvordan en kandidatnøkkel er forskjellig fra en primærnøkkel
Selv om formålet med både kandidaten og primærnøkkelen er det samme, er det å identifisere tuplene unikt, og da er de også forskjellige fra hverandre. Det er fordi vi i en tabell kan ha én eller flere kandidatnøkler, men vi kan bare lage én primærnøkkel for en tabell. Ut fra antallet oppnådde kandidatnøkler kan vi således identifisere den aktuelle primærnøkkelen. Imidlertid, hvis det bare er én kandidatnøkkel i en tabell, kan den vurderes for begge nøkkelbegrensninger.
Eksempel på kandidatnøkkel
La oss se på det samme eksemplet som ble tatt mens vi diskuterte Super Key for å forstå hvordan en kandidatnøkkel fungerer.
hvordan generere tilfeldige tall i java
Vi har en EMPLOYEE_DETAIL tabell hvor vi har følgende attributter:
Emp_SSN: SSN-nummeret er lagret i dette feltet.
Emp_Id: Et attributt som lagrer verdien av medarbeiderens identifikasjonsnummer.
streng til int java
Emp_name: Et attributt som lagrer navnet på den ansatte som har den angitte medarbeider-ID-en.
Emp_email: Et attributt som lagrer e-post-IDen til de angitte ansatte.
De EMPLOYEE_DETAIL tabellen er gitt nedenfor som vil hjelpe deg å forstå bedre:
Så fra tabellen ovenfor fikk vi de nedenfor gitte supernøklene (diskutert i forrige seksjon):
Nå, fra disse settene med supernøkler, kan vi konkludere kandidatnøklene. For å plukke opp kandidatnøklene er den beste måten å analysere og danne primærnøklene så mye vi kan. Så vi må identifisere disse settene fra supernøkkelsettene som alene kan identifisere hele tabellen, eller vi kan si de andre egenskapene til tabellen. Dermed er resultatet:
Så dette er de tre oppnådde attributtene som kan identifisere de andre ikke-primære attributtene i tabellen. Alle disse er kandidatnøklene, og fra hvilke vi kan velge det mest passende attributtet som enkelt kan identifisere alle poster i tabellen, som vil bli beskrevet som Primærnøkkelen.
Forskjellen mellom kandidatnøkkel og supernøkkel
Fra diskusjonene ovenfor kan vi ha følgende forskjellspunkter:
kali linux kommandoer
Supernøkkel | Kandidatnøkkel |
---|---|
Det er supersettet av alle slike attributter som unikt kan identifisere tabellen. | Det er delsettet eller delen av supernøkkelen. |
Det er slett ikke obligatorisk at alle supernøkler er kandidatnøkler. | På den annen side er alle kandidatnøkler supernøkler. |
Supernøkkelattributtet kan være NULL, som betyr at verdiene kan være null. | Et attributt som inneholder en kandidatnøkkel kan aldri være NULL, noe som betyr at verdiene ikke kan være null. |
Alle supernøklene ble dannet sammen for å bringe kandidatnøklene. | På samme måte settes kandidatnøkler sammen for å lage primærnøkler. |
Antallet supernøkler som dannes, ses alltid mer. | Her er kandidatnøkler mindre enn supernøkler. |
Dermed er supernøkkelen supersettet, kandidatnøkkelen er delmengden, og primærnøkkelen er deldelen av supernøkkelen.