Priporočena, 2023

Izbira Urednika

Razlika med primarnim in kandidatnim ključem

Ključi so atribut ali niz atributov, ki se uporabljajo za dostop do korakov iz tabele ali pa se uporabljajo tudi za konstruiranje razmerja med dvema tabelama. V tem članku bomo razpravljali o primarnem in kandidatnem ključu ter o razlikah med njimi. Oba primarnega in kandidatnega ključa enolično identificirajo tuple v relaciji ali tabeli. Vendar pa je najpomembnejša točka, ki jih ločuje, ta, da lahko v razmerju obstaja samo en primarni ključ . Vendar lahko v razmerju obstaja več kot en kandidat .

Obstaja nekaj razlik med primarnim in kandidatnim ključem, o katerih bom razpravljal s pomočjo spodnjega primerjalnega grafikona.

Primerjalna tabela

Podlaga za primerjavoPrimarni ključKljuč kandidata
OsnovnoV vsakem razmerju je lahko samo en primarni ključ.V razmerju je lahko več kot en kandidat.
NIČNoben atribut primarnega ključa ne sme vsebovati vrednosti NULL.Atribut ključa kandidata ima lahko vrednost NULL.
DoločiteNeobvezno je določiti primarni ključ za katero koli razmerje.Ne more biti razmerja brez podanega ključa kandidata.
FunkcijaPrimarni ključ opisuje najpomembnejši atribut odnosa.Ključi kandidatov predstavljajo kandidate, ki se lahko kvalificirajo za primarni ključ.
VersaPrimarni ključ je kandidatni ključ.Vendar ni nujno, da je lahko vsak ključ kandidat primarni ključ.

Opredelitev primarnega ključa

Primarni ključ je atribut ali niz atributov, ki bodo enolično identificirali vsako zaporedje v relaciji. Za vsako razmerje je lahko samo en primarni ključ. Treba je paziti, da primarni ključ nikoli ne vsebuje vrednosti NULL in mora imeti edinstveno vrednost za vsako zaporedje v relaciji. Vrednosti atributov / -ov primarnega ključa morajo biti statične, tj. Vrednost atributa se nikoli ali redko spreminja.

Eden od ključev kandidatov postane usposobljen, da postane primarni ključ. Pravila, ki jih mora imeti kandidatni ključ, da postane primarna, so, da vrednost ključa nikoli ne sme biti NULL in mora biti edinstvena za vse tuple.

Če razmerje vsebuje atribut, ki je primarni ključ nekega drugega razmerja, se ta atribut imenuje tuji ključ .

Priporočamo, da ugotovite primarni ključ relacije, preden uvedete druge atribute relacije, saj primarni ključ enolično identificira vsako zaporedje. Bolje je izbrati en atribut ali majhno število atributov kot primarni ključ, kar olajša upravljanje odnosov.

Zdaj pa si oglejmo primer primarnega ključa.

 Študent {ID, ime_primera, ime_poslednje, starost, naslov} 

Tukaj bomo najprej ugotovili kandidatne ključe. Ugotovil sem dve kandidatni ključi {ID} in {First_name, Last_name}, saj bosta edinstveno identificirali vsakega študenta v razmerju študentov. Zdaj bom tukaj izbral ID kot svoj primarni ključ, ker se včasih lahko zgodi, da imata dva učenca enako ime in priimek, tako da bo študent zlahka izsledil njegovo osebno izkaznico .

Opredelitev ključa kandidata

Kandidatni ključ je atribut ali niz atributov, ki enolično definirajo tuple v relaciji. V relaciji obstaja več kot en kandidat. Ti ključi kandidatov so kandidati, ki lahko postanejo primarni ključ.

Čeprav se vsak kandidat kvalificira, da postane primarni ključ, se lahko kot primarni ključ izbere samo eden. Pravila, ki jih potrebuje ključ kandidata, da postanejo primarni ključ, so vrednost atributa ključa, ki nikoli ne more biti NULL v nobeni domeni ključa, mora biti edinstvena in statična .

Če so vsi ključi kandidati upravičeni do primarnega ključa, potem se mora izkušeni DBA odločiti, da bo ugotovil primarni ključ. Nikoli ne more biti razmerja brez ključa kandidata.

Naj razumemo kandidatni ključ z zgledom. Če dodamo še nekaj atributov v odnos študentov, sem razpravljal zgoraj.

 Študent {ID, ime_primera, ime_poslednje, starost, naslov, DOB, ime_oddelka} 

Tu lahko najdem dva kandidatna ključa, ki sta {ID}, {First_name, Last_name, DOB} . Torej lahko razumete, da so kandidatni ključi tisti, ki enolično identificira tuple v relaciji.

Ključne razlike med primarnim in kandidatnim ključem

  1. Osnovna točka, ki razlikuje primarni ključ od ključa kandidata, je, da lahko obstaja le en primarni za katero koli razmerje v shemi. Vendar pa lahko za posamezno razmerje obstaja več tipk kandidatov.
  2. Atribut pod primarnim ključem ne more nikoli vsebovati vrednosti NULL, ker je glavna funkcija primarnega ključa, da enolično identificira zapis v odnosu. Tudi primarni ključ se lahko uporabi kot tuji ključ v drugem razmerju in zato ne sme biti NULL, tako da lahko referenčna relacija najde zapise v referenčnem razmerju. Kandidatni ključ je lahko NULL, razen če omejitev atributa ni podana ničelna vrednost.
  3. Neobvezno je določiti primarni ključ, vendar ne more biti razmerja brez kandidatnih ključev.
  4. Primarni ključ opisuje edinstven in najpomembnejši atribut relacije, medtem ko kandidatne ključi zagotavljajo kandidate, med katerimi je lahko izbran kot primarni ključ.
  5. Vsak primarni ključ je kandidatni ključ, vendar obratno ni res.

Sklep:

To je neobvezno za relacijo, ki določa primarni ključ. Po drugi strani, če razglašate relacijo, morajo biti kandidatni ključi prisotni v tem razmerju, da lahko konstruirate dobro razmerje.

Top