Tärkein ero: Ensisijainen avain ei voi sallia nollaa, ja se voidaan luoda vain kerran taulukossa. Ainutlaatuinen avain sallii nollan ja voidaan luoda useita kertoja taulukossa. Näppäimillä on tärkeä merkitys tietojen tallentamisessa ja hakemisessa.
Microsoft SQL on Microsoftin kehittämä relaatiotietokannan hallintajärjestelmä. Sen päätoiminto sisältää tietojen tallentamisen ja hakemisen, kun niitä pyytävät muut samassa tietokoneessa tai verkossa eri tietokoneissa toimivat sovellukset.
Näppäimillä on tärkeä merkitys tietojen tallentamisessa ja hakemisessa. Palvelimeen tallennetut tiedot ovat sarakkeita sisältäviä taulukoita. Nämä sarakkeet tallentavat erilaisia tietoja ja ne voidaan hakea ohjeiden avulla. Ensisijainen avain ja yksilöllinen avain ovat kahdenlaisia näppäimiä, jotka määrittävät, miten tiedot tallennetaan järjestelmään.
SQL Server -tietokannan objektit järjestetään taulukoiksi ja indekseiksi ja tallennetaan 8 KB: n sivuina. Näppäimet auttavat määrittämään, missä tiedot tallennetaan tietokantaan. Molemmat avaimet eroavat toisistaan. Ensisijainen avain on kuitenkin ainutlaatuisen avaimen tyyppi. Ne ovat myös samanlaisia toiminnoissa, mutta tarjoavat erilaisia toimintoja.
Ensisijaiset avaimet määritetään PRIMARY KEY -rajoituksen avulla ja ne voidaan määrittää taulukon luomisen aikana. SQL-standardissa ensisijaiset avaimet voivat koostua yhdestä tai useammasta sarakkeesta. Jokainen ensisijaiseen avaimeen osallistuva sarake määritellään implisiittisesti NOT NULLiksi. Ensisijainen avain tarjoaa 3 päätoimintoa:
Kussakin taulukossa ei voi olla enempää kuin yhtä ensisijaista avainta.
Joissakin tietokantajärjestelmissä ensisijainen avain luo oletusarvoisesti klusteroidun indeksin.
Ainutlaatuiset avaimet ovat samanlaisia kuin ensisijaiset avaimet ja ne voidaan määrittää taulukon luomisen aikana. Ainutlaatuiset avaimet mahdollistavat myös tietojen tai rivien toistamisen muissa taulukoissa. Kolme pääominaisuutta, joita ainutlaatuinen avain tarjoaa, sisältää:
Ainutlaatuinen avain voi sallia nollan, mutta vain yhden (yksilöllinen avain voidaan määrittää sarakkeisiin, jotka sallivat nullin.)
Jokaisessa taulukossa voi olla useita ainutlaatuisia avaimia.
Joissakin tietokantajärjestelmissä ainutlaatuinen avain luo oletusarvoisesti nonclustered-indeksin.
Ensisijaisen avaimen ja yksilöllisen avaimen vertailu:
Pääavain | Ainutlaatuinen avain | |
Määritelmä | Ensisijainen avain on ainutlaatuisen avaimen tyyppi. Tämä on avain, jonka sallitaan siirtyä muihin yhteisöihin määrittelemään kokonaisuuksien väliset suhteet. | Ainutlaatuinen avain on nolla, yksi tai useampi määrite. Näiden attribuuttien arvon (arvojen) on oltava yksilöllisiä kullekin sarakkeelle (riville) suhteessa. Minkä tahansa tuplen yksilöllisten avainmääritteiden arvoa tai arvojen yhdistelmää ei pitäisi toistaa missään muussa kyseisessä suhteessa. |
Käytetty | Relaatiotietokannan hallintajärjestelmät, kuten MySQL, Oracle jne. | Relaatiotietokannan hallintajärjestelmät, kuten MySQL, Oracle jne. |
Null-arvot | Ei hyväksy mitään nolla-arvoja | Hyväksyy vain yhden nolla-arvon taulukossa |
Indeksin tyyppi | Onko klusteroidun indeksin ja tietokantataulukon tiedot fyysisesti järjestetty ryhmitetyn indeksin sekvenssiin | Onko ainutlaatuinen, ei-klusteroidut indeksi |
Avainten lukumäärä sallittu | Vain yksi ensisijainen avain taulukossa | Voi olla enemmän kuin yksi ainutlaatuinen avain taulukossa |
avoauto | Voidaan tehdä vieraaksi avaimeksi toiseen taulukkoon | Voidaan tehdä vieraaksi avaimeksi toiseen taulukkoon |