Erinevus võõrvõti ja primaarvõtme vahel

võtme erinevus võõrvõti ja primaarvõtme vahel on see võõras võti on veerg või veerukomplekt, mis viitab mõne teise tabeli primaarvõtmele või kandidaatvõtmele, samas kui esmane võti on veerg või veerukomplekt, mida saab kasutada tabeli rea unikaalseks identifitseerimiseks.

Veergu või veergude komplekti, mida saab kasutada andmebaasi rea või ridade tuvastamiseks või neile juurdepääsu saamiseks, nimetatakse võtmeks. Relatsiooniandmebaasi esmane võti on tabeli veergude kombinatsioon, mis identifitseerib unikaalselt tabeli rea. Võõrvõti relatsiooniandmebaasis on tabeli väli, mis sobib teise tabeli primaarvõtmega. Võõrvõti kasutatakse viidete tabelite ristumiseks.

SISU

1. Ülevaade ja peamised erinevused
2. Mis on võõrvõti
3. Mis on esmane võti
4. Kõrvuti võrdlus - võõrvõti ja primaarvõti tabelina
5. Kokkuvõte

Mis on võõras võti?

Võõravõti on soovituslik piirang kahe tabeli vahel. See identifitseerib ühes tabelis veeru või veergude komplekti, mida nimetatakse viitamistabeliks, mis viitab teise tabeli veerukomplektile, mida nimetatakse viidatud tabeliks. Võõrvõti või viitetabeli veerud peavad olema viidatud tabeli primaarvõti või kandidaatvõtme (võti, mida saab kasutada peamise võtmena). Lisaks võimaldavad võõrad võtmed siduda andmeid mitme tabeli vahel. Seetõttu ei saa võõrvõti sisaldada väärtusi, mida ei kuvata tabelis, millele see viitab. Siis aitab võõrvõtme pakutav viide siduda teavet mitmesse tabelisse ja see muutuks hädavajalikuks normaliseeritud andmebaaside korral. Mitu rida viitamistabelis võib viidata viidatud tabeli ühele reale.

Joonis 01: Võõrvõtme kaardistamine

ANSI SQL-i standardis määratleb VÄLISKlahvi piirang võõrad võtmed. Lisaks on võõrklahve võimalik määratleda ka tabeli loomisel. Tabelil võib olla mitu võõrvõti ja need võivad viidata erinevatele tabelitele.

Mis on esmane võti?

Primaarvõti on veerg või veerukombinatsioon, mis määratleb ainulaadselt rea relatsioonilise andmebaasi tabelis. Tabelis võib olla maksimaalselt üks primaarvõti. Primaarvõti rakendab kaudset MITTE Null-piirangut. Seetõttu ei saa primaarvõtmega veerul olla NULL-i väärtusi. Esmane võti võib olla tabeli tavaline atribuut, mille puhul on tagatud, et see on kordumatu (nt sotsiaalkindlustuse number), või see võib olla unikaalne väärtus, mille genereerib andmebaasihaldussüsteem, näiteks globaalselt unikaalne identifikaator (GUID) Microsoft SQL Serveris..

Joonis 02: esmane võti

Lisaks määratleb ANSI SQL Standardis olev PRIMARY KEY piirang esmased võtmed. Tabeli loomisel on võimalik määratleda ka primaarvõti. Lisaks sellele võimaldab SQL primaarvõtit koosneda ühest või enamast veerust ja iga primaarvõtmesse kuuluv veerg on kaudselt määratletud olevat MITTE Null. Kuid mõned andmebaasihaldussüsteemid nõuavad primaarvõtme veergude muutmist selgesõnaliselt MITTE Nulliks.

Mis vahe on võõral ja primaarsel võtmel??

 Võõrvõti vs esmane võti

Võõravõti on veerg või veerugrupp relatsiooniandmebaasi tabelis, mis pakub seost kahe tabeli andmete vahel. Primaarvõti on spetsiaalne relatsioonandmebaasi tabeli veerg või mitme veeru kombinatsioon, mis võimaldab kõik tabeli kirjed üheselt tuvastada.
NULL
Võõras võti aktsepteerib väärtust NULL. Primaarvõtme väärtus ei saa olla NULL.
Klahvide arv
Tabelis võib olla mitu võõrklahvi. Tabelil võib olla ainult üks peamine võti.
  Kopeerimine
Tuplitel võib olla võõrvõti atribuudi duplikaatväärtus. Seose kahel tüübil ei saa olla primaarvõtme atribuudi dubleerivaid väärtusi.

Kokkuvõte - võõrvõti vs esmane võti

Erinevus võõrvõtme ja primaarvõtme vahel on see, et võõrvõti on veerg või veerukomplekt, mis viitab mõne teise tabeli primaarvõtmele või kandidaatvõtmele, samas kui primaarvõti on veerg või veerukomplekt, mida saab kasutada unikaalselt määrake tabelis rida.

Viide:

1. “Võõrvõti”. Vikipeedia, Wikimedia Foundation, 12. mai 2018. Saadaval siin  
2. „Esmane võti”. Vikipeedia, Wikimedia Foundation, 3. aprill 2018. Saadaval siin 

Pilt viisakalt:

1.Välis-võtmekaardistamineBy MovGP0 - Enda töö, (CC BY-SA 3.0) Commonsi Wikimedia kaudu  
2.'Erd-id-as-first-key'By UniCollab - oma töö, (CC BY-SA 3.0) Commonsi Wikimedia kaudu