Odporúčaná, 2024

Redakcia Choice

Rozdiel medzi primárnym kľúčom a jedinečným kľúčom

Už sme študovali rôzne typy kľúčov používaných v databáze a schémach v predchádzajúcich článkoch, menovite Rozdiel medzi primárnym a zahraničným kľúčom. V tomto článku rozlišujeme primárny kľúč a kľúč jedinečný. Primárny kľúč aj jedinečný kľúč sa používajú na jednoznačnú identifikáciu novej množiny a presadzujú jedinečnosť v stĺpci alebo v kombinácii stĺpca.

Základný rozdiel medzi primárnym a jedinečným kľúčom je, že primárny kľúč neprijíma hodnoty NULL, zatiaľ čo hodnoty NULL sú povolené v rámci jedinečných kľúčových obmedzení.

Porovnávacia tabuľka

Základ pre porovnaniePrimárny kľúčUnikátny kľúč
základnéPoužíva sa ako jedinečný identifikátor pre každý riadok v tabuľke.Jedinečne určuje aj riadok, ktorý nie je definovaný ako primárny kľúč.
NULL prijatie hodnotyPrimárny kľúč neprijíma hodnoty NULL.Jedinečný bude akceptovať hodnotu NULL.
Počet kľúčov, ktoré je možné definovať v tabuľkeLen jeden primárny kľúčViac než jeden
indexVytvára index zoskupenýVytvára index bez klastrov

Definícia primárneho kľúča

Stĺpec môže byť nazývaný ako primárny kľúč v jeho tabuľke, ak jednoznačne identifikuje každú n-tiku (riadok) v tejto tabuľke. Zabezpečuje obmedzenia integrity na stôl. V tabuľke je povolený iba jeden primárny kľúč. Primárny kľúč neprijíma duplicitné hodnoty a hodnoty NULL. Primárny kľúč sa vyberá opatrne, kde zmeny môžu nastať zriedka, čo znamená, že primárny kľúč v tabuľke sa veľmi zriedka mení.

Poďme pochopiť pojem primárneho kľúča pomocou tabuľky. Tu vytvárame tabuľku s názvom Tabuľka študentov, ktorá má atribúty, ako sú číslo_počítača, názov, dávka, telefónny_číslo, občiansky_identifikátor.

V danom príklade číslo rolovacieho atribútu nemôže nikdy mať totožnú hodnotu a hodnotu NULL, pretože každý študent sa zapísal na univerzitu s jedinečným číslom Roll_number. Žiadni dvaja študenti nemôžu mať rovnaký číselný znak Roll_number a každý riadok v tabuľke je jednoznačne identifikovaný s číslom študentov. Takže v tomto konkrétnom prípade môžeme vytvoriť atribút Roll_number ako primárny kľúč.

Primárny kľúč môže byť odkazovaný na cudzí kľúč. Vytvára jedinečný index v klastri v tabuľke. V zoskupenom indexe sú riadky údajov zoradené a uložené v tabuľke alebo zobrazeniach na základe ich kľúčových hodnôt. V tabuľke môže existovať iba jeden index v klastri, dôvodom je, že riadky údajov v tabuľke je možné zoradiť iba v jednom poradí.

Definícia jedinečného kľúča

Podobne ako pri primárnom kľúči, jedinečné kľúčové obmedzenia tiež identifikujú individuálnu n-ticu jednoznačne vo vzťahu. Existujú však určité rozdiely medzi nimi. Tabuľka môže mať viac ako jeden jedinečný kľúč. Jedinečné obmedzenia kľúčov môžu prijať iba jednu hodnotu NULL pre stĺpec.

Pochopme to s podobným príkladom, kde sme mali tabuľku študentov s atribútmi Roll_number, Name, Batch, Phone_number a Citizen_ID. Atribút číslovania role je priradený primárnemu kľúču.

Tu môže byť Citizen_ID priradené jedinečné obmedzenia, v ktorých by každý záznam v stĺpci Citizen_ID mal byť jedinečný, nie duplicitný, pretože každý občan krajiny musí mať jedinečné identifikačné číslo. Ak však študent migruje z inej krajiny, v takom prípade by nemal Citizen_ID a položka by mohla mať hodnotu NULL, pretože jedna NULL je povolená jedinečným obmedzením.

Jedinečné obmedzenia sa odvoláva aj na cudzí kľúč. Môže sa použiť, keď niekto chce uplatniť obmedzenia na stĺpec a skupinu stĺpcov, ktoré nie sú primárnym kľúčom. Na rozdiel od primárneho kľúča generuje index bez klastrov . Indexy bez zoskupení majú odlišnú štruktúru od riadkov údajov. Každá položka kľúč-hodnota v ňom ukazuje na riadok údajov, ktorý obsahuje kľúčovú hodnotu, preto používa ukazovatele.

Kľúčové rozdiely medzi primárnym kľúčom a jedinečným kľúčom

  1. Ak je atribút deklarovaný ako primárny kľúč, neprijíma hodnoty NULL. Na druhej strane, ak atribút deklarovaný ako jedinečný, môže prijať jednu hodnotu NULL.
  2. Tabuľka môže mať iba primárny kľúč, zatiaľ čo na tabuľke môže byť viac jedinečných obmedzení.
  3. Klastrovaný index automaticky vytvorený pri definovaní primárneho kľúča. Na rozdiel od toho jedinečný kľúč generuje index bez klastrov.

záver

Primárny kľúč a jedinečný kľúč slúžia na účel jedinečného identifikátora pre riadky tabuľky s jedinečnými hodnotami v stĺpci alebo skupine stĺpcov. Tieto kľúčové obmedzenia sú výrazne diferencované, kde každá tabuľka môže mať maximálne jeden primárny kľúč, zatiaľ čo tabuľka môže mať viac jedinečných kľúčov, ktoré nie sú primárne.

Top