Erinevus Primaarvõtme Ja Kordumatu Võtme Vahel

Erinevus Primaarvõtme Ja Kordumatu Võtme Vahel
Erinevus Primaarvõtme Ja Kordumatu Võtme Vahel

Video: Erinevus Primaarvõtme Ja Kordumatu Võtme Vahel

Video: Erinevus Primaarvõtme Ja Kordumatu Võtme Vahel
Video: CS50 2014 - неделя 9, продолжение 2024, Mai
Anonim

Esmane võti vs kordumatu võti

Veergu või veergude komplekti, mida saab kasutada andmebaasi rea või ridade kogumi tuvastamiseks või sellele juurdepääsu saamiseks, nimetatakse võtmeks. Unikaalne võti on võti, mille abil saab relatsioonandmebaaside kontekstis tabeli rea ainulaadselt tuvastada. Unikaalne võti koosneb ühest veerust või veergude komplektist. Esmane võti on ka tabeli veergude kombinatsioon, mis identifitseerib rea kordumatult. Kuid seda peetakse unikaalse võtme erijuhtumiks.

Mis on ainulaadne võti?

Nagu varem mainitud, on ainulaadne võti üks veerg või veergude komplekt, mis võimaldab tabeli rida ainulaadselt tuvastada. Niisiis, unikaalne võti on piiratud nii, et selle kahte väärtust ei oleks võrdsed. Üks oluline omadus on see, et unikaalsed võtmed ei rakenda piirangut NOT NULL. Kuna NULL tähistab väärtuse puudumist, ei tähenda see, et kahel real oleks veerus NULL, et väärtused oleksid võrdsed. Unikaalse võtmena määratletud veerg lubab selles veerus ainult ühe NULL-väärtuse. Siis saab seda kasutada konkreetse rea kordumatuks tuvastamiseks. Näiteks õpilasteavet sisaldavas tabelis saab õpilase isikutunnistuse määratleda unikaalse võtmena. Kuna kahel õpilasel ei saa olla sama isikutunnistust, identifitseerib see ainulaadselt ühe õpilase. Nii et õpilase ID veerg vastab kõigile unikaalse võtme omadustele. Sõltuvalt andmebaasi ülesehitusesttabelis võib 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 ainulaadselt rea relatsiooniandmebaasi tabelis. Tabelis võib olla kuni üks esmane võti. Esmane võti rakendab kaudset NOT NULL piirangut. Niisiis, primaarvõtmena määratletud veerus ei tohi olla NULL-väärtusi. Esmane võti võib olla tabeli tavaline atribuut, mis on garanteeritud unikaalne, näiteks sotsiaalkindlustuse number, või see võib olla unikaalne väärtus, mille genereerib andmebaasi haldussüsteem, näiteks globaalselt unikaalne identifikaator (GUID) Microsoft SQL Serveris. Esmased võtmed määratletakse ANSI SQL-i standardi PÕHIVÕTI piirangu kaudu. Esmase võtme saab määratleda ka tabeli loomisel. SQL lubab primaarvõtme koosneda ühest või mitmest veerust ja iga primaarvõtmes sisalduv veerg on vaikimisi määratletud kui EI TÜHJE. Kuid mõned andmebaaside haldussüsteemid nõuavad, et primaarvõtme veerud oleksid otseselt NULL.

Erinevus primaarvõtme ja kordumatu võtme vahel

Kuigi nii esmane kui ka kordumatu võti on üks või mitu veergu, mis suudavad tabeli rida kordumatult tuvastada, on neil mõned olulised erinevused. Kõige tähtsam on see, et tabelil võib olla ainult üks esmane võti, samas kui sellel võib olla rohkem kui üks kordumatu võti. Primaarvõtit võib pidada unikaalse võtme erijuhtumiks. Teine erinevus on see, et primaarvõtmetel on kaudne NOT NULL piirang, samas kui unikaalsel võtmel seda piirangut pole. Seetõttu võivad unikaalsed võtmeveerud sisaldada või mitte sisaldada NULL-väärtusi, kuid esmase võtme veerud ei tohi sisaldada NULL-väärtusi.

Soovitatav: