Doporučená, 2024

Redakce Choice

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

Klíče jsou atribut nebo sada atributů, které se používají pro přístup k n-ticím z tabulky, nebo jsou také použity k vytvoření vztahu mezi dvěma tabulkami. V tomto článku se budeme zabývat primárním a kandidátským klíčem a rozdíly mezi nimi. Primární i kandidátský klíč jednoznačně identifikují n-tici v relaci nebo tabulce. Ale nejdůležitějším bodem, který je odlišuje, je, že ve vztahu může existovat pouze jeden primární klíč . Ve vztahu však může být více než jeden kandidátský klíč .

Tam jsou některé další rozdíly mezi primární a kandidátský klíč, který budu diskutovat s pomocí srovnávací tabulky uvedené níže.

Srovnávací graf

Základ pro porovnáníPrimární klíčKlíč kandidáta
ZákladníV každém vztahu může být pouze jeden primární klíč.Ve vztahu může být více než jeden kandidátský klíč.
NULAŽádný atribut primárního klíče nesmí obsahovat hodnotu NULL.Atribut klíče Candidate může mít hodnotu NULL.
UrčeteJe volitelné zadat primární klíč pro libovolný vztah.Nesmí být zadán vztah bez kandidátského klíče.
VlastnostiPrimární klíč popisuje nejdůležitější atribut relace.Kandidátní klíče představují kandidáty, kteří se mohou kvalifikovat pro primární klíč.
Vice-VersaPrimární klíč je kandidátský klíč.Není však povinné, aby každý kandidátský klíč mohl být primárním klíčem.

Definice primárního klíče

Primární klíč je atribut nebo sada atributů, které jednoznačně identifikují každou n-tici ve vztahu. Pro každý vztah může existovat pouze jeden primární klíč. Je třeba dbát na to, aby primární klíč nikdy neobsahoval hodnotu NULL a musí mít jedinečnou hodnotu pro každou n-tici ve vztahu. Hodnoty atributu / s primárního klíče musí být statické, tj. Hodnota atributu by nikdy neměla být změněna.

Jeden z Kandidátských klíčů se kvalifikuje jako primární klíč. Pravidla, která musí kandidátský klíč splnit, aby se staly primárními, jsou, že hodnota klíče by nikdy neměla být NULL a musí být jedinečná pro všechny n-tice.

Pokud relace obsahuje atribut, který je primárním klíčem nějakého jiného vztahu, pak se tento atribut nazývá cizí klíč .

Před zavedením dalších atributů relace je doporučeno zjistit primární klíč vztahu, protože primární klíč identifikuje každý klíč jedinečně. Je lepší zvolit jeden atribut nebo malý počet atributů jako primární klíč, což usnadňuje manipulaci s relacemi.

Nyní se podívejme na příklad primárního klíče.

 Student {ID, jméno, příjmení, věk, adresa} 

Zde nejprve zjistíme kandidátské klíče. Vymyslel jsem dva kandidátní klíče {ID} a {First_name, Last_name}, které jednoznačně identifikují každého studenta ve vztahu studenta. Teď si vyberu ID jako svůj primární klíč, protože někdy se může stát, že dva studenti mohou mít stejné křestní jméno a příjmení, takže bude snadné sledovat studenta s jeho ID .

Definice klíče kandidáta

Klíč kandidáta je atribut nebo sada atributů, které jednoznačně definují n-tici v relaci. Ve vztahu existuje více než jeden kandidátský klíč. Tyto klíče jsou kandidáti, kteří se mohou stát primárním klíčem.

Ačkoli každý klíč kandidáta se stane primárním klíčem, jako primární klíč může být vybrán pouze jeden klíč. Pravidla, která klíčový klíč vyžaduje, aby se stal primárním klíčem, nemohou být v atributu klíče nikdy NULL v žádné doméně klíče, musí být jedinečná a statická .

Pokud jsou všechny klíčové klíče způsobilé pro primární klíč, pak zkušený DBA musí přijmout rozhodnutí zjistit primární klíč. Bez kandidátského klíče nemůže být nikdy žádný vztah.

Pojďme pochopit klíč kandidáta s příkladem. Pokud přidáme ještě několik atributů do vztahu studenta, diskutoval jsem výše.

 Student {ID, jméno, příjmení, věk, adresa, DOB, název_zřízení} 

Zde mohu zjistit dva kandidátní klíče, které jsou {ID}, {First_name, Last_name, DOB} . Takže můžete porozumět kandidátským klíčům, které jednoznačně identifikují n-tici ve vztahu.

Klíčové rozdíly mezi primárním a kandidátským klíčem

  1. Základním bodem, který odlišuje primární klíč od kandidátského klíče, je skutečnost, že pro relaci ve schématu může být pouze jeden primární. Pro jeden vztah však může existovat více kandidátských klíčů.
  2. Atribut pod primárním klíčem nemůže nikdy obsahovat hodnotu NULL, protože hlavní funkcí primárního klíče je jednoznačně identifikovat záznam ve vztahu. Dokonce i primární klíč může být použit jako cizí klíč v jiném vztahu, a proto nesmí být NULL, takže odkazující vztah může najít n-tice v odkazovaném vztahu. Kandidátský klíč může být NULL, pokud není zadáno omezení atributu null.
  3. Je volitelné zadat primární klíč, ale nemůže existovat vztah bez kandidátských klíčů.
  4. Primární klíč popisuje jedinečný a nejdůležitější atribut relace, zatímco kandidátské klíče poskytují kandidátům, z nichž jeden může být vybrán jako primární klíč.
  5. Každý primární klíč je kandidátský klíč, ale naopak není pravdivý.

Závěr:

Volba primárního klíče je volitelná. Na druhé straně, pokud deklarujete vztah, musí být kandidátské klíče v tomto vztahu přítomny, aby se vytvořil dobrý vztah.

Top