Bistvena razlika med primarnim ključem in edinstvenim ključem je, da primarni ključ ne sprejema vrednosti NULL, medtem ko so vrednosti NULL dovoljene znotraj omejitev Unique key.
Primerjalna tabela
Podlaga za primerjavo | Primarni ključ | Edinstven ključ |
---|---|---|
Osnovno | Uporablja se kot edinstveni identifikator za vsako vrstico v tabeli. | Prav tako edinstveno določa vrstico, ki ni definirana kot primarni ključ. |
Sprejem vrednosti NULL | Primarni ključ ne bo sprejel vrednosti NULL. | Unique bo sprejel vrednost NULL. |
Število ključev, ki jih je mogoče določiti v tabeli | Samo en primarni ključ | Več kot en |
Indeks | Ustvari indeks z gručami | Ustvari indeks brez gruče |
Opredelitev primarnega ključa
Stolpec lahko imenujemo primarni ključ njegove tabele, če enolično identificira vsako zaporedje (vrstico) v tej tabeli. Za tabelo uveljavlja omejitve integritete. V tabeli je dovoljen samo en primarni ključ. Primarni ključ ne sprejema podvojenih in NULL vrednosti. Primarni ključ je izbran previdno, kjer se spremembe lahko pojavijo redko, kar pomeni, da se primarni ključ v tabeli spreminja zelo redko.
Razumimo pojem primarnega ključa s pomočjo tabele. Tu ustvarjamo tabelo, imenovano kot tabela študentov, ki ima atribute, kot so število znakov, ime, serija, številka_ telefona, državljan_ID.
Na primarni ključ se lahko sklicuje s tujim ključem. Na tabeli ustvari edinstven indeks gruče . V indeksu z gručami so podatkovne vrstice razvrščene in shranjene v tabeli ali pogledih na podlagi njenih ključnih vrednosti. V tabeli je lahko samo en indeks z gručami, razlog za to je, da se vrstice podatkov v tabeli lahko razvrstijo v samo enem vrstnem redu.
Opredelitev edinstvenega ključa
Podobno kot pri primarnem ključu, tudi omejitve Unique ključev identificirajo posamezno zaporedje v razmerju. Vendar pa obstajajo nekatere razlike med njimi. Tabela lahko vsebuje več kot en edinstven ključ. Edinstvene omejitve ključev lahko sprejmejo samo eno vrednost NULL za stolpec.
To bomo razumeli s podobnim primerom, kjer smo imeli Studentovo tabelo z atributi Roll_number, Name, Batch, Phone_number in Citizen_ID. Atribut Roll number je dodeljen s primarnim ključem.
Tuji ključ se sklicuje tudi na edinstvene omejitve. Uporabi se lahko, ko nekdo želi uveljaviti omejitve v stolpcu in skupini stolpcev, ki ni primarni ključ. Za razliko od primarnega ključa ustvari indeks brez gruče . Neklasificirani indeksi imajo ločeno strukturo od podatkovnih vrstic. Vsak vnos ključa-vrednosti v njej kaže na podatkovno vrstico, ki vsebuje vrednost ključa, zato uporablja kazalce.
Ključne razlike med primarnim ključem in edinstvenim ključem
- Ko atribut, deklariran kot primarni ključ, ne bo sprejel vrednosti NULL. Po drugi strani pa lahko atribut, ki je deklariran kot Unique, sprejme eno vrednost NULL.
- Tabela lahko ima samo primarni ključ, medtem ko lahko na tabeli obstaja več edinstvenih omejitev.
- Razvrščeni indeks se samodejno ustvari, ko je definiran primarni ključ. V nasprotju s tem pa unikatni ključ ustvari neklasiran indeks.
Zaključek
Primarni ključ in edinstveni ključ služita namenu edinstvenega identifikatorja za vrstice tabele z edinstvenimi vrednostmi v stolpcu ali skupini stolpcev. Te ključne omejitve se znatno razlikujejo, kjer ima vsaka tabela lahko največ en primarni ključ, medtem ko lahko tabela vsebuje več edinstvenih ključev, ki niso primarni.