Primarni in vs
Stolpec ali niz stolpcev, s pomočjo katerih lahko prepoznate vrstico ali niz vrstic v zbirki podatkov ali dostopate do njih, imenujemo ključ. Edinstven ključ je ključ, ki lahko v kontekstu relacijskih baz podatkov enolično prepozna vrstico v tabeli. Edinstven ključ je sestavljen iz enega stolpca ali niza stolpcev. Primarni ključ je tudi kombinacija stolpcev v tabeli, ki enolično prepoznajo vrstico. Vendar velja za poseben primer edinstvenega ključa.
Kaj je edinstven ključ?
Kot smo že omenili, je edinstven ključ en stolpec ali niz stolpcev, ki lahko enolično prepoznajo vrstico v tabeli. Torej je enkraten ključ omejen tako, da nobena od njegovih dveh vrednosti ni enaka. Pomembna lastnost je, da edinstveni ključi ne uveljavljajo omejitve NOT NULL. Ker NULL predstavlja pomanjkanje vrednosti, če imata dve vrstici v stolpcu NULL, to ne pomeni, da sta vrednosti enaki. Stolpec, opredeljen kot edinstven ključ, omogoča le eno vrednost NULL v tem stolpcu. Potem se to lahko uporabi za enolično identifikacijo te vrstice. Na primer, v tabeli, ki vsebuje podatke o študentu, je ID študenta mogoče določiti kot edinstven ključ. Ker nobena dva študenta ne moreta imeti enakega ID-ja, enotno identificira enega študenta. Torej stolpec ID študenta izpolnjuje vse lastnosti edinstvenega ključa. Tabela ima lahko več kot en edinstven ključ, odvisno od zasnove baze podatkov.
Kaj je primarni ključ?
Primarni ključ je tudi stolpec ali kombinacija stolpcev, ki enolično določa vrstico v tabeli relacijske baze podatkov. Tabela ima lahko največ en primarni ključ. Primarni ključ uveljavi implicitno omejitev NOT NULL. Torej stolpec, ki je opredeljen kot primarni ključ, v njem ne more imeti NULL vrednosti. Primarni ključ je lahko običajen atribut v tabeli, za katerega je zagotovljeno, da je edinstven, na primer številka socialne varnosti, lahko pa je tudi edinstvena vrednost, ki jo ustvari sistem za upravljanje baz podatkov, kot je globalno edinstven identifikator (GUID) v Microsoftovem SQL Serverju. Primarni ključi so določeni z omejitvijo PRIMARNI KLJUČ v standardu ANSI SQL. Primarni ključ lahko določite tudi pri ustvarjanju tabele. SQL omogoča, da je primarni ključ sestavljen iz enega ali več stolpcev, vsak stolpec, ki je vključen v primarni ključ, pa je implicitno opredeljen kot NI NULL. Toda nekateri sistemi za upravljanje baz podatkov zahtevajo, da stolpci primarnega ključa izrecno NI NULL.
Razlika med primarnim in enoličnim ključem
Čeprav sta primarni in edinstveni ključ en ali več stolpcev, ki lahko enolično prepoznajo vrstico v tabeli, imajo nekatere pomembne razlike. Najpomembneje je, da ima tabela samo en primarni ključ, medtem ko ima lahko več kot en enkraten ključ. Primarni ključ lahko obravnavamo kot poseben primer edinstvenega ključa. Druga razlika je v tem, da imajo primarni ključi implicitno NULL omejitev, medtem ko edinstveni ključ nima te omejitve. Zato lahko edinstveni stolpci ključev vsebujejo vrednosti NULL, vendar stolpci primarnega ključa ne morejo vsebovati vrednosti NULL.