
Bitna razlika između primarnog ključa i jedinstvenog ključa je u tome što primarni ključ ne prihvaća NULL vrijednosti, dok su NULL vrijednosti dopuštene unutar jedinstvenih ključnih ograničenja.
Tablica usporedbe
Osnova za usporedbu | Glavni ključ | Jedinstveni ključ |
---|---|---|
Osnovni, temeljni | Koristi se kao jedinstveni identifikator za svaki redak tablice. | Također jedinstveno određuje redak koji nije definiran kao primarni ključ. |
Prihvaćanje vrijednosti NULL | Primarni ključ neće prihvatiti NULL vrijednosti. | Jedinstvena će prihvatiti NULL vrijednost. |
Broj ključeva koji se mogu definirati u tablici | Samo jedan primarni ključ | Više od jednog |
Indeks | Izrađuje klasterirani indeks | Stvara ne-klasterirani indeks |
Definicija primarnog ključa
Stupac se može pozvati kao primarni ključ njegove tablice ako jedinstveno identificira svaku tuple (redak) u toj tablici. On nameće ograničenja integriteta za tablicu. U tablici je dopušten samo jedan primarni ključ. Primarni ključ ne prihvaća dvostruke i NULL vrijednosti. Primarni ključ je odabran s pažnjom gdje se promjene mogu dogoditi rijetko, što znači da se primarni ključ u tablici mijenja vrlo rijetko.
Razumimo pojam primarnog ključa uz pomoć tablice. Ovdje stvaramo tablicu pod nazivom Studentska tablica, koja ima atribute poput Roll_number, Name, Batch, Phone_number, Citizen_ID.

Na primarni ključ se može pozivati stranim ključem. Stvara jedinstveni klasterirani indeks na tablici. U klasteriranom indeksu redovi podataka se sortiraju i pohranjuju u tablici ili pogledima na temelju njegovih ključnih vrijednosti. U tablici može biti samo jedan klasterirani indeks, a razlog tome je da se retci podataka u tablici mogu sortirati samo u jednom redoslijedu.
Definicija jedinstvenog ključa
Slično kao i primarni ključ, ograničenja jedinstvenog ključa također identificiraju pojedinačne torke jedinstveno u odnosu. No, među njima postoje određene razlike. Tablica može imati više od jednog jedinstvenog ključa. Jedinstvena ograničenja ključa mogu prihvatiti samo jednu NULL vrijednost za stupac.
Razmotrimo to sa sličnim primjerom, gdje smo imali Studentsku tablicu s atributima Roll_number, Name, Batch, Phone_number i Citizen_ID. Atribut Roll number dodijeljen je primarnom ključu.

Jedinstvena ograničenja također se navode od strane stranog ključa. Može se koristiti kada netko želi nametnuti ograničenja na stupac i skupinu stupaca koja nije primarni ključ. Za razliku od primarnog ključa, generira ne-klasterirani indeks . Ne-klasterirani indeksi imaju različitu strukturu od redova podataka. Svaki unos ključ-vrijednosti u njemu ukazuje na podatkovni red koji sadrži vrijednost ključa, stoga koristi pokazivače.
Ključne razlike između primarnog ključa i jedinstvenog ključa
- Kada je atribut deklariran kao primarni ključ, neće prihvatiti NULL vrijednosti. S druge strane, kada je atribut deklariran kao jedinstven, može prihvatiti jednu NULL vrijednost.
- Tablica može imati samo primarni ključ, dok na stolu može biti više jedinstvenih ograničenja.
- Klasterirani indeks automatski se stvara kada je definiran primarni ključ. Nasuprot tome, jedinstveni ključ generira ne-klasterirani indeks.
Zaključak
Primarni ključ i jedinstveni ključ služe svrsi jedinstvenog identifikatora za retke tablice s jedinstvenim vrijednostima u stupcu ili grupi stupaca. Ova ključna ograničenja značajno se razlikuju gdje svaka tablica može imati najviše jedan primarni ključ, dok tablica može imati više jedinstvenih ključeva koji nisu primarni.