Kaj je primarni ključ?

Primarni ključ je vnos v bazo podatkov, ki je edinstven za en zapis. Ta ključ je običajno izpeljan na enega od dveh načinov: edinstvena identifikacijska koda zunaj baze podatkov ali ustvarjena številka znotraj baze podatkov. Če bo zbirka podatkov vsebovala informacije, ki so vedno edinstvene za vnos, kot je številka socialnega zavarovanja ali identifikacijska številka dela, se te običajno uporabljajo kot primarni ključ. Če podatki ne bodo imeli takega identifikatorja, bo baza podatkov pogosto ustvarila številke na podlagi svojih notranjih sistemov, da bi vsakemu zapisu dodelila edinstveno kodo.

Obstajajo tri glavne omejitve primarnega ključa: obstoj, edinstvenost in nespremenljivost. Ključ mora obstajati v času, ko je zapis narejen – pozneje ga ni mogoče dodati. Vsak ključ mora biti popolnoma drugačen od katerega koli drugega ključa. To pomeni, da skupnih identifikatorjev, kot sta ime ali rojstni datum, ni mogoče uporabiti, ker je možno, da sta dve osebi rojeni na isti dan z istim imenom. Nazadnje, primarnega ključa ni mogoče nikoli spremeniti, ko je enkrat ustvarjen.

Ker ima lahko baza podatkov neskončno število vnosov, mora biti tudi primarni ključ neskončen. Da bi zagotovili, da v bazi podatkov nikoli ne bo zmanjkalo ključev, večina zapisov uporablja številčno kodo za ključ. Ker lahko številke vedno postanejo večje in računalniki lahko starejšim vnosom preprosto dodajo ničle, ki držijo mesto, sistemu nikoli ne bo zmanjkalo ključev. Včasih te številke temeljijo na neenoličnih informacijah, vendar je dodan edinstven identifikator, da se zagotovi, da je ključ izvedljiv.

Baze podatkov bodo uporabljale primarni ključ kot način organiziranja podatkov. Ker se ključ nikoli ne ponovi, bo ta informacija v bazi podatkov omogočila, da vsak zapis hrani ločen od drugega. Vsaka informacija v zapisu je povezana nazaj s ključem; na ta način, ne glede na to, kaj se zgodi s sistemom, lahko baza podatkov obnovi zapise iz ohlapnih informacij.

Dodeljevanje smiselnega primarnega ključa se pogosto obravnava kot boljša praksa kot samodejno generiranje vrednosti. To bo zapisu dalo identifikator, ki deluje kot ključ in zagotavlja podatke. V majhnih bazah podatkov je to razlikovanje redko potrebno, v velikih sistemih pa lahko dodaten prostor, ki ga uporablja ustvarjeni ključ, povzroči resno napihnjenost baze podatkov. To bo upočasnilo sistem in zahtevalo bistveno več prostora za shranjevanje podatkov.