Primaarvõtme ja võõra võtme erinevus

Relatsioonandmebaaside haldussüsteemis (RDBMS) hoitakse andmeid tabelites. Kuna tabelitesse salvestatakse tohutul hulgal andmeid, on alati võimalus, et andmed võivad muutuda organiseerimata või sisaldada duplikaate. Ka siis, kui peame selle tohutu andmestiku järgi andmed oma nõudmise järgi hankima, muutub ülesanne raskeks. Võtme mõistet kasutatakse RDBMS-is, et tuvastada tabeli kirjeid tuhandete andmeridade järgi. Samuti aitab võtme kasutamine tabelite vahelise seose loomisel, et andmeid saaks erinevatest tabelitest leida. Nii säilitab võtme relatsiooniandmebaaside haldussüsteemis nii tabelitasandite terviklikkus kui ka soovituslik terviklikkus. Selles artiklis uurime üksikasjalikult erinevust primaarvõtme ja võõra võtme vahel.

Peamine võti tabelis tuvastab kirjed unikaalselt ja võõrvõti viitab mõne teise tabeli primaarvõtmele. Võtame näiteks kaks tabelit: töötajate ja palkade tabelid, et mõista peamise ja võõra võtme mõisteid. Kui töötajate tabelis on peamine võti kui töötaja_ID, peab palgatabelis olema veerg Töötaja_ID, kuna nende kahe tabeli vahel peab olema seos, kui palgatabelis on võõrvõti, mis võib viidata töötajate tabel.

Primaarvõtme ja võõrvõtme võrdlus (infograafika)

Allpool on toodud 6 peamist erinevust primaarvõtme ja võõra võtme vahel:

Primaarvõtme ja võõra võtme peamised erinevused

Arutleme mõne peamise peamise erinevuse vahel primaarvõtme ja võõra võtme vahel:

  • Esmane võti tuvastab tabeli kirjed ainulaadselt, võõrast võtit kasutatakse aga tabelite linkimiseks, st see viitab mõne teise tabeli primaarvõtmele.
  • Tabeli primaarvõtme veerul ei tohi olla väärtusi Null ja sellel peaksid alati olema unikaalsed väärtused. Kuid tabeli võõrvõti võib sisaldada väärtusi Null ja sellel võivad olla ka dubleerivad väärtused.
  • Tabelil võib olla ainult üks primaarvõti, samas kui tabeli jaoks võib olla rohkem kui üks võõrvõti.
  • Indeks luuakse primaarvõtme jaoks automaatselt, samas kui võõrvõtme puhul ei loota indekseid automaatselt.
  • Võõrvõtme piirangut on lihtne kustutada, ehkki see viitab primaarvõtmele. Kuid primaarvõtme piirangu kustutamine võib luua alamkirjeta alamdokumentidega kirjeid.

Primaarvõtme ja võõra võtme võrdlustabel

Allolev tabel võtab kokku primaarvõtme ja võõra võtme võrdlused:

Esmane võtiVõõrvõti
Tabeli primaarvõti RDBMS-is võib olla üks veerg või koosneda enam kui ühest veerust, mida kasutatakse tabeli iga rea ​​kordumatu tuvastamiseks. Kui primaarvõti koosneb rohkem kui ühest veerust, kasutatakse rea ainulaadsuse määramiseks iga veeru andmeid. RDMBS-i tabelis võib olla ainult üks peamine võti.Võõravõti võib olla üks veerg või koosneda rohkem kui ühest veerust tabelis, mida kasutatakse teise tabeli esmase võtme viitamiseks. Välisvõtit saab kasutada tabelite linkimiseks RDBMS-is. Erinevalt primaarvõtme atribuudist võib RDBMS-i tabelis olla rohkem kui üks võõrvõti.
On vähe tingimusi, mis peaksid olema täidetud, et veerg oleks tabelis peamine võti. Üks tingimusi on see, et primaarvõti peaks sisaldama iga kirje kordumatut väärtust. Seega ei saa RDBMS-i tabelis lubada, et primaarse võtme atribuudi kahes reas oleks väärtused.Erinevalt RDBMS-i tabeli primaarvõtmest võib võõrvõti sisaldada dubleerivaid väärtusi. See võimaldab võõra võtme atribuudi tabeli ridadel kopeerida väärtusi.
Primaarvõtmeks oleva veeru teine ​​tingimus on see, et see ei tohiks sisaldada väärtusi Null.Kuid RDBMS-i tabeli võõrvõti võib sisaldada väärtusi Null.
Esmane võti täpsustatakse tabeli määratlemisel ja see on kohustuslik määratleda.Erinevalt primaarvõtmest puudub konkreetne tabeli määratlus võtme võõraks võtmeks tähistamiseks.
Vanematabelist ei saa primaarvõtme piirangut kustutada, kui sellele viidatakse alamtabeli võõrvõti. Nii et enne vanemate tabeli kustutamist tuleb kõigepealt kustutada lapselaud.Kuid kui peame kustutama tabelist võõrvõtme piirangu, saab selle alamtabelist kustutada, isegi kui see viitab vanemate tabeli primaarvõtmele.

Esmane võti indekseeritakse automaatselt, st esmane võti salvestatakse tabeli indeksisse ja see indeks aitab unikaalsuse nõuet hallata ning seetõttu on võõra võtme väärtustele hõlpsasti viidatud vastavatele primaarvõtme väärtustele.Võõra võtme korral indekseid automaatselt ei looda ja tavaliselt määratleb need andmebaasi administraator.

Järeldus

Põhi- ja võõrklahvid ei rakenda mitte ainult erinevat tüüpi terviklikkust, vaid loovad ka seoseid tabelite vahel. Primaar- ja võõrvõtmed tagavad ka selle, et suhte jaoks loodud veerud peavad sisaldama vastavaid väärtusi ja unikaalseid kirjeid peetakse tabelis. Relatsioonandmebaasi haldussüsteem töötab primaarse ja võõra võtme olemasolu tõttu tõhusalt.

Esmase võtme piirang aitab andmete terviklikkust automaatselt rakendada, kuna see takistab dubleeriva andmerea sisestamist või värskendamist. Võtmepiirangute kasutamisel väldib see ka rea ​​kustutamist primaarvõtme tabelist vanemtabelist, nii et ei luuata selliseid alamkirjeid, mille jaoks vanemkirjet pole. Ka siis, kui peatabelis kustutatakse või ajakohastatakse primaarvõtmele viitavat rida, säilitatakse viite terviklikkus võõrvõtme abil. Klahvidel on oluline roll linkide loomisel nii andmebaasi tabelite vahel kui ka tabelis.

Soovitatavad artiklid

See on juhend põhivõtme vs võõra võtme kohta. Siin käsitleme peamise võtme vs võõra võtme võtme erinevusi infograafika ja võrdlustabeliga. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. WebLogic vs WebSphere
  2. ROLAP vs MOLAP vs HOLAP
  3. GoCD vs Jenkins
  4. Võlg vs omakapitali finantseerimine

Kategooria: