logo

Razlika između primarnog ključa i jedinstvenog ključa

Ključevi u MySQL-u su stupac ili skup stupaca koji se koriste za izgradnju odnosa između jedne ili više od dvije tablice. Također se koriste za pristup zapisima iz tablice. Oba ključa daju zajamčenu jedinstvenost za stupac ili skup stupaca u tablici ili relaciji. Glavna razlika među njima je u tome što primarni ključ identificira svaki zapis u tablici, a jedinstveni ključ sprječava dvostruke unose u stupcu osim vrijednosti NULL . U ovom članku ćemo usporediti bitne razlike između primarnih i jedinstvenih ključeva na temelju različitih parametara. Prije usporedbe, ukratko ćemo razmotriti ove ključeve.

instanciranje Jave
Primarni ključ naspram jedinstvenog ključa

Što je primarni ključ?

Primarni ključ je a jedinstveni ili nenulti ključ koji jedinstveno identificira svaki zapis u toj tablici ili odnosu. Stupac primarnog ključa ne može pohraniti duplicirane vrijednosti što znači da su vrijednosti stupca primarnog ključa uvijek jedinstvene. Također se naziva a minimalni super ključ ; stoga ne možemo specificirati više od jednog primarnog ključa u bilo kojem odnosu. Stupac primarnog ključa jedne tablice može se referencirati stupcem stranog ključa druge tablice.

Na primjer , imamo tablicu pod nazivom učenicima s atributima kao što su Stud_ID, Roll_No, Name, Mobile i Email.

Primarni ključ naspram jedinstvenog ključa

Ovdje samo Rola_br stupac nikada ne može sadržavati identičnu i NULL vrijednost. Znamo da svaki učenik ima jedinstveni broj. Dakle, dva učenika nikada ne mogu imati isti broj u kolutu. Ova značajka pomaže identificirati svaki zapis u bazi podataka na jedinstven način. Dakle, atribut Roll_No možemo učiniti primarnim ključem.

Značajke primarnog ključa

Sljedeće su bitne primarne ključne značajke:

  • Stupac primarnog ključa ne može sadržavati duplicirane vrijednosti.
  • Primarni ključ implementira cjelovitost entiteta tablice.
  • Tablica ne može imati više od jednog stupca primarnog ključa.
  • Primarni ključ možemo napraviti iz jednog ili više polja tablice.
  • Stupac primarnog ključa trebao bi imati NOT NULL ograničenja.

Što je jedinstveni ključ?

The jedinstveni ključ je jedan stupac ili kombinacija stupaca u tablici za jedinstvenu identifikaciju zapisa baze podataka. Jedinstveni ključ sprječava od pohranjivanja duplicirane vrijednosti u koloni. Tablica može sadržavati više jedinstvenih stupaca ključa, za razliku od stupca primarnog ključa. Ovaj ključ je sličan primarnom ključu, osim što se jedna NULL vrijednost može pohraniti u stupac jedinstvenog ključa. Jedinstveni ključ se također naziva jedinstvena ograničenja i može se referencirati stranim ključem druge tablice.

Na primjer , razmotrimo istu tablicu pod nazivom učenicima s atributima kao što su Stud_ID, Roll_No, Name, Mobile i Email.

Primarni ključ naspram jedinstvenog ključa

Ovdje Stud_ID može se dodijeliti kao jedinstveno ograničenje jer svaki student mora imati jedinstveni identifikacijski broj. Ako student promijeni fakultet, onda ne bi imao studentsku iskaznicu. U tom slučaju unos može sadržavati a NULL vrijednost jer ograničenje jedinstvenog ključa dopušta pohranjivanje NULL, ali bi trebao biti samo jedan.

dodati nizu java

Značajke jedinstvenog ključa

Sljedeće su bitne jedinstvene ključne značajke:

  • Možemo konstruirati jedinstveni ključ iz jednog ili više polja tablice.
  • Tablica može definirati više jedinstvenih ključnih stupaca.
  • Prema zadanim postavkama, jedinstveni ključ je u neklasteriranim jedinstvenim indeksima.
  • Jedinstveni stupac ograničenja može pohraniti NULL vrijednost, ali samo je jedna NULL dopuštena null po stupcu.
  • Strani ključ može referencirati jedinstveno ograničenje u očuvanju jedinstvenosti tablice.

Ključne razlike između primarnog i jedinstvenog ključa

Sljedeće točke objašnjavaju ključne razlike između primarnih i kandidatskih ključeva:

pomoćnik komesara policije
  • Primarni ključ može činiti jedno ili više polja tablice za jedinstvenu identifikaciju zapisa u tablici. S druge strane, jedinstveni ključ sprječava da dva retka imaju dvostruke unose u stupcu.
  • Tablica ne može imati više od jednog primarnog ključa u relacijskoj bazi podataka, dok može postojati više jedinstvenih ključeva po tablici.
  • Stupac primarnog ključa ne može sadržavati NULL vrijednosti, dok jedinstveni ključ može imati NULL vrijednosti, ali samo je jedan NULL dopušten u tablici.
  • Primarni ključ bi trebao biti jedinstven, ali jedinstveni ključ ne mora nužno biti primarni ključ.
  • Primarni ključ prema zadanim je postavkama klasterirani indeks gdje su podaci fizički organizirani u sekvencijalni indeks. Nasuprot tome, jedinstveni ključ je jedinstveni neklasterirani indeks.
  • Primarni ključ implementira cjelovitost entiteta, dok jedinstveni ključ provodi jedinstvene podatke.

Tablica usporedbe primarnog ključa u odnosu na jedinstveni ključ

Sljedeća usporedna tablica na brz način objašnjava njihove glavne razlike:

Osnova usporedbe Glavni ključ Jedinstveni ključ
Osnovni, temeljni Primarni ključ se koristi kao jedinstveni identifikator za svaki zapis u tablici. Jedinstveni ključ također je jedinstveni identifikator za zapise kada primarni ključ nije prisutan u tablici.
NULL Ne možemo pohraniti NULL vrijednosti u stupac primarnog ključa. Možemo pohraniti NULL vrijednost u stupac jedinstvenog ključa, ali je dopuštena samo jedna NULL.
Svrha Provodi integritet entiteta. Provodi jedinstvene podatke.
Indeks Primarni ključ prema zadanim postavkama stvara klasterirani indeks. Jedinstveni ključ prema zadanim postavkama stvara neklasterirani indeks.
Broj ključa Svaka tablica podržava samo jedan primarni ključ. Tablica može imati više od jednog jedinstvenog ključa.
Promjena vrijednosti Ne možemo promijeniti ili izbrisati vrijednosti primarnog ključa. Možemo mijenjati jedinstvene ključne vrijednosti stupca.
Koristi Koristi se za identifikaciju svakog zapisa u tablici. Sprječava pohranjivanje dvostrukih unosa u stupac osim vrijednosti NULL.
Sintaksa Možemo stvoriti stupac primarnog ključa u tablici koristeći donju sintaksu:
CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) )
Možemo stvoriti jedinstveni stupac ključa u tablici koristeći donju sintaksu:
CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) )

Zaključak

U ovom članku smo napravili usporedbu između ograničenja primarnog ključa i jedinstvenog ključa. Ovdje smo zaključili da je jedinstveni ključ koristan kada želimo da stupci ne sadrže duplicirane vrijednosti. A primarni ključ je koristan kada ne želimo zadržati NULL vrijednost u tablici. Također može biti idealno kada imamo strani ključ u drugoj tablici za stvaranje odnosa među tablicama.