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

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

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

Video: Rozdiel medzi primárnym kľúčom a jedinečným kľúčom
Video: Сравнение Майкла Джексона и Чонгука 2024, November
Anonim

Primárny kľúč verzus jedinečný kľúč

Stĺpec alebo skupina stĺpcov, ktoré možno použiť na identifikáciu alebo prístup k riadku alebo skupine riadkov v databáze, sa nazýva kľúč. Jedinečný kľúč je kľúč, ktorý dokáže jednoznačne identifikovať riadok v tabuľke v kontexte relačných databáz. Jedinečný kľúč sa skladá z jedného stĺpca alebo množiny stĺpcov. Primárny kľúč je tiež kombináciou stĺpcov v tabuľke, ktoré jednoznačne identifikujú riadok. Považuje sa to však za špeciálny prípad jedinečného kľúča.

Čo je jedinečný kľúč?

Ako už bolo spomenuté, jedinečný kľúč je jeden stĺpec alebo skupina stĺpcov, ktoré dokážu jednoznačne identifikovať riadok v tabuľke. Jedinečný kľúč je teda obmedzený tak, že žiadne jeho dve hodnoty nie sú rovnaké. Jednou z dôležitých vlastností je, že jedinečné kľúče nevynucujú obmedzenie NOT NULL. Keďže NULL predstavuje nedostatok hodnoty, ak dva riadky majú v stĺpci hodnotu NULL, neznamená to, že hodnoty sú rovnaké. Stĺpec definovaný ako jedinečný kľúč umožňuje v tomto stĺpci iba jednu hodnotu NULL. Potom to možno použiť na jedinečnú identifikáciu konkrétneho riadku. Napríklad v tabuľke, ktorá obsahuje informácie o študentovi, môže byť ID študenta definované ako jedinečný kľúč. Keďže žiadni dvaja študenti nemôžu mať rovnaké ID, jednoznačne identifikuje jedného študenta. Takže stĺpec ID študenta spĺňa všetky vlastnosti jedinečného kľúča. V závislosti od návrhu databázy môže mať tabuľka viac ako jeden jedinečný kľúč.

Čo je primárny kľúč?

Primárny kľúč je tiež stĺpec alebo kombinácia stĺpcov, ktoré jednoznačne definujú riadok v tabuľke relačnej databázy. Tabuľka môže mať najviac jeden primárny kľúč. Primárny kľúč vynucuje implicitné obmedzenie NOT NULL. Takže stĺpec, ktorý je definovaný ako primárny kľúč, nemôže obsahovať hodnoty NULL. Primárny kľúč môže byť normálny atribút v tabuľke, ktorý je zaručene jedinečný, ako napríklad číslo sociálneho poistenia, alebo to môže byť jedinečná hodnota vygenerovaná systémom správy databáz, ako napríklad GUID (Globally Unique Identifier) na serveri Microsoft SQL Server. Primárne kľúče sú definované prostredníctvom obmedzenia PRIMARY KEY v ANSI SQL Standard. Primárny kľúč je možné definovať aj pri vytváraní tabuľky. SQL umožňuje, aby bol primárny kľúč vytvorený z jedného alebo viacerých stĺpcov a každý stĺpec, ktorý je zahrnutý v primárnom kľúči, je implicitne definovaný tak, aby NIE JE NULL. Niektoré systémy správy databáz však vyžadujú, aby stĺpce primárneho kľúča boli explicitne NIE NULL.

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

Aj keď primárny kľúč aj jedinečný kľúč tvoria jeden alebo viacero stĺpcov, ktoré môžu jednoznačne identifikovať riadok v tabuľke, majú niektoré dôležité rozdiely. Najdôležitejšie je, že tabuľka môže mať iba jeden primárny kľúč, zatiaľ čo môže mať viac ako jeden jedinečný kľúč. Primárny kľúč možno považovať za špeciálny prípad jedinečného kľúča. Ďalším rozdielom je, že primárne kľúče majú implicitné obmedzenie NOT NULL, zatiaľ čo jedinečný kľúč toto obmedzenie nemá. Preto stĺpce jedinečného kľúča môžu alebo nemusia obsahovať hodnoty NULL, ale stĺpce primárneho kľúča nemôžu obsahovať hodnoty NULL.

Odporúča: