logo

Kandidátský klíč v DBMS

A kandidátský klíč je součástí klíče známého jako Super klíč ( diskutované v předchozí části ), kde super klíč je nadmnožina všech atributů, které mohou jednoznačně identifikovat tabulku.

Zde budeme diskutovat o kandidátním klíči, jeho roli a také jeho použití. Podíváme se také na několik příkladů, které nám pomohou lépe porozumět konceptu kandidátského klíče.

rozdělené řetězcem java

Co je klíč kandidáta

Kandidátský klíč je podmnožinou superklíčové sady, kde klíč, který neobsahuje žádný redundantní atribut, není nic jiného než a Klíč kandidáta . Abychom mohli vybrat kandidátní klíče ze sady superklíčů, musíme se podívat na sadu superklíčů.

Role kandidátského klíče

Úlohou kandidátního klíče je jednoznačně identifikovat řádek nebo sloupec tabulky. Hodnota kandidátského klíče také nemůže být Null. Popis kandidátského klíče je podle odborníků „žádné nadbytečné atributy“ a jde o „minimální reprezentaci n-tice“.

Jak se kandidátský klíč liší od primárního klíče

Ačkoli účel kandidáta i primárního klíče je stejný, to znamená jednoznačně identifikovat n-tice, a pak se také navzájem liší. Je to proto, že v tabulce můžeme mít jeden nebo více než jeden kandidátský klíč, ale pro tabulku můžeme vytvořit pouze jeden primární klíč. Z počtu získaných kandidátských klíčů tedy můžeme identifikovat příslušný primární klíč. Pokud však v tabulce existuje pouze jeden kandidátský klíč, lze jej vzít v úvahu pro obě klíčová omezení.

Příklad klíče kandidáta

Podívejme se na stejný příklad při diskuzi o Super klíči, abychom porozuměli fungování kandidátního klíče.

Máme EMPLOYEE_DETAIL tabulka, kde máme následující atributy:

konstruktory v Javě

Emp_SSN: V tomto poli je uloženo číslo SSN.

Emp_Id: Atribut, který ukládá hodnotu identifikačního čísla zaměstnance.

řetězec do int java

Emp_name: Atribut, který ukládá jméno zaměstnance, který má zadané ID zaměstnance.

Emp_email: Atribut, který ukládá ID e-mailu zadaných zaměstnanců.

The EMPLOYEE_DETAIL Níže je uvedena tabulka, která vám pomůže lépe porozumět:

Kandidátský klíč v DBMS

Takže z výše uvedené tabulky jsme získali níže uvedené super klíče (diskutované v předchozí části):

Kandidátský klíč v DBMS

Nyní z těchto sad super klíčů můžeme uzavřít kandidátské klíče. Nejlepším způsobem, jak vyzvednou kandidátské klíče, je co nejvíce analyzovat a vytvořit primární klíče. Potřebujeme tedy identifikovat ty sady ze sad super klíčů, které samy dokážou identifikovat celou tabulku, nebo můžeme říci další atributy tabulky. Výsledkem je tedy:

seznam java array
Kandidátský klíč v DBMS

Jedná se tedy o tři získané atributy, které mohou identifikovat ostatní neprime atributy tabulky. To vše jsou kandidátské klíče, ze kterých můžeme vybrat nejvhodnější atribut, který dokáže snadno identifikovat všechny záznamy tabulky, která bude popsána jako primární klíč.

Rozdíl mezi kandidátským klíčem a superklíčem

Z výše uvedených diskusí můžeme mít následující rozdílné body:

Super klíč Klíč kandidáta
Je to nadmnožina všech takových atributů, které mohou jednoznačně identifikovat tabulku. Je to podmnožina nebo část klíče Super.
Není vůbec povinné, aby všechny superklíče byly kandidátskými klíči. Na druhou stranu všechny kandidátské klíče jsou super klíče.
Atribut super klíče může být NULL, což znamená, že jeho hodnoty mohou být null. Atribut obsahující kandidátský klíč nemůže mít nikdy hodnotu NULL, což znamená, že jeho hodnoty nemohou být null.
Všechny super klíče se vytvořily dohromady, aby přinesly kandidátské klíče. Podobně jsou kandidátské klíče sestaveny k vytvoření primárních klíčů.
Počet vytvořených super klíčů je vždy vidět více. Zde jsou kandidátské klíče menší než super klíče.

Super klíč je tedy nadmnožina, kandidátský klíč je podmnožina a primární klíč je podmnožinou superklíče.