Mis on liitvõti?

Andmebaasi korraldustehnoloogias on “võti” tabelis olev konkreetne atribuut, mida kasutatakse konkreetse olemi unikaalseks tuvastamiseks. Liitvõti kasutab sama eesmärgi saavutamiseks kahte või enamat atribuuti; ainult siis, kui need leitakse koos, tähistavad need elemendid “sobivust” sihtüksusega. Liitvõtmeid kasutatakse tavaliselt tabelite jaoks, mille teabestruktuur on ühe võtmega töötamiseks liiga keeruline. Teine liitvõtmete nõue on see, et ükski liitvõtme jaoks valitud individuaalsetest atribuutidest ei saa üksi olla lihtne, ühe atribuudiga võti.

Üks põhilisemaid näiteid liitvõtit nõudva andmebaasitabeli kohta on töötaja või õpilase kataloog. Kujutage ette, et tabel sisaldab ühte loendit “eesnimede” ja teist loendit “perekonnanimede” jaoks. Iseenesest ei piisaks konkreetse õpilase või töötaja ees- ega perekonnanimedest kordumatu tuvastamise tagamiseks, kuna on võimalik, et kahel või enamal andmebaasis oleva inimese ees- või perekonnanimed võivad kattuda. Kui see on seotud liitvõtmega – kasutades konkreetse õpilase või töötaja tuvastamiseks nii kirjeid „Eesnimi” kui ka „Perekonnanimi”, suureneb tõenäosus, et iga ees- ja perekonnanimi on kordumatu. Seega piisab iga konkreetse õpilase või töötaja unikaalseks tuvastamiseks ainult ees- ja perekonnanime liitvõtmest.

Pidage meeles, et liitvõtmeid tuleks kasutada ainult siis, kui ühe atribuudiga lihtsast võtmest ei piisa. Eelmist näidet jätkates, kui igal õpilasel või töötajal oleks ka kordumatu identifitseerimisnumber, muudaks see liitvõtmete vajaduse täiesti üleliigseks. Kui konkreetset õpilast või töötajat saaks tuvastada ainuüksi numbri järgi, poleks vaja pead vaevata ei ees- ega perekonnanimega; ainus oluline atribuut on identifitseerimisnumber.

Kuigi liitvõtme iga üksikatribuut ei ole ainulaadne, võib mis tahes atribuudi siiski valida võõrvõtmeks. Võõrvõti ühendab kaks või enam tabelit andmebaasis. Mõelgem näiteks ülikooli andmebaasile, milles on eraldi tabel üliõpilaste ja õpetajate teabe jaoks ning üliõpilaste tabelis kasutatakse liitvõtmena kombinatsiooni “Eesnimi” pluss “Perenimi”. Seetõttu saab õpilase ja õpetaja tabelite ühendamiseks kasutada sama liitklahvikombinatsiooni “Eesnimi” ja “Perekonnanimi”, mis loob lüüsi nende kahe vahel.