Razlika između primarnog ključa i jedinstvenog ključa
Ključna razlika između primarnog ključa i jedinstvenog ključa
- U tablici može postojati jedan primarni ključ, dok u tablici može postojati više jedinstvenih ključeva.
- Svrha primarnog ključa je nametanje integriteta entiteta; s druge strane, svrha jedinstvenog ključa je nametanje jedinstvenih podataka.
- U primarnim ključevima, zadani indeks je klasteriran, dok u jedinstvenim ključevima, zadani indeks nije grupiran
- Primarni ključ ne dopušta nulte stupce, dok jedinstveni ključ dopušta nulte stupce.
- U primarnom ključu duplikati ključeva nisu dopušteni, dok u jedinstvenom ključu, ako su jedan ili više dijelova ključa null, tada su duplikati ključeva dopušteni.
![Razlika između primarnog ključa i jedinstvenog ključa](https://www.guru99.com/images/difference-between-primary-key-and-unique-key-1.png)
Ovdje sam analizirao razliku između primarnog ključa i jedinstvenog ključa i sveobuhvatno ću procijeniti njihove prednosti i nedostatke.
Što je primarni ključ?
Ograničenje primarnog ključa je stupac ili grupa stupaca u tablici koja jedinstveno identificira svaki red u toj tablici. Primarni ključ ne može biti duplikat, što znači da se ista vrijednost ne može pojaviti više od jednom u tablici.
Tablica može imati samo jedan primarni ključ. Glavni ključ može se definirati na razini stupca ili tablice. Ako izradite kompozitni primarni ključ, on bi trebao biti definiran na razini tablice.
Primjer stvaranja primarnog ključa
Sljedeći primjer opisuje da postoji tablica pod nazivom student. Sadrži pet atributa: 1) StudID, 2) Roll No., 3) Ime, 4) Prezime i 5) E-pošta.
Atribut Roll No nikada ne može sadržavati dupliciranu ili nultu vrijednost. To je zato što svaki student upisan na sveučilište može imati jedinstveni broj. Možete jednostavno identificirati svaki redak tablice s brojem učenika. Dakle, smatra se primarnim ključem.
![Primjer stvaranja primarnog ključa](https://www.guru99.com/images/2/041720_1123_PrimaryKeyv2.png)
Značajke primarnog ključa
Na temelju mojih opažanja, evo važnih značajki primarnog ključa:
- Primarni ključ implementira cjelovitost entiteta tablice.
- U tablici možete zadržati samo jedan primarni.
- Primarni ključ sadrži jedan ili više stupaca tablice.
- Stupci su definirani kao nenulti.
Zašto koristiti primarni ključ?
Razmišljajući o svom praktičnom znanju, evo važnih razloga za korištenje primarnog ključa:
- Glavni cilj primarnog ključa je identificirati svaki zapis u tablici baze podataka.
- Primarni ključ možete koristiti kada ne dopustite nekome da unese nulte vrijednosti.
- Ako izbrišete ili ažurirate zapis, radnja koju ste naveli bit će poduzeta kako bi se osigurao integritet podataka baze podataka.
- Izvedite operaciju ograničenja da biste odbili operaciju brisanja ili ažuriranja za nadređenu tablicu.
- Podaci su organizirani u niz klasteriranih indeksa kad god fizički organizirate DBMS tablicu.
Što je jedinstveni ključ?
Jedinstveni ključ je grupa od jednog ili više polja ili stupaca u tablici koji jedinstveno identificiraju zapis baze podataka.
Jedinstveni ključ je isti kao primarni ključ, ali može prihvatiti jednu nultu vrijednost za stupac tablice. Također ne može sadržavati identične vrijednosti. Jedinstvena ograničenja navedena su stranim ključem drugih tablica.
Primjer stvaranja jedinstvenog ključa
Razmotrite istu tablicu učenika sa sljedećim atributima: 1) StudID, 2) Broj spiska, 3) Ime, 4) Prezime i 5) E-pošta.
Stud ID može imati jedinstveno ograničenje gdje unosi u Stud ID stupcu mogu biti jedinstveni jer svaki student na sveučilištu mora imati jedinstveni ID broj. Ako student mijenja sveučilište, on ili ona neće imati studentsku iskaznicu. Unos može imati vrijednost null jer je samo jedna null dopuštena u ograničenju jedinstvenog ključa.
![Primjer stvaranja jedinstvenog ključa](https://www.guru99.com/images/2/041720_1123_PrimaryKeyv3.png)
Značajke jedinstvenog ključa
Ovdje ću navesti važne značajke jedinstvenog ključa:
- U tablici možete definirati više od jednog jedinstvenog ključa.
- Prema zadanim postavkama, jedinstveni ključevi su u jedinstvenim indeksima koji nisu grupirani.
- Sastoji se od jednog ili više stupaca tablice.
- Stupac tablice može biti null, ali poželjno je samo jedno null po stupcu.
- Jedinstveno ograničenje može se lako referencirati ograničenjem stranog ključa.
Zašto koristiti Unique Key?
Evo važnih razloga zbog kojih preporučujem korištenje jedinstvenog ključa:
- Svrha jedinstvenog ključa je osigurati da su informacije u stupcu za svaki zapis tablice jedinstvene.
- Kada dopustite korisniku da unese nultu vrijednost.
- Jedinstveni ključ se koristi jer prema zadanim postavkama stvara neklasterirani indeks.
- Jedinstveni ključ se može koristiti kada morate zadržati nulte vrijednosti u stupcu.
- Kada jedno ili više od jednog polja/stupaca tablice jedinstveno identificiraju zapis u tablici baze podataka.
Razlike između primarnog ključa i jedinstvenog ključa
U mojoj analizi, ovdje su glavne razlike između primarnog ključa i jedinstvenog ključa:
![Razlika između primarnog ključa i jedinstvenog ključa](https://www.guru99.com/images/2/041720_1123_PrimaryKeyv4.png)
Osnova usporedbe | Glavni ključ | Jedinstveni ključ |
---|---|---|
Broj ključa | U tablici može postojati jedan primarni ključ | U tablici može biti više jedinstvenih ključeva |
NULL | Ne dopušta nulte stupce. | Dopušta nulte stupce. |
indeks | Zadani indeks je grupiran | Zadani indeks nije klasteriran |
Svrha | Svrha primarnog ključa je provođenje integriteta entiteta. | Svrha jedinstvenog ključa je nametanje jedinstvenih podataka. |
Koristiti | To je SQL ograničenje koje vam omogućuje jedinstvenu identifikaciju svakog zapisa ili retka u tablici baze podataka. | To je SQL ograničenje koje ne dopušta da se ista vrijednost dodijeli dvama izoliranim zapisima u tablici baze podataka. |
Promjena vrijednosti | U primarnom ključu duplikati ključeva nisu dopušteni. | U jedinstvenom ključu, ako su jedan ili više dijelova ključa null, dopušteni su duplikati ključeva. |
Sintaksa |
Primarni ključ se može stvoriti pomoću sintakse: CREATE TABLE Employee ( ID int PRIMARY KEY, Name varchar(255), City varchar(150) ) |
Jedinstveni ključ može se stvoriti pomoću sintakse: CREATE TABLE Employee ( ID int UNIQUE. Name varchar(255) NOT NULL. City varchar(150) ) |
Također možete istražiti: Razlika između primarnog i stranog ključa
Kako odabrati između primarnog ključa i jedinstvenog ključa
- Jedinstveni ključevi bolji su kada imamo stupce za koje znamo da ne bi smjeli sadržavati duplikate.
- Primarni ključ je idealan kada ne možete zadržati nulu u tablici. Također se može koristiti kada imate strani ključ u drugoj tablici za stvaranje odnosa.