logo

Cheie candidat în DBMS

A cheia candidatului este o parte a unei chei cunoscute ca Super Cheie ( discutat în secțiunea anterioară ), unde super-cheia este super-setul tuturor acelor atribute care pot identifica unic un tabel.

Aici, vom discuta despre cheia candidatului, rolul acesteia, precum și despre utilizarea acesteia. De asemenea, vom analiza câteva exemple care ne vor face să înțelegem mai bine conceptul de cheie candidat.

șir în matrice java

Ce este o cheie de candidat

O cheie candidată este un subset al unui set de super chei în care cheia care nu conține niciun atribut redundant nu este alta decât un Cheia candidatului . Pentru a selecta cheile candidate din setul de super chei, trebuie să ne uităm la setul de super chei.

Rolul unui candidat cheie

Rolul unei chei candidat este de a identifica în mod unic un rând sau o coloană de tabel. De asemenea, valoarea unei chei candidat nu poate fi nulă. Descrierea unei chei candidate este „fără atribute redundante” și este o „reprezentare minimă a unui tuplu”, potrivit experților.

Cum este diferită o cheie de candidat de o cheie primară

Deși scopul atât al candidatului, cât și al cheii primare este același, acesta este de a identifica în mod unic tuplurile și, de asemenea, acestea sunt diferite unele de altele. Se datorează faptului că, într-un tabel, putem avea una sau mai multe chei candidate, dar putem crea o singură cheie primară pentru un tabel. Astfel, din numărul de chei candidate obținute, putem identifica cheia primară corespunzătoare. Cu toate acestea, dacă există o singură cheie candidată într-un tabel, atunci aceasta poate fi luată în considerare pentru ambele constrângeri cheie.

Exemplu de cheie de candidat

Să ne uităm la același exemplu luat în timp ce discutam Super Key pentru a înțelege funcționarea unei chei candidate.

Avem o DETALII_ANGAJAT tabel unde avem următoarele atribute:

linkedlist în java

Emp_SSN: Numărul SSN este stocat în acest câmp.

Emp_Id: Un atribut care stochează valoarea numărului de identificare a angajatului.

șir în int java

Emp_name: Un atribut care stochează numele angajatului care deține ID-ul de angajat specificat.

Emp_email: Un atribut care stochează ID-ul de e-mail al angajaților specificați.

The DETALII_ANGAJAT este prezentat mai jos un tabel care vă va ajuta să înțelegeți mai bine:

Cheie candidat în DBMS

Deci, din tabelul de mai sus, am obținut super-cheile de mai jos (discutate în secțiunea anterioară):

Cheie candidat în DBMS

Acum, din aceste seturi de super-chei, putem concluziona cheile candidate. Pentru a ridica cheile candidate, cel mai bun mod este să analizăm și să formăm cheile primare cât de mult putem. Deci, trebuie să identificăm acele seturi din seturile de super chei care singure pot identifica întregul tabel, sau putem spune celelalte atribute ale tabelului. Astfel, rezultatul este:

eroare de atribut python
Cheie candidat în DBMS

Deci, acestea sunt cele trei atribute obținute care pot identifica celelalte atribute non-prime ale tabelului. Toate acestea sunt cheile candidate și din care putem alege cel mai potrivit atribut care poate identifica cu ușurință toate înregistrările tabelului, care va fi descris ca cheie primară.

Diferența dintre cheia candidatului și cheia super

Din discuțiile de mai sus, putem avea următoarele puncte de diferență:

Super Cheie Cheia candidatului
Este suprasetul tuturor acestor atribute care pot identifica în mod unic tabelul. Este subsetul sau o parte a tastei Super.
Nu este deloc obligatoriu ca toate super-cheile să fie chei candidate. Pe de altă parte, toate cheile candidate sunt super chei.
Atributul super-cheie poate fi NULL, ceea ce înseamnă că valorile sale pot fi nule. Un atribut care deține o cheie candidată nu poate fi niciodată NULL, ceea ce înseamnă că valorile sale nu pot fi nule.
Toate super-cheile s-au format împreună pentru a aduce cheile candidate. În mod similar, cheile candidate sunt reunite pentru a crea chei primare.
Numărul de super chei formate este întotdeauna văzut mai mult. Aici, cheile candidate sunt mai puțin decât super cheile.

Astfel, cheia super este super-setul, cheia candidată este subsetul, iar cheia primară este sub-subsetul supercheii.