Klíče DBMS: Typy kandidátských, super, primárních, cizích klíčů s příkladem

Co jsou klíče v DBMS?

KLÍČE v DBMS je atribut nebo sada atributů, která vám pomáhá identifikovat řádek (n-tice) ve vztahu (tabulce). Umožňují vám najít vztah mezi dvěma tabulkami. Klíče vám pomohou jednoznačně identifikovat řádek v tabulce kombinací jednoho nebo více sloupců v této tabulce. Klíč je také užitečný pro nalezení jedinečného záznamu nebo řádku z tabulky. Databázový klíč je také užitečný pro nalezení jedinečného záznamu nebo řádku z tabulky.

Příklad:

ID zaměstnance Jméno Příjmení
11 Andrew Johnson
22 Tomáš dřevo
33 Alex Zdravý

Ve výše uvedeném příkladu je ID zaměstnance primárním klíčem, protože jedinečně identifikuje záznam zaměstnance. V této tabulce nemůže mít žádný jiný zaměstnanec stejné ID zaměstnance.

Proč potřebujeme klíč?

Zde je několik důvodů pro použití klíče SQL v systému DBMS.

  • Klíče vám pomohou identifikovat libovolný řádek dat v tabulce. V reálné aplikaci může tabulka obsahovat tisíce záznamů. Záznamy lze navíc duplikovat. Klíče v RDBMS zajišťují, že i přes tyto výzvy můžete jednoznačně identifikovat záznam tabulky.
  • Umožňuje vytvořit vztah mezi tabulkami a identifikovat vztah mezi nimi
  • Pomůže vám prosadit identitu a integritu ve vztahu.

Typy klíčů v DBMS (Systém správy databáze)

V DBMS existuje hlavně osm různých typů klíčů a každý klíč má jinou funkci:

  1. Super klíč
  2. Primární klíč
  3. Klíč kandidáta
  4. Alternativní klíč
  5. Cizí klíč
  6. Složený klíč
  7. Složený klíč
  8. Náhradní klíč

Podívejme se na každý z klíčů v DBMS s příkladem:

  • Super klíč – Super klíč je skupina jednoho nebo více klíčů, které identifikují řádky v tabulce.
  • Primární klíč - je sloupec nebo skupina sloupců v tabulce, které jednoznačně identifikují každý řádek v této tabulce.
  • Klíč kandidáta – je sada atributů, které jednoznačně identifikují n-tice v tabulce. Kandidátský klíč je super klíč bez opakovaných atributů.
  • Alternativní klíč – je sloupec nebo skupina sloupců v tabulce, které jednoznačně identifikují každý řádek v této tabulce.
  • Cizí klíč - je sloupec, který vytváří vztah mezi dvěma tabulkami. Účelem cizích klíčů je zachovat integritu dat a umožnit navigaci mezi dvěma různými instancemi entity.
  • Složený klíč – má dva nebo více atributů, které vám umožňují jednoznačně rozpoznat konkrétní záznam. Je možné, že každý sloupec nemusí být v rámci databáze sám o sobě jedinečný.
  • Složený klíč – je kombinace dvou nebo více sloupců, které jednoznačně identifikují řádky v tabulce. Kombinace sloupců zaručuje jedinečnost, i když individuální jedinečnost není zaručena.
  • Náhradní klíč – Umělý klíč, jehož cílem je jednoznačně identifikovat každý záznam, se nazývá náhradní klíč. Tyto druhy klíčů jsou jedinečné, protože jsou vytvořeny, když nemáte žádný přirozený primární klíč.

Co je to Super klíč?

Superklíč je skupina jednoduchých nebo více klíčů, které identifikují řádky v tabulce. Super klíč může mít další atributy, které nejsou potřeba pro jednoznačnou identifikaci.

Příklad:

EmpSSN EmpNum Empname
9812345098 AB05 Zobrazeno
9876512345 AB06 Roslyne
199937890 AB07 James

Ve výše uvedeném příkladu jsou EmpSSN a EmpNum název superklíče.

Co je primární klíč?

ZÁKLADNÍ KLÍČ in DBMS je sloupec nebo skupina sloupců v tabulce, které jednoznačně identifikují každý řádek v této tabulce. Primární klíč nemůže být duplicitní, což znamená, že stejná hodnota se v tabulce nemůže objevit více než jednou. Tabulka nemůže mít více než jeden primární klíč.

Pravidla pro definování primárního klíče:

  • Dva řádky nemohou mít stejnou hodnotu primárního klíče
  • Každý řádek musí mít hodnotu primárního klíče.
  • Pole primárního klíče nemůže mít hodnotu null.
  • Hodnotu ve sloupci primárního klíče nelze nikdy upravit ani aktualizovat, pokud na tento primární klíč odkazuje jakýkoli cizí klíč.

Příklad:

V následujícím příkladu StudID je primární klíč.

StudID Role č Jméno Příjmení Email
1 11 Tomáš Cena abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 dana Natan mno@yahoo.com

Co je alternativní klíč?

ALTERNATIVNÍ KLÍČE je sloupec nebo skupina sloupců v tabulce, které jednoznačně identifikují každý řádek v této tabulce. Tabulka může mít více možností pro primární klíč, ale pouze jeden může být nastaven jako primární klíč. Všechny klíče, které nejsou primárním klíčem, se nazývají alternativní klíč.

Příklad:

V této tabulce jsou StudID, Roll No a Email kvalifikovány jako primární klíč. Ale protože StudID je primární klíč, alternativním klíčem se stává Roll No, Email.

StudID Role č Jméno Příjmení Email
1 11 Tomáš Cena abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 dana Natan mno@yahoo.com

Co je klíč kandidáta?

KLÍČ KANDIDÁTU v SQL je sada atributů, které jednoznačně identifikují n-tice v tabulce. Kandidátský klíč je super klíč bez opakovaných atributů. Primární klíč by měl být vybrán z kandidátských klíčů. Každá tabulka musí mít alespoň jeden kandidátský klíč. Tabulka může mít více kandidátních klíčů, ale pouze jeden primární klíč.

Vlastnosti kandidátského klíče:

  • Musí obsahovat jedinečné hodnoty
  • Kandidátský klíč v SQL může mít více atributů
  • Nesmí obsahovat hodnoty null
  • Měl by obsahovat minimum polí, aby byla zajištěna jedinečnost
  • Jednoznačně identifikujte každý záznam v tabulce

Klíč kandidáta Příklad: V dané tabulce jsou ID stud, Roll No a email kandidátskými klíči, které nám pomáhají jednoznačně identifikovat záznam studenta v tabulce.

StudID Role č Jméno Příjmení Email
1 11 Tomáš Cena abc@gmail.com
2 12 Nick Wright xyz@gmail.com
3 13 dana Natan mno@yahoo.com

Klíč kandidáta
Kandidátský klíč v DBMS

Co je cizí klíč?

ZAHRANIČNÍ KLÍČ je sloupec, který vytváří vztah mezi dvěma tabulkami. Účelem cizích klíčů je zachovat integritu dat a umožnit navigaci mezi dvěma různými instancemi entity. Funguje jako křížový odkaz mezi dvěma tabulkami, protože odkazuje na primární klíč jiné tabulky.

Příklad:

DeptCode DeptName
001 Věda
002 angličtina
005 Počítač
ID učitele Fname Ljméno
B002 David Warner
B017 Sara Joseph
B009 mikrofon Bruntone

V tomto klíči v příkladu dbms máme ve škole dvě tabulky, výuku a oddělení. Neexistuje však způsob, jak zjistit, které vyhledávání pracuje v kterém oddělení.

V této tabulce, přidáním cizího klíče v Deptcode ke jménu učitele, můžeme vytvořit vztah mezi dvěma tabulkami.

ID učitele DeptCode Fname Ljméno
B002 002 David Warner
B017 002 Sara Joseph
B009 001 mikrofon Bruntone

Tento koncept je také známý jako referenční Integrity.

Co je složený klíč?

SLOŽENÝ KLÍČ má dva nebo více atributů, které vám umožňují jednoznačně rozpoznat konkrétní záznam. Je možné, že každý sloupec nemusí být v rámci databáze sám o sobě jedinečný. Při kombinaci s jiným sloupcem nebo sloupci se však kombinace složených klíčů stane jedinečnou. Účelem složeného klíče v databázi je jednoznačně identifikovat každý záznam v tabulce.

Příklad:

Objednávka číslo ProductID jméno výrobku Množství
B005 JAP102459 Mouse 5
B005 DKT321573 USB 10
B005 OMG446789 LCD monitor 20
B004 DKT321573 USB 15
B002 OMG446789 Laserová tiskárna 3

V tomto příkladu nemohou být OrderNo a ProductID primárním klíčem, protože jednoznačně neidentifikují záznam. Lze však použít složený klíč ID objednávky a ID produktu, protože jedinečně identifikuje každý záznam.

Co je to složený klíč?

KOMPOZITNÍ KLÍČ je kombinace dvou nebo více sloupců, které jednoznačně identifikují řádky v tabulce. Kombinace sloupců zaručuje jedinečnost, i když jednotlivá jedinečnost není zaručena. Proto jsou kombinovány, aby jednoznačně identifikovaly záznamy v tabulce.

Rozdíl mezi složeným a složeným klíčem je ten, že jakákoli část složeného klíče může být cizí klíč, ale složený klíč může, ale nemusí být součástí cizího klíče.

Co je náhradní klíč?

NÁHRADNÍ KLÍČE je Umělý klíč, jehož cílem je jednoznačně identifikovat každý záznam, se nazývá náhradní klíč. Tento druh částečného klíče v dbms je jedinečný, protože je vytvořen, když nemáte žádný přirozený primární klíč. Nedávají údajům v tabulce žádný význam. Náhradní klíč v DBMS je obvykle celé číslo. Náhradní klíč je hodnota vygenerovaná těsně před vložením záznamu do tabulky.

Fname Příjmení Doba spuštění Čas ukončení
Anne kovář 09:00 18:00
zvedák Francis 08:00 17:00
Anna McLean 11:00 20:00
Zobrazeno Willam 14:00 23:00

Výše uvedený příklad ukazuje načasování směn různých zaměstnanců. V tomto příkladu je k jednoznačné identifikaci každého zaměstnance potřeba náhradní klíč.

Náhradní klíče dovnitř sql jsou povoleny, když

  • Žádná vlastnost nemá parametr primárního klíče.
  • V tabulce, když je primární klíč příliš velký nebo komplikovaný.

Rozdíl mezi primárním klíčem a cizím klíčem

Zde je hlavní rozdíl mezi primárním klíčem a cizím klíčem:

Primární klíč Cizí klíč
Pomáhá jednoznačně identifikovat záznam v tabulce. Je to pole v tabulce, které je primárním klíčem jiné tabulky.
Primární klíč nikdy nepřijímá hodnoty null. Cizí klíč může přijímat více hodnot null.
Primární klíč je seskupený index a data v tabulce DBMS jsou fyzicky organizována v posloupnosti seskupeného indexu. Cizí klíč nemůže automaticky vytvořit index, klastrovaný nebo neklastrovaný. Můžete však ručně vytvořit index na cizím klíči.
V tabulce můžete mít jeden primární klíč. V tabulce můžete mít více cizích klíčů.

Shrnutí

  • Co je klíč v DBMS: Klíč v DBMS je atribut nebo sada atributů, které vám pomohou identifikovat řádek (n-tice) ve vztahu (tabulce)
  • Klíče dovnitř RDBMS umožňují vytvořit vztah mezi tabulkami a identifikovat vztah mezi nimi
  • Osm typů klíčů v DBMS jsou super, primární, kandidátský, alternativní, cizí, složený, složený a náhradní klíč.
  • Super klíč je skupina jednoho nebo více klíčů, které identifikují řádky v tabulce.
  • Sloupec nebo skupina sloupců v tabulce, která nám pomáhá jednoznačně identifikovat každý řádek v této tabulce, se nazývá primární klíč.
  • Všechny různé klíče v DBMS, které nejsou primárním klíčem, se nazývají alternativní klíč
  • Super klíč bez opakovaného atributu se nazývá kandidátský klíč
  • Složený klíč je klíč, který má mnoho polí, která vám umožňují jednoznačně rozpoznat konkrétní záznam
  • Klíč, který má více atributů pro jednoznačnou identifikaci řádků v tabulce, se nazývá složený klíč
  • Umělý klíč, jehož cílem je jednoznačně identifikovat každý záznam, se nazývá náhradní klíč
  • Primární klíč nikdy nepřijímá hodnoty null, zatímco cizí klíč může přijímat více hodnot null.