Mikä on ensisijainen avain?

Ensisijainen avain on tietokantaan tehty merkintä, joka on ainutlaatuinen yhdelle tietueelle. Tämä avain saadaan yleensä kahdella tavalla: yksilöllinen tunnistuskoodi tietokannan ulkopuolelta tai luotu numero tietokannasta. Kun tietokanta sisältää tietoja, jotka ovat aina yksilöllisiä merkinnälle, kuten sosiaaliturvatunnus tai osan tunnistenumero, niitä käytetään tyypillisesti ensisijaisena avaimena. Kun tiedoilla ei ole tällaista tunnistetta, tietokanta luo usein numeroita sisäisten järjestelmiensä perusteella antaakseen jokaiselle tietueelle yksilöllisen koodin.

Ensisijaisella avaimella on kolme päärajoitusta: olemassaolo, ainutlaatuisuus ja muuttumattomuus. Avaimen on oltava olemassa tietueen tekohetkellä – sitä ei voi lisätä myöhemmin. Jokaisen avaimen on oltava täysin erilainen kuin mikä tahansa muu avain. Tämä tarkoittaa, että yhteisiä tunnisteita, kuten nimeä tai syntymäaikaa, ei voida käyttää, koska on mahdollista, että kaksi ihmistä syntyy samana päivänä samalla nimellä. Lopuksi, ensisijaista avainta ei voi koskaan muuttaa sen luomisen jälkeen.

Koska tietokantaan voi mahdollisesti sisältyä ääretön määrä merkintöjä, myös ensisijaisen avaimen on oltava ääretön. Varmistaaksesi, että tietokanta ei koskaan lopu avaimista, useimmat tietueet käyttävät avaimen numeerista koodia. Koska numerot voivat aina kasvaa ja tietokoneet voivat yksinkertaisesti lisätä paikkatietojen nollia vanhempiin merkintöihin, järjestelmä ei koskaan lopu avaimista. Joskus nämä numerot perustuvat ei-ainutlaatuisiin tietoihin, mutta yksilöllinen tunniste lisätään avaimen elinkelpoisuuden varmistamiseksi.

Tietokannat käyttävät ensisijaista avainta tietojen järjestämisessä. Koska avainta ei koskaan toisteta, tämä tieto sallii tietokannan pitää kaikki tietueet erillään muista. Jokainen tietueen tieto on kytketty takaisin avaimeen; tällä tavalla, riippumatta siitä, mitä järjestelmälle tapahtuu, tietokanta voi rakentaa tietueet löysästä tiedosta.

Merkityksellisen ensisijaisen avaimen määrittämistä pidetään usein parempana käytäntönä kuin arvon automaattinen luominen. Tämä antaa tietueelle tunnisteen, joka toimii sekä avaimena että tarjoaa tietoja. Pienissä tietokannoissa tämä ero on harvoin tarpeellinen, mutta suurissa järjestelmissä luodun avaimen käyttämä lisätila voi aiheuttaa vakavan tietokannan paisumisen. Tämä hidastaa järjestelmän toimintaa ja tekee tietokannasta huomattavasti enemmän tallennustilaa.