Rozdíl mezi primárním klíčem a jedinečným klíčem

Primární klíč i jedinečný klíč jsou jedinečné klíče v relační databázi, které zaručují jedinečnost hodnot ve sloupci nebo sadě sloupců. V rámci omezení primárního klíče již existuje předdefinované jedinečné omezení klíče. Zatímco primární klíč se používá zejména k identifikaci každého záznamu v tabulce, na druhé straně se používá jedinečný klíč k zamezení duplicitních záznamů ve sloupci s výjimkou nulové položky. Oba klíče však mohou obsahovat více než jen jeden sloupec z dané tabulky a oba hrají klíčovou roli při ukládání a získávání dat. Data jsou řadou tabulek se sloupci a tyto sloupce ukládají informace všech typů, které lze dále získat nebo získat pomocí pokynů. Tady přicházejí klíče k obrázku. Primární klíč a jedinečný klíč jsou dva jedinečné klíče, které určují, jak mají být data uložena v systému.

Primární klíč

Primární klíč (také podle primárního klíčového slova) je jedinečný klíč v relační databázi, který identifikuje každý záznam v databázové tabulce. Je to druh jedinečného identifikátoru, jako je číslo sociálního zabezpečení osoby, telefonní číslo, číslo řidičského průkazu nebo číslo poznávací značky vozidla. Databáze musí mít pouze jeden primární klíč.

Tabulka v databázi obsahuje sloupec nebo sadu sloupců, které obsahují hodnoty, které jednoznačně identifikují každý řádek v tabulce. Tento sloupec nebo sada sloupců se nazývá primární klíč tabulky, který musí obsahovat jedinečné hodnoty a nesmí obsahovat nulové hodnoty. Bez primárního klíče nebude relační databáze fungovat.

Primární klíč se vytvoří definováním omezení PRIMARY KEY při vytváření nebo úpravě tabulky. Ve standardu SQL může primární klíč obsahovat jeden nebo více sloupců, zatímco každý sloupec je implicitně definován jako NOT NULL. Pokud definujete omezení PRIMARY KEY pro více než jeden sloupec, může to vést k duplikování hodnot v jednom sloupci, proto musí být každá kombinace hodnot jedinečná pro všechny sloupce..

Primární klíč má následující funkce:

  • Každá tabulka musí mít jeden a pouze jeden primární klíč, ne více než jeden.
  • Primární klíč nemůže obsahovat hodnoty NULL.
  • Může se skládat z jednoho nebo více sloupců.
  • Všechny sloupce musí být definovány jako NOT NULL.
  • Primární klíč je ve výchozím nastavení seskupen jedinečný index.

Unikátní klíč

Jedinečný klíč je sada jednoho nebo více než jednoho sloupce / pole tabulky, které jedinečně identifikují záznam v databázové tabulce. Omezení UNIQUE KEY zajišťuje, že všechny hodnoty ve sloupci jsou v databázi jedinečné. Stejně jako primární klíč může i jedinečný klíč obsahovat více než jeden sloupec. Jedinečný klíč však může přijmout pouze jednu nulovou hodnotu. Žádné dva řádky nemají stejné hodnoty v databázové tabulce.

Jedinečný klíč je velmi podobný primárnímu klíči a lze jej definovat během vytváření tabulky. Když je sloupec nebo sada sloupců označena jako jedinečná v systému relační databáze, zkontroluje integritu hodnot před přiřazením omezení, aby se zabránilo tomu, aby dva záznamy měly stejné hodnoty v konkrétním sloupci..

UNIQUE je omezení ve sloupci KLIMATICKÝ KLÍČ, který charakterizuje následující:

  • Jedinečné omezení KEY garantuje jedinečnost hodnot.
  • V tabulce lze definovat více jedinečných klíčů.
  • Sloupec může obsahovat hodnotu NULL, ale je povolena pouze jedna hodnota NULL na sloupec.
  • Jedinečný klíč může ve výchozím nastavení vytvářet neskupovaný index.

Rozdíl mezi primárním klíčem a jedinečným klíčem

1. Funkce

Primární klíč je druh jedinečného identifikátoru klíče, který jedinečně identifikuje řádek v databázové tabulce, zatímco jedinečný klíč identifikuje všechny možné řádky, které existují v tabulce, a ne pouze aktuálně existující řádky..

2. Chování

Primární klíč se používá k identifikaci záznamu v databázové tabulce, zatímco jedinečný klíč se používá k zamezení duplicitních hodnot ve sloupci s výjimkou nulové položky..

3. Indexování

Primární klíč ve výchozím nastavení vytváří seskupený jedinečný index, zatímco jedinečný klíč je ve výchozím nastavení jedinečný neslastovaný index v databázové tabulce..

4. Nulové hodnoty

Primární klíč nemůže přijímat hodnoty NULL v databázové tabulce, zatímco jedinečný klíč může přijímat pouze jednu hodnotu NULL v tabulce.

5. Limit

V tabulce může být pouze jeden a pouze jeden primární klíč, ale v databázi může existovat více jedinečných klíčů pro tabulku..

Primární klíč vs. jedinečný klíč

Primární klíč

Unikátní klíč

Primární klíč se používá k jedinečné identifikaci záznamu / řádku v databázové tabulce. Jedinečný klíč se používá k jedinečné identifikaci všech možných řádků v tabulce a nejen aktuálně existujících řádků.
Nepřijímá NULL hodnoty. Může akceptovat pouze jednu NULL hodnotu v tabulce.
Ve výchozím nastavení je seskupený index, což znamená, že data jsou uspořádána v seskupené posloupnosti indexů. Ve výchozím nastavení je to jedinečný neskupovaný index.
V tabulce může být pouze jeden primární klíč. Tabulka může mít více jedinečných klíčů.
Primární klíč je definován pomocí omezení PRIMARY KEY. Unikátní klíč je reprezentován pomocí omezení UNIQUE.
Slouží k identifikaci řádku v tabulce. Používá se k zamezení duplicitních hodnot ve sloupci.
Hodnoty primárních klíčů nelze změnit ani odstranit. Jedinečné hodnoty klíčů lze upravit.

souhrn

  • Primární klíč i jedinečný klíč jsou omezení integrity entity, která jsou v mnoha aspektech podobná. Mají však spravedlivý podíl na rozdílech, pokud jde o programování. Oba jsou základní pojmy, které se primárně používají v systémech správy databází.
  • Primární klíč je sada jednoho nebo více sloupců / polí databázové tabulky, které jednoznačně identifikují záznam v tabulce. Jedinečný klíč naopak zabraňuje tomu, aby dva záznamy měly ve sloupci stejné hodnoty.
  • Koncepčně může být pro danou tabulku pouze jeden PRIMÁRNÍ KLÁVES, zatímco pro tabulku může existovat více než jeden UNIQUE KEY.
  • Primární klíč musí být jedinečný, ale jedinečný klíč nemusí být nutně primárním klíčem.
  • Primární klíč nemůže přijímat hodnoty NULL v tabulce, zatímco jedinečný klíč může povolit hodnoty NULL s výjimkou pouze jednoho NULL v tabulce..