Ensisijainen avain vs. ainutlaatuinen avain
Sarakkeita tai sarakkeita, joita voidaan käyttää tietokannan rivien tai rivien tunnistamiseen tai niihin pääsyyn, kutsutaan avaimiksi. Ainutlaatuinen avain on avain, joka pystyy yksilöimään rivin taulukossa relaatiotietokantojen yhteydessä. Ainutlaatuinen avain koostuu yhdestä sarakkeesta tai sarakkeiden joukosta. Ensisijainen avain on myös yhdistelmä sarakkeita taulukossa, jotka yksilöivät rivin. Mutta sitä pidetään ainutlaatuisen avaimen erityistapauksena.
Mikä on ainutlaatuinen avain?
Kuten aikaisemmin mainittiin, ainutlaatuinen avain on yksi sarake tai sarakkeisto, joka voi yksilöida rivin taulukossa. Joten, ainutlaatuinen avain on rajoitettu siten, että sen kaksi arvoa ei ole yhtä suuret. Yksi tärkeä ominaisuus on, että ainutlaatuiset avaimet eivät täytä NOT NULL -rajoitusta. Koska NULL edustaa arvon puutetta, jos kahdessa rivissä on NULL sarakkeessa, se ei tarkoita, että arvot ovat samat. Ainutlaatuisena avaimena määritelty sarake sallii vain yhden NULL-arvon sarakkeessa. Sitten sitä voidaan käyttää tietyn rivin yksilöimiseksi. Esimerkiksi opiskelijoiden tietoja sisältävässä taulukossa opiskelijan tunnus voidaan määritellä yksilöivänä avaimena. Koska kahdella opiskelijalla ei voi olla sama tunnus, se tunnistaa yksilöllisesti yhden opiskelijan. Joten opiskelija-ID-sarake täyttää kaikki yksilöllisen avaimen ominaisuudet. Tietokannan suunnittelusta riippuen taulukossa voi olla useampi kuin yksi yksilöivä avain.
Mikä on ensisijainen avain?
Ensisijainen avain on myös sarake tai sarakeyhdistelmä, joka yksilöi rivin relaatiotietokannan taulukossa. Taulukossa voi olla korkeintaan yksi pääavain. Ensisijainen avain pakottaa implisiittisen NOT NULL -rajoituksen. Joten sarakkeessa, joka määritetään ensisijaiseksi avaimeksi, ei voi olla NULL-arvoja siinä. Ensisijainen avain voi olla taulukon normaali ominaisuus, jonka on taatusti olevan ainutlaatuinen, kuten sosiaaliturvatunnus, tai se voi olla tietokannan hallintajärjestelmän, kuten globaalisti yksilöivän tunnisteen (GUID), muodostama yksilöllinen arvo Microsoft SQL Server -palvelussa. Ensisijaiset avaimet määritetään ANSI SQL -standardin PRIMARY AVA -rajoituksen avulla. Ensisijainen avain voidaan määritellä myös taulukkoa luotaessa. SQL sallii ensisijaisen avaimen koostuvan yhdestä tai useammasta sarakkeesta ja jokaisen pääavaimeen sisältyvän sarakkeen on epäsuorasti määritelty olevan EI NULL. Mutta jotkut tietokannan hallintajärjestelmät vaativat ensisijaisten avainsarakkeiden tekemisen nimenomaisesti EI NULL.
Ero ensisijaisen avaimen ja yksilöllisen avaimen välillä
Vaikka sekä ensisijainen avain että ainutlaatuinen avain ovat yksi tai useampi sarake, joka pystyy yksilöimään rivin taulukossa, niillä on joitain tärkeitä eroja. Tärkeintä on, että taulukossa voi olla vain yksi pääavain, kun taas siinä voi olla useampia kuin yksi ainutlaatuinen avain. Ensisijaista avainta voidaan pitää ainutlaatuisen avaimen erityistapauksena. Toinen ero on, että ensisijaisilla avaimilla on implisiittinen EI NULL-rajoitus, kun taas yksilöllisellä avaimella ei ole tätä rajoitusta. Siksi yksilölliset avainsarakkeet voivat sisältää tai olla sisältämättä NULL-arvoja, mutta ensisijaiset avainsarakkeet eivät voi sisältää NULL-arvoja.