Erinevus esmase ja kordumatu võtme vahel

Erinevus esmase ja kordumatu võtme vahel
Erinevus esmase ja kordumatu võtme vahel

Video: Erinevus esmase ja kordumatu võtme vahel

Video: Erinevus esmase ja kordumatu võtme vahel
Video: Бог говорит: I Will Shake The Nations | Дерек Принс с субтитрами 2024, November
Anonim

Esmane võti vs unikaalne võti

Vergu või veergude komplekti, mida saab kasutada andmebaasi rea või ridade komplekti tuvastamiseks või neile juurde pääsemiseks, nimetatakse võtmeks. Unikaalne võti on võti, mis suudab relatsiooniandmebaaside kontekstis unikaalselt tuvastada tabeli rea. Unikaalne võti koosneb ühest veerust või veergude komplektist. Esmane võti on ka tabeli veergude kombinatsioon, mis identifitseerib üheselt rea. Kuid seda peetakse unikaalse võtme erijuhtumiks.

Mis on kordumatu võti?

Nagu varem mainitud, on kordumatu võti üks veerg või veergude komplekt, mis suudab tabelis ühe rea üheselt tuvastada. Seega on kordumatu võti piiratud nii, et selle kaks väärtust pole võrdsed. Üks oluline omadus on see, et unikaalsed võtmed ei jõusta piirangut NOT NULL. Kuna NULL tähistab väärtuse puudumist, siis kui kahes reas on veerus NULL, ei tähenda see, et väärtused on võrdsed. Unikaalse võtmena määratletud veerg lubab selles veerus olla ainult üks NULL väärtus. Seejärel saab seda kasutada konkreetse rea ainulaadseks tuvastamiseks. Näiteks õpilase teavet sisaldavas tabelis saab õpilase ID määratleda kordumatu võtmena. Kuna kahel õpilasel ei saa olla sama ID-d, identifitseerib see ühe õpilase unikaalselt. Seega täidab õpilase ID veerg kõiki kordumatu võtme omadusi. Olenev alt andmebaasi kujundusest võib tabelis olla rohkem kui üks kordumatu võti.

Mis on esmane võti?

Esmane võti on ka veerg või veergude kombinatsioon, mis määratleb üheselt rea relatsiooniandmebaasi tabelis. Tabelis võib olla kuni üks primaarvõti. Esmane võti jõustab kaudse NOT NULL piirangu. Seega ei saa primaarvõtmena määratletud veerus olla NULL-väärtusi. Esmane võti võib olla tabelis tavaline atribuut, mis on garanteeritud unikaalne (nt sotsiaalkindlustuse number), või andmebaasihaldussüsteemi poolt genereeritud kordumatu väärtus, näiteks Microsoft SQL Serveri globaalselt kordumatu identifikaator (GUID). Primaarvõtmed on määratletud ANSI SQL standardi piirangu PRIMARY KEY kaudu. Peamise võtme saab määrata ka tabeli loomisel. SQL võimaldab primaarvõtme koosneda ühest või mitmest veerust ja iga primaarvõtmes sisalduv veerg on kaudselt määratletud kui NOT NULL. Kuid mõned andmebaasihaldussüsteemid nõuavad primaarvõtme veergude muutmist selgesõnaliselt NOT NULL.

Erinevus esmase ja kordumatu võtme vahel

Kuigi nii primaarvõti kui kordumatu võti on üks või mitu veergu, mis suudavad tabelis ühe rea üheselt tuvastada, on neil siiski mõned olulised erinevused. Kõige tähtsam on see, et tabelis võib olla ainult üks primaarvõti, samas kui sellel võib olla rohkem kui üks kordumatu võti. Primaarvõtit võib pidada kordumatu võtme erijuhtudeks. Teine erinevus seisneb selles, et primaarvõtmetel on kaudne NOT NULL piirang, samas kui unikaalsel võtmel seda piirangut pole. Seetõttu võivad unikaalse võtme veerud sisaldada NULL väärtusi, kuid ei pruugi olla, kuid primaarvõtme veerud ei tohi sisaldada NULL väärtusi.

Soovitan: