Razlika med primarnim in kandidatnim ključem

Primarni ključ proti kandidatnemu ključu
 

Čeprav je primarni ključ izbran iz kandidatnih ključev, obstaja nekaj razlike med primarnim in drugim ključem, o čemer bomo podrobneje razpravljali v tem članku. Oblikovanje zbirke podatkov je ena najpomembnejših dejavnosti, ki jo je treba opraviti pri vzdrževanju in shranjevanju podatkov. Med tem postopkom oblikovanja je treba ustvariti različne tabele s številnimi razmerji. Za dostop do teh tabel v zbirki podatkov se v sodobnih jezikih za oblikovanje baz podatkov uporabljajo različne vrste ključev, kot so MYSQL, MSAccess, SQLite itd. Od teh ključev so kandidatovi ključi in primarni ključi postali bistveni pri načrtovanju baz podatkov.

Kaj je kandidatni ključ?

Kandidatni ključ je en stolpec ali niz stolpcev v tabeli baze podatkov, ki se lahko uporablja enolično identificirati kateri koli zapis baze podatkov, ne da bi se skliceval na druge podatke. Vsaka tabela baze podatkov ima lahko enega ali več ključnih ključev. Z uporabo funkcionalnih odvisnosti lahko ustvarite nabor ključev kandidatk. V ključu kandidata je nekaj pomembnih lastnosti. So;

• ključi kandidata morajo biti edinstveni znotraj domene in ne smejo vsebovati nobenih NULL vrednosti.

• kandidatni ključ se ne sme nikoli spreminjati in mora imeti isto vrednost za določen pojav podjetja.

Glavni namen kandidatnega ključa je pomagati prepoznati eno samo vrstico iz milijonov vrstic v veliki tabeli. Vsak kandidatni ključ je usposobljen, da postane primarni. Od vseh kandidatnih ključev pa bo najpomembnejši in poseben ključ kandidat postal primarni ključ tabele in najboljši med kandidatskimi ključi.

Kaj je primarni ključ?

Primarni ključ je najboljši kandidatni ključ tabele, ki se uporablja za enolično prepoznavanje zapisov ki so shranjeni v tabeli. Pri ustvarjanju nove tabele v bazi podatkov bomo morali izbrati primarni ključ. Zato je izbira primarnega ključa za tabelo najbolj kritična odločitev, ki jo mora sprejeti oblikovalec baz podatkov. Najpomembnejša omejitev, ki jo je treba upoštevati pri odločanju o primarnem ključu, je ta, da mora izbrani stolpec tabele vsebovati samo edinstvene vrednosti in ne sme vsebovati nobenih NULL vrednosti. Nekateri primarni ključi, ki se običajno uporabljajo pri oblikovanju tabel, so številka socialnega zavarovanja (SSN), ID in številka nacionalne osebne izkaznice (NIC).

Programer naj ne pozabi izbrati primarnega ključa, ker ga je težko spremeniti. Zato je po mnenju programerjev najboljša praksa ustvarjanja primarnega ključa uporaba notranje generiranega primarnega ključa, kot je ID za zapis, ustvarjen s podatkovnim tipom AutoNumber tipa MS Access. Če poskušamo vstaviti zapis v tabelo s primarnim ključem, ki podvaja obstoječi zapis, vstavljanje ne bo uspelo. Vrednost primarnega ključa se ne sme stalno spreminjati, zato je pomembneje ohraniti statični primarni ključ.

Primarni ključ je najboljši kandidatni ključ.

Kakšna je razlika med primarnim in kandidatnim ključem?

• Ključ kandidata je stolpec, ki je označen kot edinstven, primarni ključ pa je stolpec, ki enolično identificira zapis.

• Tabela brez kandidatnih ključev ne predstavlja nobene povezave.

• V tabeli je lahko veliko ključev kandidatov za tabelo, vendar mora biti samo en primarni ključ za tabelo.

• Čeprav je primarni ključ eden od kandidatskih ključev, je včasih edini kandidatni ključ.

• Ko je bil izbran primarni ključ, drugi kandidatni ključi postanejo edinstveni ključi.

• Praktično lahko ključ kandidat vsebuje NULL vrednosti, čeprav trenutno ne vsebuje nobene vrednosti. Zato ključ kandidata ni kvalificiran za primarni ključ, ker primarni ključ ne bi smel vsebovati nobenih NULL vrednosti.

• Mogoče je tudi, da bodo lahko ključi, ki so trenutno edinstveni, vsebovali podvojene vrednosti, zaradi katerih kandidatni ključ ne more postati primarni..

Povzetek:

Primarni ključ v primerjavi s kandidatnim ključem

Kandidatni in primarni ključ sta ključna ključa, ki se uporabljata pri oblikovanju podatkovnih baz, da bi lahko enotno prepoznali podatke v zapisu in vzpostavili razmerja med tabelami baze podatkov. Tabela mora vsebovati samo en primarni ključ in lahko vsebuje več kot en ključ. Danes je večina baz podatkov sposobna samodejno ustvariti svoj primarni ključ. Zato primarni in kandidatni ključi zagotavljajo številno podporo sistemom za upravljanje podatkovnih baz.

Vljudnost slik: 

  1. Primarni ključ SqlPac (CC BY-SA 3.0)