A kandidátsky kľúč je súčasťou kľúča známeho ako Super kľúč ( diskutované v predchádzajúcej časti ), kde super kľúč je nadmnožina všetkých tých atribútov, ktoré dokážu jednoznačne identifikovať tabuľku.
Tu budeme diskutovať o kandidátskom kľúči, jeho úlohe, ako aj o jeho použití. Pozrieme sa tiež na niekoľko príkladov, ktoré nám pomôžu lepšie pochopiť pojem kandidátsky kľúč.
nový riadok v pythone
Čo je kľúč kandidáta
Kandidátsky kľúč je podmnožinou nadmnožiny kľúčov, kde kľúč, ktorý neobsahuje žiadny nadbytočný atribút, nie je iný ako a Kandidátsky kľúč . Aby sme mohli vybrať kandidátske kľúče zo sady super kľúčov, musíme sa pozrieť na sadu super kľúčov.
Úloha kľúča kandidáta
Úlohou kandidátskeho kľúča je jednoznačne identifikovať riadok alebo stĺpec tabuľky. Hodnota kandidátskeho kľúča tiež nemôže byť Null. Opis kandidátskeho kľúča je podľa odborníkov „žiadne nadbytočné atribúty“ a ide o „minimálnu reprezentáciu n-tice“.
Ako sa kandidátsky kľúč líši od primárneho kľúča
Hoci účel kandidáta aj primárneho kľúča je rovnaký, to znamená jedinečne identifikovať n-tice a potom sa tiež navzájom líšia. Je to preto, že v tabuľke môžeme mať jeden alebo viac kandidátskych kľúčov, ale pre tabuľku môžeme vytvoriť iba jeden primárny kľúč. Z počtu získaných kandidátskych kľúčov teda vieme identifikovať vhodný primárny kľúč. Ak je však v tabuľke iba jeden kandidátsky kľúč, možno ho zvážiť pre obe kľúčové obmedzenia.
Príklad kľúča kandidáta
Pozrime sa na rovnaký príklad pri diskusii o Super kľúči, aby sme pochopili fungovanie kandidátskeho kľúča.
base64 dekódovať v js
Máme EMPLOYEE_DETAIL tabuľka, kde máme nasledujúce atribúty:
Emp_SSN: V tomto poli je uložené číslo SSN.
Emp_Id: Atribút, ktorý uchováva hodnotu identifikačného čísla zamestnanca.
reťazec na int java
Emp_name: Atribút, ktorý uchováva meno zamestnanca so zadaným ID zamestnanca.
Emp_email: Atribút, ktorý ukladá e-mailové ID zadaných zamestnancov.
The EMPLOYEE_DETAIL nižšie uvedená tabuľka, ktorá vám pomôže lepšie porozumieť:
Takže z vyššie uvedenej tabuľky sme získali nižšie uvedené super kľúče (diskutované v predchádzajúcej časti):
Teraz, z týchto sád super kľúčov, môžeme uzavrieť kandidátske kľúče. Ak chcete vyzdvihnúť kandidátske kľúče, najlepším spôsobom je čo najviac analyzovať a vytvoriť primárne kľúče. Potrebujeme teda identifikovať tie množiny zo množín super kľúčov, ktoré samotné dokážu identifikovať celú tabuľku, alebo môžeme povedať aj ostatné atribúty tabuľky. Výsledkom je teda:
Takže toto sú tri získané atribúty, ktoré môžu identifikovať ostatné neprime atribúty tabuľky. Toto všetko sú kandidátske kľúče, z ktorých môžeme vybrať najvhodnejší atribút, ktorý dokáže jednoducho identifikovať všetky záznamy tabuľky, ktorá bude označená ako primárny kľúč.
Rozdiel medzi kľúčom kandidáta a super kľúčom
Z vyššie uvedených diskusií môžeme mať nasledujúce rozdiely:
reťazec k itn
Super kľúč | Kandidátsky kľúč |
---|---|
Je to nadmnožina všetkých takýchto atribútov, ktoré môžu jednoznačne identifikovať tabuľku. | Je to podmnožina alebo časť kľúča Super. |
Nie je vôbec povinné, aby všetky super kľúče boli kandidátske kľúče. | Na druhej strane, všetky kandidátske kľúče sú super kľúče. |
Atribút super kľúča môže byť NULL, čo znamená, že jeho hodnoty môžu byť nulové. | Atribút obsahujúci kandidátsky kľúč nikdy nemôže mať hodnotu NULL, čo znamená, že jeho hodnoty nemôžu byť nulové. |
Všetky super kľúče sa vytvorili spolu, aby priniesli kandidátske kľúče. | Podobne sú kandidátske kľúče zostavené tak, aby vytvorili primárne kľúče. |
Počet vytvorených super kľúčov je vždy viditeľný. | Tu sú kandidátske kľúče menšie ako super kľúče. |
Superkľúč je teda nadmnožina, kandidátsky kľúč je podmnožina a primárny kľúč je podmnožina superkľúča.