Mis on võtmeväli?

Võtmeväli on andmebaasi veerg või veergude kombinatsioon, mis identifitseerib üheselt konkreetse kirje. Neid välju kasutatakse mitme andmebaasi tabeli terviklikkuse tuvastamiseks ja jõustamiseks. Nendel väljadel on kaks üldist maitset: liht- ja liitvõtmed, olenevalt võtmeväljaks märgitud veergude arvust. Kui seda välja kasutatakse algses tabelis, tuntakse seda “primaarse” võtmena; kui seda kasutatakse mõnes teises tabelis tabelite ühendamise meetodina, tuntakse seda “võõra” võtmena.

Et võtmeväljana oleks kasulik olla, peab võtmekandidaat olema ainulaadne, muutumatu ja nõutav. Unikaalsust on lihtne mõista; see tähendab, et ühelgi teisel andmebaasi kirjel ei saa olla sobivat võtmeväärtust mis tahes muu kirjega. Muutmatu tähendab, et võtmeväärtuses olev teave on fikseeritud ja muutumatu ning see ei muutu aja jooksul kunagi. Nõutav tähendab, et kui andmebaasi ei sisestata, võib võtme väärtuse tühjaks jätta. Näiteks ei saa töötajate andmebaasis võtmeväljana kasutada valikulist kategooriat, nagu rass või rahvus, kuna mõned töötajad ei pruugi seda teavet esitada.

Sobivate võtmeväljade valimine võimaldab andmebaasil säilitada oma terviklikkuse, jäädes tabelite vahel sidusaks. Näiteks kui andmebaasis on loetletud töötajate kirjed, võib tüüpiline kirje sisaldada töötaja eesnime, perekonnanime, sünnikuupäeva ja sotsiaalkindlustus- või töötaja ID-numbrit. Võtmevälja jaoks on ilmselge valik kas sotsiaalkindlustuse või töötaja ID-number; need mõlemad vastaksid ainulaadse, muutumatu ja nõutava nõuetele. Kui proovite otsida andmebaasist konkreetse töötaja kirjet, tagastaks numbri sisestamisel kohe ainult ühe töötaja kirje. Kui kasutate võtmeväljana töötaja perekonnanime, on võimalik, et leitakse mitu töötaja kirjet, kuna perekonnanime saab jagada rohkem kui ühel töötajal.

Üks võimalus vähendada kogemata võtmevälja valimise võimalust, millel on võimalus tagastada mitu kirjet, on liitvõtme kasutamine. Erinevalt lihtsast võtmest, mis kasutab ainult ühte veergu, kasutab liitvõti võtmeväljade esitamiseks mitme veeru kombinatsiooni. Näiteks töötaja eesnime, perekonnanime ja sünnikuupäeva kombinatsiooni kasutamine võtmena vähendaks drastiliselt – kuid mitte täielikult – võimalust rikkuda unikaalsusnõudeid. See pakub lahendust, kui head lihtsat võtit pole käepärast.