Kaj je tuji ključ?

Baze podatkov so sestavljene iz tabel, v katerih so shranjeni podatki ali informacije. Tuji ključ je mehanizem v relacijski bazi podatkov, ki omogoča povezovanje teh tabel ali medsebojno razmerje tabel. Tuji ključ mora imeti edinstvene lastnosti. To mora biti stolpec ali skupina stolpcev v tabeli, katerih vrednosti vzpostavljajo odnos z vrednostmi v drugi tabeli znotraj iste baze podatkov.

Tuji ključ zagotavlja, da vrstice v eni tabeli ustrezajo vrsticam v neki drugi tabeli, s čimer se vzpostavijo odnosi ali reference za celotno bazo podatkov. Tabela, ki vsebuje tuji ključ, je »podrejena«, druga tabela pa je »nadrejena«. Možno je, da je vrednost tujega ključa nična ali prazna in da se dejansko sklicuje ali se nanaša na tisto, kar je znano kot primarni ključ tabele, v kateri se nahaja. To je znano kot samoreferenciranje.

Preden poskušamo v celoti razumeti koncept tujih ključev, moramo dobro razumeti, kaj je primarni ključ. Na primer, če sta v bazi podatkov dve tabeli, ki shranjujeta informacije o objavljenih knjigah za spletno mesto, ki prodaja knjige, je lahko ena tabela tabela založnikov, druga pa tabela knjig. Tabela založnikov je lahko sestavljena iz dveh stolpcev, primarnega ključa, ki je vedno edinstven za vsak zapis, in stolpca z imenom izdajatelja. Vsaj trije stolpci bi sestavljali tabelo knjig, ki bi vsebovali primarni ključ ali edinstveni identifikator za vsako knjigo, naslove knjig in stolpec, prek katerega bi bilo vzpostavljeno razmerje s tabelo založnikov. Ta stolpec bi bil tuji ključ.

Primarni ključ za tabelo založnikov je lahko nekaj takega kot »pub_id« z vrednostmi: P01, P02, P03 itd. Razmerje bi bilo vzpostavljeno s tabelo knjig, če bi vsebovala stolpec pub_id z enakimi vrednostmi. To bi bil tuji ključ, ki bi povezoval to podrejeno tabelo nazaj z nadrejeno tabelo – tabelo založnikov.

Tuji ključ pa ima lahko drugačno ime stolpca kot nadrejeni ključ, na katerega se sklicuje. Dobro razumevanje delovanja primarnih in tujih ključev je bistveno za ohranjanje referenčne celovitosti. Zelo velike baze podatkov, ki so sestavljene iz številnih tabel ali ki vključujejo spojno tabelo, predstavljajo več kot eno vrsto razmerja, kar lahko oteži nalogo dela s tujimi ključi.