Preporučeno, 2024

Izbor Urednika

Razlika između primarnog i kandidatskog ključa

Ključevi su atribut ili skup atributa koji se koriste za pristup tuplesima iz tablice ili se također koriste za konstruiranje odnosa između dvije tablice. U ovom ćemo članku raspravljati o Primarnom i Kandidatskom Ključu te o razlikama između njih. I Primarni i Kandidatski ključ jedinstveno identificiraju tuple u odnosu ili tablici. No, najvažnija točka koja ih razlikuje je da može postojati samo jedan primarni ključ u odnosu. Međutim, u odnosu može biti više od jednog ključa kandidata .

Postoji nekoliko razlika između Primarnog i Kandidatskog ključa o kojima ću raspravljati uz pomoć usporednog dijagrama prikazanog u nastavku.

Tablica usporedbe

Osnova za usporedbuGlavni ključKljuč kandidata
Osnovni, temeljniU svakom odnosu može biti samo jedan primarni ključ.U relaciji može biti više od jednog ključa kandidata.
NULLNijedan atribut Primarnog ključa ne može sadržavati NULL vrijednost.Atribut ključa kandidata može imati vrijednost NULL.
NavediteOpcionalno je odrediti primarni ključ za bilo koji odnos.Ne može biti naveden odnos bez ključa kandidata.
svojstvoPrimarni ključ opisuje najvažniji atribut odnosa.Ključevi kandidati predstavljaju kandidate koji se mogu kvalificirati za primarni ključ.
ObratnoPrimarni ključ je ključ kandidata.Ali nije obavezno da svaki ključ kandidata može biti primarni ključ.

Definicija primarnog ključa

Primarni ključ je atribut ili skup atributa koji će jedinstveno identificirati svaku torku u odnosu. Za svaki odnos može postojati samo jedan primarni ključ. Mora se paziti da primarni ključ nikada ne sadrži NULL vrijednost i mora imati jedinstvenu vrijednost za svaku torku u odnosu. Vrijednosti atributa / s primarnog ključa moraju biti statične, tj. Vrijednost atributa se nikada ne smije ili rijetko mijenjati.

Jedan od ključeva kandidata se kvalificira da postane primarni ključ. Pravila kojima se kandidat mora kvalificirati da bi postala primarna su da ključna vrijednost nikada ne smije biti NULL i mora biti jedinstvena za sve tuple.

Ako odnos sadrži atribut koji je primarni ključ nekog drugog odnosa, tada se taj atribut naziva stranim ključem .

Preporučljivo je odrediti primarni ključ relacije prije uvođenja drugih atributa relacije kao primarni ključ koji identificira svaku torku jedinstveno. Bolje je odabrati jedan atribut ili mali broj atributa kao primarni ključ koji olakšava upravljanje odnosima.

Sada ćemo vidjeti primjer primarnog ključa.

 Student {ID, First_name, Last_name, Age, Address} 

Ovdje ćemo najprije pronaći ključeve kandidate. Shvatio sam dvije kandidatske ključeve {ID} i {First_name, Last_name} jer će jedinstveno identificirati svakog učenika u odnosu studenta. Sada, ovdje ću izabrati ID kao svoj primarni ključ, jer se ponekad može dogoditi da dva učenika imaju isto ime i prezime, tako da će biti lako pratiti studenta s njegovom osobnom iskaznicom .

Definicija ključa kandidata

Kandidat ključ je atribut ili skup atributa koji jedinstveno definiraju tuple u relaciji. U relaciji postoji više od jednog ključa kandidata. Ovi ključevi kandidati su kandidati koji se mogu kvalificirati da postanu primarni ključ.

Iako se svaki kandidatski ključ kvalificira da postane primarni ključ, samo jedan može biti izabran kao primarni ključ. Pravila koja kandidatski ključ zahtijeva da postanu primarni ključ su vrijednosti atributa ključa koje nikada ne mogu biti NULL u bilo kojoj domeni ključa, moraju biti jedinstvene i statične .

Ako se sve kandidatske tipke kvalificiraju za primarni ključ, tada iskusni DBA mora donijeti odluku da otkrije primarni ključ. Nikada ne može biti odnosa bez ključa kandidata.

Razmotrimo ključ kandidata s primjerom. Ako dodamo još atributa Studentskom odnosu, razmotrio sam gore.

 Student {ID, First_name, Last_name, Age, Address, DOB, ime odjela} 

Ovdje mogu pronaći dva ključa kandidata koji su {ID}, {First_name, Last_name, DOB} . Tako možete razumjeti da su ključevi kandidati oni koji jedinstveno identificiraju tuple u odnosu.

Ključne razlike između primarnog i kandidatskog ključa

  1. Osnovna točka koja razlikuje primarni ključ od ključa kandidata je da može postojati samo jedan primarni za bilo koji odnos u shemi. Međutim, može postojati više ključeva kandidata za jedan odnos.
  2. Atribut pod primarnim ključem nikada ne može sadržavati NULL vrijednost jer je glavna funkcija primarnog ključa da jedinstveno identificira zapis u odnosu. Čak se i primarni ključ može koristiti kao strani ključ u drugom odnosu, te stoga ne smije biti NULL tako da referenciranje može pronaći referente u referentnom odnosu. Kandidatski ključ može biti NULL osim ako ograničenje atributa nije specificirano kao null.
  3. Opcionalno je specificirati primarni ključ, ali ne može biti odnosa bez ključeva kandidata.
  4. Primarni ključ opisuje jedinstveni i najvažniji atribut odnosa, dok kandidatske tipke daju kandidate među kojima se može odabrati kao primarni ključ.
  5. Svaki primarni ključ je ključ kandidata, ali obrnuto nije točno.

Zaključak:

To je opcionalno za odnos za određivanje primarnog ključa. S druge strane, ako izjavljujete relaciju, ključevi kandidati moraju biti prisutni u tom odnosu da bi se konstruirao dobar odnos.

Top