o cheie candidat este o cheie care identifică în mod unic rândurile dintr-un tabel. Oricare dintre cheile candidate identificate poate fi utilizată ca cheie primară a tabelului.Cheile Candidate care nu fac parte din cheia primară se numesc chei alternative. Se poate descrie o cheie candidat ca o super-cheie care conține doar numărul minim de coloane necesare pentru a determina unicitatea.
atributele Prime sunt atributele cheii candidate care definește unicitatea (de exemplu: numărul SSN într-o bază de date a angajaților)
o cheie primară este o coloană dintr-un tabel ale cărei valori identifică în mod unic rândurile din tabel. Cheia primară este aleasă din această listă de candidați pe baza valorii sale percepute pentru afacere ca identificator.
o valoare cheie primară:
- trebuie să identifice în mod unic rândul;
- nu poate avea valori nule;
- nu ar trebui să se schimbe în timp;
- și ar trebui să fie cât mai scurt posibil.
dacă cheia primară este o combinație de mai multe coloane, atunci se numește cheie compozită.
pentru a înțelege diferența cheie primară și atributele prime, ar trebui să știe mai întâi ce este o cheie super și candidat.
Super-cheie: orice atribut/combinație de atribute a căror închidere, pe baza dependențelor funcționale date, determină relația completă este o super-cheie. (O relație ar putea avea mai multe taste super)
de exemplu în relaționr (A,B,C,D); având în vedere dependențele funcționale ca:
ABC->D
AB->CD
a->BCD
D->ABC
următoarele sunt tastele super
ABC; deoarece închiderea sa dă relația completă adică, (ABC)->ABCD
AB; pentru că este mai aproape oferă și relația completă adică, (AB)->ABCD
A; pentru că închiderea oferă și relația completă adică, (a)->ABCD
D; pentru că închiderea oferă și relația completă adică, (d)->ABCD
cheie candidat: orice super-cheie al cărei subset propriu nu este o super-cheie este ACANDIDATE key. (O relație ar putea avea mai multe chei de candidat)
Deci, în exemplul de mai sus, A și D sunt singurele chei de candidat.
cheie primară: orice cheie candidat (poate sau nu poate fi minimă) care este aleasă de proiectantul bazei de date pentru a identifica înregistrarea este o cheie primară. (O relație poate avea o singură cheie primară/(cheie primară compusă: cheie primară care este alcătuită din mai multe coloane))
în exemplul de mai sus, A (să spunem) este cheia primară.
atribute Prime: un atribut care este prezent în oricare dintre cheile candidate este un atribut prime.
Deci, în exemplul de mai sus, a și D sunt atribute prime.
cheile primare pot consta dintr-un singur atribut sau mai multe atribute în combinație.De exemplu
name login emailBob catlover Jason doglover
login ar fi cheia primară și atributul va fi catlover / doglover tot ceea ce este atribuit în acea cheie