Mikä on avainkenttä?

Avainkenttä on joko sarake tai sarakkeiden yhdistelmä tietokannassa, joka yksilöi kyseessä olevan merkinnän yksilöllisesti. Näitä kenttiä käytetään tunnistamaan ja noudattamaan eheyttä useissa tietokannan taulukoissa. Näillä kentillä on kaksi yleistä makua: yksinkertaiset ja yhdistetyt näppäimet avainkenttään merkittyjen sarakkeiden lukumäärän mukaan. Kun tätä kenttää käytetään alkuperäisessä taulukossaan, sitä kutsutaan ”ensisijaiseksi” avaimeksi; kun sitä käytetään toisessa taulukossa taulukoiden yhdistämismenetelmänä, sitä kutsutaan ”vieraaksi avaimeksi”.

Jotta avainkandidaatti olisi hyödyllinen avainkentässä, sen on oltava ainutlaatuinen, muuttumaton ja vaadittu. Ainutlaatuisuus on helppo ymmärtää; se tarkoittaa, että millään muulla tietokannan merkinnällä ei voi olla vastaavaa avainarvoa kuin millään muulla merkinnällä. Muuttamaton tarkoittaa, että avainarvon tiedot ovat kiinteitä ja muuttumattomia, eivätkä ne koskaan muutu ajan myötä. Pakollinen tarkoittaa, että jos tietokantaan ei tehdä mitään, avaimen arvo voidaan jättää tyhjäksi. Esimerkiksi valinnaista luokkaa, kuten rotu tai kansalaisuus, ei voitu käyttää avainkenttänä työntekijöiden tietokannassa, koska jotkut työntekijät eivät ehkä ole halukkaita antamaan näitä tietoja.

Asianmukaisten avainkenttien valitseminen mahdollistaa tietokannan eheyden säilyttämisen pysyen yhtenäisenä taulukoiden välillä. Jos esimerkiksi tietokanta sisältää työntekijöiden tietueet, tyypillinen merkintä voi sisältää työntekijän etunimen, sukunimen, syntymäajan ja sosiaaliturvan tai työntekijän tunnusnumeron. Ilmeinen valinta avainkenttään on joko sosiaaliturva tai työntekijän tunnusnumero; molemmat täyttävät ainutlaatuisten, muuttumattomien ja vaadittujen vaatimukset. Kun yritetään etsiä tietyn työntekijän tietuetta tietokannasta, numeron syöttäminen palauttaa välittömästi enintään yhden työntekijän tietueen. Jos käytät työntekijän sukunimeä avainkentässä, on mahdollista, että useita työntekijöiden tietueita löydetään, koska useampi kuin yksi työntekijä voi jakaa sukunimen.

Yksi tapa vähentää mahdollisuuksia valita vahingossa avainkenttä, jolla on mahdollisuus palauttaa useita tietueita, on käyttää yhdistelmäavainta. Toisin kuin yksinkertainen avain, joka käyttää vain yhtä saraketta, yhdistelmäavain käyttää useiden sarakkeiden yhdistelmää avainkenttien esittämiseen. Esimerkiksi avaimen yhdistelmän käyttäminen etunimen, sukunimen ja syntymäajan välillä vähentäisi merkittävästi – mutta ei kokonaan – mahdollisuutta rikkoa ainutlaatuisuusvaatimusta. Tämä tarjoaa ratkaisun, kun hyvää yksinkertaista avainta ei ole helposti saatavilla.