Razlika med primarnim in tujim ključem

V sistemu za upravljanje relacijskih podatkovnih baz (RDBMS) so podatki shranjeni v tabelah. Ker se ogromna količina podatkov shrani v tabelah, vedno obstaja možnost, da bodo podatki postali neorganizirani ali da vsebujejo dvojnike. Tudi ko moramo iz teh ogromnih podatkov pridobiti podatke v skladu z našo zahtevo, postane naloga težka. Koncept Key se v RDBMS uporablja za prepoznavanje zapisov v tabeli iz tisoč vrst vrstic. Uporaba ključa pomaga tudi pri vzpostavljanju razmerja med tabelami, tako da se podatki lahko sklicujejo med različnimi tabelami. Ključ sistema za upravljanje relacijskih podatkovnih baz ohranja integriteto na ravni tabele in referenčno integriteto. V tem članku bomo podrobno preučili razliko med primarnim in tujim ključem.

Primarni ključ v tabeli enolično identificira zapise, tuji ključ pa se nanaša na primarni ključ druge tabele. Vzemimo za primer dve tabeli: Tabele za zaposlene in plače, da razumemo koncepte primarnega in tujega ključa. Če ima tabela zaposlenega primarni ključ kot zaposleni_ID, mora biti v stolpcu plače prisoten stolpec Employee_ID, saj mora imeti razmerje med tema dvema tabelama, tako da ima v tabeli plače tuji ključ, ki se lahko nanaša na primarni ključ tabela zaposlenih.

Primerjava med primarnimi in tujimi ključi (Infographics)

Spodaj je zgornjih 6 razlik med primarnim in tujim ključem:

Ključne razlike med primarnim in tujim ključem

Pogovorimo se o nekaterih glavnih ključnih razlikah med primarnim in tujim ključem:

  • Primarni ključ identificira zapise v tabeli, medtem ko se tuji ključ uporablja za povezavo tabel, tj. Nanaša se na primarni ključ druge tabele.
  • Stolpec primarni ključ v tabeli ne more imeti ničelnih vrednosti in mora imeti vedno edinstvene vrednosti. Toda tuji ključ v tabeli lahko vsebuje ničelne vrednosti in ima lahko tudi podvojene vrednosti.
  • Tabela ima lahko samo en primarni ključ, medtem ko lahko za tabelo obstaja več kot en tuji ključ.
  • Indeks se ustvari za primarni ključ samodejno, medtem ko se za tuji ključ indeksi ne ustvarijo samodejno.
  • Omejitev tujega ključa je enostavno izbrisati, čeprav se nanaša na primarni ključ. Toda izbris omejitve primarnega ključa lahko ustvari zapise z nadrejenimi zapisi brez starševskih zapisov.

Primerjalna tabela primarnega in tujega ključa

Spodnja tabela povzema primerjave med primarnim in tujim ključem:

Primarni ključTuji ključ
Primarni ključ tabele v RDBMS je lahko en stolpec ali lahko obsega več kot en stolpec, ki se uporablja za enotno identifikacijo vsake vrstice v tabeli. V primeru, da primarni ključ vsebuje več stolpcev, se podatki iz vsakega stolpca uporabljajo za določitev edinstvenosti vrstice. Tabela v RDMBS ima lahko samo en primarni ključ.Tuji ključ je lahko en stolpec ali je sestavljen iz več stolpcev v tabeli, ki se uporablja za sklicevanje na primarni ključ druge tabele. Tuji ključ lahko uporabite za povezavo tabel v RDBMS. Za razliko od atributa primarnega ključa ima tabela v RDBMS več kot en tuji ključ.
Obstaja malo pogojev, ki bi morali biti izpolnjeni, da bi bil stolpec primarni ključ v tabeli. Eden od pogojev je, da mora primarni ključ vsebovati edinstveno vrednost za vsak zapis. Torej v tabeli v RDBMS ni mogoče dovoliti podvojenih vrednosti za dve vrstici za atribut Primarni ključ.Za razliko od primarnega ključa tabele v RDBMS lahko tuji ključ vsebuje podvojene vrednosti. To omogoča, da se za atribut tujega ključa podvojijo vrednosti za vrstice tabele.
Drugi pogoj stolpca, ki ustreza primarnemu ključu, je, da ne bi smel vsebovati ničelnih vrednosti.Toda tuji ključ tabele v RDBMS lahko vsebuje Null vrednosti.
Med definiranjem tabele je določen primarni ključ, primarni ključ pa je obvezen.Za razliko od primarnega ključa ni posebne definicije tabele, ki bi označevala ključ kot tuji ključ.
Omejitve primarnega ključa iz nadrejene tabele ni mogoče izbrisati, če se nanjo sklicuje tuji ključ nadrejene tabele. Otroško tabelo je treba najprej izbrisati, preden izbrišete nadrejeno tabelo.Če pa moramo omejitev tujega ključa izbrisati v tabeli, jo lahko izbrišemo iz Otroške tabele, čeprav se nanaša na primarni ključ nadrejene tabele.

Primarni ključ se samodejno indeksira, tj. Primarni ključ se shrani v indeks za tabelo, ta indeks pa pomaga pri upravljanju zahteve po edinstvenosti, zato se vrednosti tujih ključev zlahka nanašajo na ustrezne vrednosti primarnega ključa.V primeru tujega ključa indeksi ne nastanejo samodejno in običajno jih določi skrbnik zbirke podatkov.

Zaključek

Primarni in tuji ključi ne samo izvajajo različne vrste integritete, ampak tudi ustvarjajo odnose med tabelami. Primarni in tuji ključi zagotavljajo tudi, da morajo stolpci, ustvarjeni za razmerje, vsebovati ujemajoče se vrednosti in v tabeli voditi edinstvene zapise. Relacijski sistem za upravljanje podatkovnih baz deluje učinkovito zaradi prisotnosti primarnega in tujega ključa.

Omejitev primarnega ključa pomaga pri samodejni uporabi integritete podatkov, saj preprečuje vstavljanje ali posodabljanje podvojenih vrstic podatkov. Z uporabo omejitev tipk tudi prepreči brisanje vrstice iz tabele primarnih ključev iz nadrejene tabele, tako da se ne ustvarijo takšni podrejeni zapisi, za katere ni starševskega zapisa. Tudi kadar vrstico v zvezi s primarnim ključem izbrišete ali posodobite v nadrejeni tabeli, referenčni integriteto vzdržuje tuji ključ. Ključi imajo ključno vlogo pri vzpostavljanju povezav med tabelami podatkovnih baz in tudi znotraj tabele.

Priporočeni članki

To je vodnik za primarni in tuji ključ. Tukaj razpravljamo o razlikah med primarnim in tujim ključem z infografiko in primerjalno tabelo. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -

  1. WebLogic vs WebSphere
  2. ROLAP proti MOLAP proti HOLAP
  3. GoCD proti Jenkins
  4. Financiranje dolga proti lastniškemu kapitalu