logo

Forskjellen mellom primærnøkkel og unik nøkkel

Nøkler i MySQL er kolonnen eller settet med kolonner som brukes til å konstruere et forhold mellom en eller flere enn to tabeller. De brukes også for å få tilgang til poster fra tabellen. Begge nøklene gir en garantert unikhet for en kolonne eller et sett med kolonner i en tabell eller relasjon. Hovedforskjellen mellom dem er at primærnøkkelen identifiserer hver post i tabellen, og den unike nøkkelen forhindrer dupliserte oppføringer i en kolonne bortsett fra en NULL-verdi . I denne artikkelen skal vi sammenligne vesentlige forskjeller mellom primære og unike nøkler basert på ulike parametere. Før vi foretar en sammenligning, vil vi kort diskutere disse nøklene.

historie i java
Primærnøkkel vs unik nøkkel

Hva er primærnøkkel?

Den primære nøkkelen er en unik eller ikke-null nøkkel som unikt identifiserer hver post i den tabellen eller relasjonen. Primærnøkkelkolonnen kan ikke lagre dupliserte verdier, noe som betyr at verdier for primærnøkkelkolonnen alltid er unike. Det kalles også en minimal supernøkkel ; derfor kan vi ikke spesifisere mer enn én primærnøkkel i et forhold. En primærnøkkelkolonne i en tabell kan refereres til av en fremmednøkkelkolonne i en annen tabell.

For eksempel , har vi en tabell som heter studenter med attributter som Stud_ID, Roll_No, Name, Mobile og Email.

Primærnøkkel vs unik nøkkel

Her er det bare Roll_No kolonne kan aldri inneholde en identisk verdi og NULL. Vi vet at hver elev har et unikt rullenummer. Derfor kan to elever aldri ha samme rullenummer. Denne funksjonen hjelper til med å identifisere hver post i databasen unikt. Derfor kan vi gjøre Roll_No-attributtet til en primærnøkkel.

Funksjoner av primærnøkkel

Følgende er de viktigste primære nøkkelfunksjonene:

usa hvor mange byer
  • Primærnøkkelkolonnen kan ikke inneholde dupliserte verdier.
  • Primærnøkkelen implementerer enhetsintegriteten til tabellen.
  • En tabell kan ikke ha mer enn én primærnøkkelkolonne.
  • Vi kan lage primærnøkkelen fra ett eller flere tabellfelt.
  • Primærnøkkelkolonnen skal ha IKKE NULL-begrensninger.

Hva er en unik nøkkel?

De unik nøkkel er en enkelt kolonne eller kombinasjon av kolonner i en tabell for å identifisere databaseposter unikt. En unik nøkkel hindrer fra lagring dupliserte verdier i kolonnen. En tabell kan inneholde flere unike nøkkelkolonner, i motsetning til en primærnøkkelkolonne. Denne nøkkelen ligner på primærnøkkelen, bortsett fra at én NULL-verdi kan lagres i den unike nøkkelkolonnen. Den unike nøkkelen kalles også unike begrensninger og kan refereres til av en annen tabells fremmednøkkel.

For eksempel , la oss vurdere den samme tabellen som heter studenter med attributter som Stud_ID, Roll_No, Name, Mobile og Email.

Primærnøkkel vs unik nøkkel

Her Stud_ID kan tilordnes som en unik begrensning fordi hver student må ha et unikt identifikasjonsnummer. Hvis en student endrer høyskole, vil han eller hun ikke ha noen student-ID. I så fall kan oppføringen inneholde en NULL verdi fordi en unik nøkkelbegrensning tillater lagring av NULL, men den skal bare være én.

Funksjoner av unik nøkkel

Følgende er de essensielle unike nøkkelfunksjonene:

  • Vi kan konstruere den unike nøkkelen fra ett eller flere tabellfelt.
  • En tabell kan definere flere unike nøkkelkolonner.
  • Som standard er en unik nøkkel i ikke-klyngede unike indekser.
  • Den unike begrensningskolonnen kan lagre NULL-verdi, men bare én NULL tillates null per kolonne.
  • Fremmednøkkelen kan referere til den unike begrensningen for å bevare unikheten til en tabell.

Viktige forskjeller mellom primær og unik nøkkel

Følgende punkter forklarer de viktigste forskjellene mellom primær- og kandidatnøkler:

  • En primærnøkkel kan utgjøre ett eller flere felt i en tabell for å identifisere poster i en tabell unikt. På den annen side forhindrer en unik nøkkel to rader fra å ha dupliserte oppføringer i en kolonne.
  • En tabell kan ikke ha mer enn én primærnøkkel i en relasjonsdatabase, mens det kan være flere unike nøkler per tabell.
  • En primærnøkkelkolonne kan ikke inneholde NULL-verdier, mens en unik nøkkel kan ha NULL-verdier, men bare én NULL er tillatt i en tabell.
  • En primærnøkkel skal være unik, men en unik nøkkel kan ikke nødvendigvis være primærnøkkelen.
  • Primærnøkkelen er som standard en klynget indeks der data er fysisk organisert i den sekvensielle indeksen. Derimot er den unike nøkkelen en unik ikke-gruppert indeks.
  • Primærnøkkelen implementerer enhetsintegritet, mens den unike nøkkelen fremtvinger unike data.

Sammenligningsdiagram for primærnøkkel vs. unik nøkkel

Følgende sammenligningsdiagram forklarer hovedforskjellene deres på en rask måte:

10 av 60
Sammenligningsgrunnlag Primærnøkkel Unik nøkkel
Grunnleggende Primærnøkkelen brukes som en unik identifikator for hver post i tabellen. Den unike nøkkelen er også en unik identifikator for poster når primærnøkkelen ikke finnes i tabellen.
NULL Vi kan ikke lagre NULL-verdier i primærnøkkelkolonnen. Vi kan lagre NULL-verdien i den unike nøkkelkolonnen, men bare én NULL er tillatt.
Hensikt Det håndhever enhetens integritet. Den håndhever unike data.
Indeks Primærnøkkelen oppretter som standard klynget indeks. Den unike nøkkelen oppretter som standard en ikke-klynget indeks.
Nøkkelnummer Hver tabell støtter bare én primærnøkkel. Et bord kan ha mer enn én unik nøkkel.
Verdi endring Vi kan ikke endre eller slette primærnøkkelverdiene. Vi kan endre de unike nøkkelkolonneverdiene.
Bruker Den brukes til å identifisere hver post i tabellen. Det forhindrer lagring av dupliserte oppføringer i en kolonne bortsett fra en NULL-verdi.
Syntaks Vi kan opprette en primærnøkkelkolonne i tabellen ved å bruke syntaksen nedenfor:
CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) )
Vi kan lage en unik nøkkelkolonne i tabellen ved å bruke syntaksen nedenfor:
CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) )

Konklusjon

I denne artikkelen har vi gjort en sammenligning mellom primærnøkkel og unike nøkkelbegrensninger. Her har vi konkludert med at en unik nøkkel er nyttig når vi vil at kolonnene ikke skal inneholde dupliserte verdier. Og primærnøkkelen er nyttig når vi ikke ønsker å beholde NULL-verdien i tabellen. Det kan også være ideelt når vi har en fremmednøkkel i en annen tabell for å skape en relasjon mellom tabeller.