Ključna razlika med tujim in primarnim ključem je, da je tuji ključ stolpec ali niz stolpcev, ki se nanašajo na primarni ključ ali kandidatni ključ druge tabele, medtem ko je primarni ključ stolpec ali niz stolpcev ki se lahko uporablja za edinstveno identifikacijo vrstice v tabeli.
Stolpec ali niz stolpcev, ki jih je mogoče uporabiti za identifikacijo ali dostop do vrstice ali niza vrstic v bazi podatkov, se imenuje ključ. Primarni ključ v relacijski bazi podatkov je kombinacija stolpcev v tabeli, ki enolično identificirajo vrstico tabele. Tuji ključ v relacijski bazi podatkov je polje v tabeli, ki se ujema s primarnim ključem druge tabele. Tuji ključ se uporablja za križanje referenčnih tabel.
Kaj je tuji ključ?
Tuji ključ je referenčna omejitev med dvema tabelama. Identificira stolpec ali niz stolpcev v eni tabeli, imenovani referenčna tabela, ki se nanaša na niz stolpcev v drugi tabeli, imenovani referenčna tabela. Tuji ključ ali stolpci v referenčni tabeli morajo biti primarni ključ ali kandidatni ključ (ključ, ki se lahko uporablja kot primarni ključ) v referenčni tabeli. Poleg tega tuji ključi omogočajo povezovanje podatkov v več tabelah. Zato tuji ključ ne more vsebovati vrednosti, ki niso prikazane v tabeli, na katero se nanaša. Potem referenca, ki jo zagotovi tuji ključ, pomaga povezati informacije v več tabelah, kar bi postalo bistveno pri normaliziranih zbirkah podatkov. Več vrstic v referenčni tabeli se lahko nanaša na eno vrstico v referenčni tabeli.
Slika 01: Preslikava tujih ključev
V standardu ANSI SQL omejitev FOREIGN KEY definira tuje ključe. Poleg tega je možno določiti tuje ključe pri sami izdelavi tabele. Tabela ima lahko več tujih ključev, ki se lahko sklicujejo na različne tabele.
Kaj je primarni ključ?
Primarni ključ je stolpec ali kombinacija stolpcev, ki enolično definira vrstico v tabeli relacijske baze podatkov. Tabela ima lahko največ en primarni ključ. Primarni ključ uveljavlja implicitno omejitev NOT NULL. Zato stolpec s primarnim ključem ne more vsebovati vrednosti NULL. Primarni ključ je lahko običajen atribut v tabeli, za katerega je zajamčeno, da je edinstven, kot je številka socialnega zavarovanja, ali pa je lahko edinstvena vrednost, ki jo ustvari sistem za upravljanje baze podatkov, kot je globalno enolični identifikator (GUID) v strežniku Microsoft SQL Server.
Slika 02: Primarni ključ
Poleg tega omejitev PRIMARY KEY v standardu ANSI SQL definira primarne ključe. Pri ustvarjanju tabele je možno določiti tudi primarni ključ. Poleg tega 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 definiran kot NOT NULL. Toda nekateri sistemi za upravljanje podatkovnih baz zahtevajo, da stolpci primarnega ključa izrecno NE NULL.
Kakšna je razlika med tujim in primarnim ključem?
Tuji ključ proti primarnemu ključu |
|
Tuji ključ je stolpec ali skupina stolpcev v tabeli relacijske zbirke podatkov, ki zagotavlja povezavo med podatki v dveh tabelah. | Primarni ključ je poseben stolpec tabele relacijske baze podatkov ali kombinacija več stolpcev, ki omogoča edinstveno identifikacijo vseh zapisov tabele. |
NULL | |
Tuji ključ sprejema vrednost NULL. | Vrednost primarnega ključa ne more biti NULL. |
Število tipk | |
Tabela ima lahko več tujih ključev. | Tabela ima lahko samo en primarni ključ. |
Podvajanje | |
Tvojke imajo lahko podvojeno vrednost za atribut tujega ključa. | Dve torki v relaciji ne moreta imeti podvojenih vrednosti za atribut primarnega ključa. |
Povzetek – Tuji ključ proti primarnemu ključu
Razlika med tujim in primarnim ključem je v tem, da je tuji ključ stolpec ali niz stolpcev, ki se nanašajo na primarni ključ ali kandidatni ključ druge tabele, medtem ko je primarni ključ stolpec ali niz stolpcev, ki se lahko uporablja za edinstveno identifikacijo vrstice v tabeli.