Preporučeno, 2019

Izbor Urednika

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

Već smo proučavali različite tipove ključeva koji se koriste u bazi podataka i sheme u prethodnim člancima, a to su Razlika između primarnog ključa i vanjskog ključa. U ovom članku razlikujemo primarni ključ i jedinstveni ključ. I primarni ključ i jedinstveni ključ koriste se za identificiranje torka jedinstveno i provodi jedinstvenost u stupcu ili kombinaciji stupca.

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 usporedbuGlavni ključJedinstveni ključ
Osnovni, temeljniKoristi se kao jedinstveni identifikator za svaki redak tablice.Također jedinstveno određuje redak koji nije definiran kao primarni ključ.
Prihvaćanje vrijednosti NULLPrimarni ključ neće prihvatiti NULL vrijednosti.Jedinstvena će prihvatiti NULL vrijednost.
Broj ključeva koji se mogu definirati u tabliciSamo jedan primarni ključViše od jednog
IndeksIzrađuje klasterirani indeksStvara 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.

U danom primjeru broj atributnog valjka nikada ne može imati istu i NULL vrijednost, jer je svaki student upisao sveučilište s jedinstvenim Roll_number. Nijedna dva studenta ne mogu imati isti broj Roll_numbera, a svaki redak u tablici jedinstveno je identificiran s brojem učenika. Dakle, atribut Roll_number možemo napraviti kao primarni ključ u ovom slučaju.

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.

Ovdje se Citizen_ID može dodijeliti jedinstvenim ograničenjima gdje svaki unos u stupac Citizen_ID treba biti jedinstven, a ne duplicirati jer svaki građanin neke zemlje mora imati svoj jedinstveni identifikacijski broj. Ali, ako student migrira iz druge zemlje, u tom slučaju on ili ona ne bi imali Citizen_ID i unos bi mogao imati NULL vrijednost kao jedan NULL dopušten u jedinstvenom ograničenju.

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

  1. 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.
  2. Tablica može imati samo primarni ključ, dok na stolu može biti više jedinstvenih ograničenja.
  3. 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.

Top