Odporúčaná, 2024

Redakcia Choice

Rozdiel medzi primárnym a kandidátnym kľúčom

Klávesy sú atribút alebo súbor atribútov, ktoré sa používajú na prístup k n-tylom z tabuľky, alebo sa tiež používajú na vytvorenie vzťahu medzi dvoma tabuľkami. V tomto článku sa budeme zaoberať primárnym a kandidátskym kľúčom a rozdielmi medzi nimi. Primárny aj kandidátny kľúč jednoznačne identifikujú n-ticu vo vzťahu alebo tabuľke. Najdôležitejším bodom, ktorý ich odlišuje, je však to, že vo vzťahu existuje len jeden primárny kľúč . Môže však existovať viac ako jeden kľúč kandidáta vo vzťahu.

Medzi primárnym a kandidátskym kľúčom existuje niekoľko rozdielov, ktoré budem diskutovať pomocou nižšie uvedeného porovnávacieho grafu.

Porovnávacia tabuľka

Základ pre porovnaniePrimárny kľúčKľúč kandidáta
základnéV akomkoľvek vzťahu môže existovať iba jeden primárny kľúč.Vo vzťahu môže byť viac ako jeden kľúč kandidáta.
NULOVÝŽiadny atribút primárneho kľúča nemôže obsahovať hodnotu NULL.Atribút kľúča kandidáta môže mať hodnotu NULL.
špecifikovaťJe voliteľné špecifikovať primárny kľúč pre akýkoľvek vzťah.Nemôže existovať vzťah bez špecifikácie kandidátskeho kľúča.
vlastnosťPrimárny kľúč popisuje najdôležitejší atribút vzťahu.Kandidátske kľúče predstavujú kandidátov, ktorí sa môžu kvalifikovať pre primárny kľúč.
NaopakPrimárny kľúč je kandidátsky kľúč.Nie je však povinné, aby každý kandidátsky kľúč mohol byť primárnym kľúčom.

Definícia primárneho kľúča

Primárny kľúč je atribút alebo súbor atribútov, ktoré jednoznačne identifikujú každú n-ticu vo vzťahu. Pre každý vzťah môže existovať iba jeden primárny kľúč. Musí sa dbať na to, aby primárny kľúč nikdy nemal obsahovať hodnotu NULL a musí mať jedinečnú hodnotu pre každú n-ticu vo vzťahu. Hodnoty atribútov primárneho kľúča musia byť statické, tj hodnota atribútu by sa nikdy nebo len zriedka nemala zmeniť.

Jeden z kandidátskych kľúče sa kvalifikuje, aby sa stal primárnym kľúčom. Pravidlá, ktoré musí kandidátsky kľúč spĺňať na to, aby sa stali primárnymi, spočívajú v tom, že kľúčová hodnota by nikdy nemala byť NULL a musí byť jedinečná pre všetky n-tice.

Ak vzťah obsahuje atribút, ktorý je primárnym kľúčom iného vzťahu, potom sa tento atribút nazýva cudzí kľúč .

Odporúča sa zistiť primárny kľúč vzťahu pred zavedením iných atribútov vzťahu, pretože primárny kľúč identifikuje každú n-ticu jednoznačne. Je lepšie vybrať jeden atribút alebo malý počet atribútov ako primárny kľúč, ktorý umožňuje ľahkú manipuláciu s vzťahmi.

Teraz uvidíme príklad primárneho kľúča.

 Študent {ID, First_name, Last_name, Age, Address} 

Tu budeme najprv zistiť kandidátske kľúče. Zistil som dva kandidátske kľúče {ID} a {First_name, Last_name}, keďže jednoznačne identifikujú každého študenta vo vzťahu študentov. Teraz tu vyberiem ID ako môj primárny kľúč, pretože niekedy sa môže stať, že dvaja študenti môžu mať rovnaké priezviská a priezviská, takže bude ľahké vystopovať študenta s jeho ID .

Definícia kandidátneho kľúča

Kandidátsky kľúč je atribút alebo súbor atribútu, ktorý jednoznačne definuje n-ticu vo vzťahu. Vo vzťahu existuje viac ako jeden kľúč kandidáta. Tieto kandidátske kľúče sú kandidáti, ktorí sa môžu stať primárnym kľúčom.

Hoci každý kandidátsky kľúč spĺňa podmienky na to, aby sa stal primárnym kľúčom, iba jeden môže byť vybraný ako primárny kľúč. Pravidlá, ktoré kandidátsky kľúč vyžaduje, aby sa stal primárnym kľúčom, je hodnota atribútu kľúča nikdy nemôže byť NULL v akejkoľvek doméne kľúča, musí byť jedinečná a statická .

Ak sú všetky kandidátske kľúče kvalifikované pre primárny kľúč, potom skúsený DBA musí prijať rozhodnutie o určení primárneho kľúča. Nikdy nemôže existovať vzťah bez kandidátskeho kľúča.

Chápeme kľúč kandidáta s príkladom. Ak pridáme niektoré ďalšie atribúty vzťahu študentov, diskutoval som vyššie.

 Študent {ID, First_name, Last_name, Age, Address, DOB, Department_name} 

Tu môžem zistiť dva kandidátske kľúče, ktoré sú {ID}, {First_name, Last_name, DOB} . Takže môžete pochopiť, kandidátske kľúče sú také, ktoré jednoznačne identifikujú n-ticu vo vzťahu.

Kľúčové rozdiely medzi primárnym a kandidátnym kľúčom

  1. Základným bodom, ktorý odlišuje primárny kľúč od kandidátskeho kľúča, je, že v schéme môže existovať iba jedna primárna časť pre akýkoľvek vzťah. Môže však existovať viacero kandidátskych kľúčov pre jeden vzťah.
  2. Atribút pod primárnym kľúčom nikdy nemôže obsahovať hodnotu NULL, pretože hlavnou funkciou primárneho kľúča je jednoznačne identifikovať záznam vo vzťahu. Dokonca aj primárny kľúč môže byť použitý ako cudzí kľúč v inom vzťahu, a preto nesmie byť NULL, takže referenčný vzťah môže nájsť n-tice v referenčnom vzťahu. Kľúč kandidáta môže byť NULL, ak nie je zadané obmedzenie atribútu null.
  3. Je voliteľné špecifikovať primárny kľúč, ale nemôže existovať vzťah bez kandidátskych kľúčov.
  4. Primárny kľúč opisuje jedinečný a najdôležitejší atribút vzťahu, kým kandidátske kľúče poskytujú kandidátov, z ktorých jeden môže byť vybraný ako primárny kľúč.
  5. Každý primárny kľúč je kandidátsky kľúč, ale naopak nie je pravda.

záver:

Povolenie pre zadanie primárneho kľúča je voliteľné. Na druhej strane, ak vyhlasujete vzťah, kandidátske kľúče musia byť prítomné v tomto vzťahu, aby sa vytvoril dobrý vzťah.

Top