Recomandat, 2024

Alegerea Editorului

Diferența dintre cheia super și cheia candidatului

Cheile sunt elementele esențiale ale oricărei baze de date relaționale. Identifică fiecare tuplă într-o relație unică. Cheile sunt, de asemenea, folosite pentru a stabili relația dintre tabele într-o schemă. În acest articol, vom discuta două chei de bază ale oricărei baze de date care este cheie super-cheie și candidat. Fiecare cheie candidată este o cheie super, dar orice cheie superioară poate sau nu poate fi o cheie candidată. Există alți factori distinctiv între cheia super cheie și cea candidată, pe care am discutat pe scurt în tabelul de comparație de mai jos.

Diagramă de comparație

Bazele comparațieiSuper cheieCheia candidatului
De bazăUn singur atribut sau un set de atribute care identifică în mod unic toate atributele într-o relație este o cheie super-cheie.Un subset corespunzător al unei taste super, care este și o cheie super, este o cheie candidată.
Unul în altulNu este obligatoriu ca toate cheile super-cheie să fie chei candidate.Toate cheile candidate sunt chei super.
SelecţieSetul de taste super formează baza pentru selectarea cheilor candidate.Setul de chei candidate formează baza pentru selectarea unei singure taste primare.
NumaraExistă relativ mai multe chei super într-o relație.Există mai puține chei candidate într-o relație.

Definiția Super key

O cheie super este o cheie de bază a oricărei relații. Este definită ca o cheie care poate identifica toate celelalte atribute într-o relație . Tasta Super poate fi un singur atribut sau un set de atribute. Două entități nu au aceleași valori pentru atributele care compun o cheie super. Există cel puțin una sau mai multe chei super într-o relație.

O cheie super minimă este numită și cheia candidatului. Așa că putem spune că unele chei superbe se verifică pentru a fi o cheie candidată. Vom vedea mai târziu cum este verificată o cheie superplă pentru a deveni o cheie candidată.

Să luăm o relație R (A, B, C, D, E, F); avem următoarele dependențe pentru o relație R și am verificat fiecare pentru a fi super cheie.

Folosind cheia, AB putem identifica restul atributelor tabelului, adică CDEF . În mod similar, folosind tastele CD, ABD, DF și DEF putem identifica atributele rămase ale tabelului R. Deci toate acestea sunt chei super.

Dar folosind un CB cheie putem găsi valori doar pentru atributele D și F, nu putem găsi valoarea pentru atributele A și E. Prin urmare, CB nu este o cheie super. Același lucru este și cazul cheii D, nu putem găsi valorile tuturor atributelor într-un tabel folosind tasta D. Deci, D nu este o cheie super.

Definiția Candidate Key

O cheie super, care este un subset corespunzător al altei taste super de aceeași relație, se numește o cheie super minimă . Tasta super minimă se numește cheie candidat . Ca cheia super, o cheie candidat identifică, de asemenea, fiecare tuplă într-un tabel unic. Atributul unei chei candidate poate accepta valoarea NULL .

Una dintre cheile candidate este aleasă ca cheie primară de către DBA . Cu condiția ca valorile atributului cheie să fie unice și să nu conțină NULL. Atributele cheii Candidate se numesc atribute primare .

În exemplul de mai sus, am găsit cheile Super pentru relația R. Acum, să verificăm toate cheile super pentru a fi cheia Candidate.

Super cheie AB este un subset adecvat de ABD super cheie. Așadar, atunci când un AB minim super-cheie, singur, este capabil să identifice toate atributele într-un tabel, atunci nu avem nevoie de ABD cheie mai mare. Prin urmare, tasta AB superioară este o cheie candidat, în timp ce ABD va fi doar o cheie super.
În mod similar, un DF super-cheie este, de asemenea, un subset adecvat de DEF super cheie. Deci, când DF este singura capabilă să identifice toate atributele într-o relație de ce avem nevoie de DEF . Prin urmare, DF-ul super cheie devine o cheie candidată, în timp ce DEF este doar o cheie super.

CD-ul super-cheie nu este un subset corespunzător al oricărei alte taste super-cheie. Deci, putem spune că CD-ul este o cheie super minimă care identifică toate atributele dintr-o relație. Prin urmare, CD-ul este o cheie candidat.

În timp ce cheile CB și D nu sunt super cheie, ele nu pot fi chiar cheia candidatului. Vizionând tabelul de mai sus puteți concluziona că fiecare cheie candidat este o cheie super, dar inversul nu este adevărat.

Diferențele cheie între cheia super și cheia candidatului

  1. Un singur atribut sau un set de atribute care pot identifica în mod unic toate atributele unei anumite relații se numește cheie Super. Pe celelalte mâini, o cheie super, care este un subset corespunzător al altei taste super-cheie, se numește cheie candidat.
  2. Toate cheile candidate sunt chei super, dar inversul nu este adevărat.
  3. Setul de taste super este verificat pentru a găsi cheile candidat, în timp ce setul de chei candidate este verificat pentru a selecta o singură cheie primară.
  4. Cheile super sunt mai numerice decât cheile candidate.

Concluzie:

Cheia Super este o cheie de bază a oricărei relații. Acestea trebuie să fie reprezentate mai întâi înainte de a recunoaște alte chei pentru relație, deoarece ele formează baza pentru alte chei. Tasta candidat este importantă, deoarece ajută la recunoașterea celei mai importante chei a oricărei relații care este o cheie primară.

Top