MySQL:n avaimet ovat sarake tai sarakejoukko, jota käytetään luomaan suhde yhden tai useamman kuin kahden taulukon välille. Niitä käytetään myös tietueiden avaamiseen taulukosta. Molemmat avaimet tarjoavat taatun ainutlaatuisuuden sarakkeelle tai sarakejoukolle taulukossa tai suhteessa. Suurin ero niiden välillä on, että ensisijainen avain tunnistaa jokaisen taulukon tietueen ja yksilöllinen avain estää päällekkäiset merkinnät sarakkeessa lukuun ottamatta NULL-arvoa. . Tässä artikkelissa aiomme verrata olennaisia eroja ensisijaisten ja yksilöllisten avainten välillä eri parametrien perusteella. Ennen kuin teet vertailua, keskustelemme lyhyesti näistä avaimista.
java värikoodit
Mikä on ensisijainen avain?
Ensisijainen avain on a ainutlaatuinen tai ei-nolla avain, joka yksilöi jokaisen tietueen kyseisessä taulukossa tai suhteessa. Ensisijaisen avaimen sarake ei voi tallentaa päällekkäisiä arvoja, mikä tarkoittaa, että ensisijaisen avaimen sarakkeen arvot ovat aina yksilöllisiä. Sitä kutsutaan myös a minimaalinen superavain ; siksi emme voi määrittää useampaa kuin yhtä ensisijaista avainta mihinkään suhteeseen. Yhden taulukon perusavainsarakkeeseen voi viitata toisen taulukon vierasavainsarakkeessa.
Esimerkiksi , meillä on pöytä nimeltä opiskelijat määritteillä, kuten Stud_ID, Roll_No, Name, Mobile ja Email.
Tässä vain Roll_No sarake ei voi koskaan sisältää identtistä ja NULL-arvoa. Tiedämme, että jokaisella opiskelijalla on yksilöllinen rullanumero. Siksi kahdella opiskelijalla ei voi koskaan olla samaa rullan numeroa. Tämä ominaisuus auttaa tunnistamaan tietokannan jokaisen tietueen yksilöllisesti. Siksi voimme tehdä Roll_No-attribuutista ensisijaisen avaimen.
Ensisijaisen avaimen ominaisuudet
Seuraavat ovat tärkeimmät tärkeimmät ominaisuudet:
- Ensisijainen avaimen sarake ei voi sisältää päällekkäisiä arvoja.
- Ensisijainen avain toteuttaa taulukon kokonaisuuden eheyden.
- Taulukossa voi olla vain yksi perusavainsarake.
- Voimme tehdä ensisijaisen avaimen yhdestä tai useammasta taulukkokentästä.
- Ensisijaisen avaimen sarakkeessa tulee olla NOT NULL -rajoituksia.
Mikä on ainutlaatuinen avain?
The ainutlaatuinen avain on yksi sarake tai sarakkeiden yhdistelmä taulukossa tietokannan tietueiden yksilöimiseksi. Ainutlaatuinen avain estää varastoinnista päällekkäisiä arvoja sarakkeessa. Taulukko voi sisältää useita yksilöllisiä avainsarakkeita, toisin kuin ensisijainen avainsarake. Tämä avain on samanlainen kuin ensisijainen avain, paitsi että yksi NULL-arvo voidaan tallentaa yksilöllisen avainsarakkeeseen. Ainutlaatuista avainta kutsutaan myös ainutlaatuisia rajoituksia ja siihen voidaan viitata toisen taulukon vieraalla avaimella.
Esimerkiksi , tarkastellaan samaa taulukkoa nimeltä opiskelijat määritteillä, kuten Stud_ID, Roll_No, Name, Mobile ja Email.
vastaava merkkijono javassa
Tässä Stud_ID voidaan määrittää yksilöiväksi rajoitukseksi, koska jokaisella opiskelijalla on oltava yksilöllinen tunnusnumero. Jos opiskelija vaihtaa korkeakoulua, hänellä ei ole opiskelijakorttia. Tässä tapauksessa merkintä voi sisältää a TYHJÄ arvo, koska yksilöllinen avainrajoitus sallii NULL:n tallentamisen, mutta sen tulee olla vain yksi.
Ainutlaatuisen avaimen ominaisuudet
Seuraavat ovat tärkeimmät ainutlaatuiset avainominaisuudet:
konstruktori javassa
- Voimme rakentaa ainutlaatuisen avaimen yhdestä tai useammasta taulukkokentästä.
- Taulukko voi määrittää useita yksilöllisiä avainsarakkeita.
- Oletusarvoisesti yksilöllinen avain on klusteroitumattomissa yksilöllisissä indekseissä.
- Yksilöllinen rajoite-sarake voi tallentaa NULL-arvon, mutta vain yksi NULL on sallittu saraketta kohden.
- Vierasavain voi viitata ainutlaatuiseen rajoitteeseen taulukon ainutlaatuisuuden säilyttämisessä.
Tärkeimmät erot ensisijaisen ja yksilöllisen avaimen välillä
Seuraavat kohdat selittävät tärkeimmät erot ensisijaisen ja ehdokasavaimen välillä:
- Ensisijainen avain voi muodostaa yhden tai useamman taulukon kentän taulukon tietueiden yksilöimiseksi. Toisaalta yksilöllinen avain estää kahdella rivillä päällekkäisiä merkintöjä sarakkeessa.
- Taulukossa voi olla vain yksi ensisijainen avain relaatiotietokannassa, kun taas taulukkoa kohden voi olla useita yksilöllisiä avaimia.
- Ensisijaisen avaimen sarake ei voi sisältää NULL-arvoja, kun taas yksilöllisellä avaimella voi olla NULL-arvoja, mutta vain yksi NULL-arvo on sallittu taulukossa.
- Ensisijaisen avaimen tulee olla ainutlaatuinen, mutta yksilöllinen avain ei välttämättä ole ensisijainen avain.
- Ensisijainen avain on oletuksena klusteroitu indeksi, jossa tiedot on järjestetty fyysisesti peräkkäiseen indeksiin. Sitä vastoin yksilöllinen avain on ainutlaatuinen klusteroitumaton indeksi.
- Ensisijainen avain toteuttaa kokonaisuuden eheyden, kun taas yksilöllinen avain pakottaa yksilölliset tiedot.
Primary Key vs. Unique Key -vertailukaavio
Seuraava vertailukaavio selittää niiden tärkeimmät erot nopeasti:
Vertailuperuste | Pääavain | Ainutlaatuinen avain |
---|---|---|
Perus | Ensisijaista avainta käytetään yksilöllisenä tunnisteena jokaiselle taulukon tietueelle. | Yksilöllinen avain on myös yksilöllinen tunniste tietueille, kun ensisijaista avainta ei ole taulukossa. |
TYHJÄ | Emme voi tallentaa NULL-arvoja perusavainsarakkeeseen. | Voimme tallentaa NULL-arvon yksilöllisen avainsarakkeeseen, mutta vain yksi NULL on sallittu. |
Tarkoitus | Se varmistaa kokonaisuuden eheyden. | Se pakottaa yksilölliset tiedot. |
Indeksi | Ensisijainen avain luo oletuksena klusteroidun indeksin. | Ainutlaatuinen avain luo oletusarvoisesti klusteroimattoman indeksin. |
Avaimen numero | Jokainen taulukko tukee vain yhtä perusavainta. | Taulukossa voi olla useampi kuin yksi yksilöllinen avain. |
Arvon muutos | Emme voi muuttaa tai poistaa ensisijaisen avaimen arvoja. | Voimme muokata yksilöllisten avainsarakkeiden arvoja. |
Käyttää | Sitä käytetään taulukon jokaisen tietueen tunnistamiseen. | Se estää päällekkäisten merkintöjen tallentamisen sarakkeeseen lukuun ottamatta NULL-arvoa. |
Syntaksi | Voimme luoda taulukkoon ensisijaisen avaimen sarakkeen käyttämällä alla olevaa syntaksia:CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) ) | Voimme luoda ainutlaatuisen avainsarakkeen taulukkoon käyttämällä alla olevaa syntaksia:CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) ) |
Johtopäätös
Tässä artikkelissa olemme tehneet vertailun ensisijaisen avaimen ja yksilöllisen avaimen rajoitusten välillä. Tässä olemme päätyneet siihen, että yksilöllinen avain on hyödyllinen, kun haluamme, etteivät sarakkeet sisällä päällekkäisiä arvoja. Ja ensisijainen avain on hyödyllinen, kun emme halua pitää NULL-arvoa taulukossa. Se voi myös olla ihanteellinen, kun meillä on vierasavain toisessa taulukossa luomaan suhde taulukoiden välille.