Primaarvõtme ja kandidaatvõtme erinevus

Esmane võti või kandidaatvõti
 

Kuigi primaarvõti valitakse kandidaatvõtmete hulgast, eksisteerib primaarvõtme ja teiste kandidaatvõtmete vahel teatud erinevus, mida käsitletakse selles artiklis üksikasjalikult. Andmebaaside kujundamine on üks olulisemaid tegevusi, mida tuleks andmete hoidmisel ja säilitamisel teha. Selle kujundamise käigus tuleb luua erinevad paljude suhetega tabelid. Nendele tabelitele andmebaasis juurde pääsemiseks kasutatakse tänapäevastes andmebaaside kujundamise keeltes nagu MYSQL, MSAccess, SQLite jne erinevat tüüpi võtmeid. Nendest võtmetest on kandidaadivõtmed ja primaarvõtmed muutunud andmebaasi kujundamise tavades oluliseks.

Mis on kandidaadivõti?

Kandidaadi võti on andmebaasi tabeli üks veerg või veergude komplekt, mida saab kasutada tuvastage andmebaasi kirjed üheselt, viitamata muudele andmetele. Igas andmebaasi tabelis võib olla üks või mitu kandidaatvõtit. Kandidaatide võtmete komplekti saab luua funktsionaalsete sõltuvuste abil. Kandidaadi võtmes on mõned olulised omadused. Nemad on;

• kandidaatvõtmed peaksid olema domeenis ainulaadsed ja need ei tohiks sisaldada NULL-i väärtusi.

• kandidaatvõti ei tohiks kunagi muutuda ja sellel peab olema üksuse konkreetse esinemise korral sama väärtus.

Kandidaatide võtme peamine eesmärk on aidata tuvastada miljonist reas suures tabelis üks rida. Iga kandidaatvõtit on kvalifitseeritud saama peamiseks võtmeks. Kõigist kandidaatvõtmetest saab aga tabeli peamiseks võtmeks kõige olulisem ja eriline kandidaatvõtmeke ning see on kandidaatvõtmete hulgas parim.

Mis on esmane võti?

Esmane võti on tabeli parim kandidaatvõti, mida kasutatakse dokumentide ainulaadseks tuvastamiseks mis on salvestatud tabelisse. Andmebaasis uue tabeli loomisel palutakse meil valida peamine võti. Seetõttu on tabeli primaarvõtme valimine kõige kriitilisem otsus, mille peaks vastu võtma andmebaasi kujundaja. Kõige olulisem piirang, mida tuleks primaarvõtme üle otsustamisel arvestada, on see, et valitud tabeli veerg peaks sisaldama ainult kordumatuid väärtusi ja see ei tohiks sisaldada ühtegi NULL-i väärtust. Mõned peamised võtmed, mida tavaliselt tabelite kujundamisel kasutatakse, on sotsiaalkindlustuse number (SSN), ID ja riikliku isikutunnistuse number (NIC)..

Programmeerija peaks meeles pidama primaarvõtme hoolikalt valimist, kuna seda on keeruline muuta. Seetõttu on programmeerijate sõnul primaarvõtme loomise parim tava kasutada sisemiselt genereeritud primaarvõtit, näiteks kirje Record ID, mille on loonud MS Accessi automaatse numbri tüüp. Kui proovime lisada kirje tabelisse primaarvõtmega, mis dubleerib olemasolevat kirjet, siis sisestamine ebaõnnestub. Primaarvõtme väärtus ei tohiks pidevalt muutuda, seetõttu on olulisem hoida staatilist peamist võtit.

Peamine võti on parim kandidaatvõti.

Mis vahe on esmasel ja kandidaatvõtmel??

• Kandidaatide võti on veerg, mis kvalifitseerub unikaalseks, samas kui esmane võti on veerg, mis identifitseerib unikaalselt kirje.

• Kandidaatvõtmeteta tabel ei tähista seost.

• Andmebaasis võib olla palju tabeli kandidaatvõtmeid, kuid tabeli jaoks peaks olema ainult üks peamine võti.

• Ehkki primaarvõti on üks kandidaatvõtmetest, on see mõnikord ainus kandidaatvõti.

• Kui primaarvõti on valitud, muutuvad teised kandidaatvõtmed kordumatuks võtmeks.

• Praktiliselt võib kandidaatvõtme sisaldada NULL-i väärtusi, ehkki see ei sisalda praegu ühtegi väärtust. Seetõttu pole kandidaatvõtit primaarvõtme jaoks kvalifitseeritav, kuna primaarvõti ei tohiks sisaldada ühtegi NULL-i väärtust.

• Samuti võib olla võimalik, et kandidaadivõtmed, mis on praegu ainulaadsed, võivad sisaldada dubleerivaid väärtusi, mis välistavad kandidaatvõtme muutumise esmaseks võtmeks.

Kokkuvõte:

Peamine võti ja kandidaatvõti

Kandidaat- ja primaarvõti on olulised võtmed, mida kasutatakse andmebaaside kujundamisel, et dokumendis olevad andmed üheselt tuvastada ja luua seoseid andmebaasi tabelite vahel. Tabel peaks sisaldama ainult ühte peamist võtit ja võib sisaldada rohkem kui ühte kandidaatvõtit. Tänapäeval on enamus andmebaase võimelised automaatselt looma oma peamise võtme. Seetõttu pakuvad primaar- ja kandidaatvõtmed andmebaasihaldussüsteemidele arvukalt tuge.

Pildid viisakalt: 

  1. Peamine võti SqlPaci poolt (CC BY-SA 3.0)