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

Obsah:

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

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

Video: Rozdíl mezi cizím a primárním klíčem
Video: Primary & Foreign Keys 2024, Listopad
Anonim

Klíčový rozdíl mezi cizím klíčem a primárním klíčem je ten, že cizí klíč je sloupec nebo sada sloupců, které odkazují na primární klíč nebo kandidátský klíč jiné tabulky, zatímco primární klíč je sloupec nebo sada sloupců které lze použít k jedinečné identifikaci řádku v tabulce.

Sloupec nebo sada sloupců, které lze použít k identifikaci nebo přístupu k řádku nebo sadě řádků v databázi, se nazývá klíč. Primární klíč v relační databázi je kombinací sloupců v tabulce, které jednoznačně identifikují řádek tabulky. Cizí klíč v relační databázi je pole v tabulce, které odpovídá primárnímu klíči jiné tabulky. Cizí klíč se používá pro křížové odkazy na tabulky.

Rozdíl mezi cizím klíčem a primárním klíčem - Souhrn srovnání
Rozdíl mezi cizím klíčem a primárním klíčem - Souhrn srovnání
Rozdíl mezi cizím klíčem a primárním klíčem - Souhrn srovnání
Rozdíl mezi cizím klíčem a primárním klíčem - Souhrn srovnání

Co je cizí klíč?

Cizí klíč je referenční omezení mezi dvěma tabulkami. Identifikuje sloupec nebo sadu sloupců v jedné tabulce, nazývané referenční tabulka, která odkazuje na sadu sloupců v jiné tabulce, nazývané odkazovaná tabulka. Cizí klíč nebo sloupce v referenční tabulce musí být primární klíč nebo kandidátský klíč (klíč, který lze použít jako primární klíč) v odkazované tabulce. Cizí klíče navíc umožňují propojení dat napříč několika tabulkami. Cizí klíč proto nemůže obsahovat hodnoty, které se nevyskytují v tabulce, na kterou odkazuje. Potom odkaz poskytnutý cizím klíčem pomáhá propojit informace v několika tabulkách, což by se stalo nezbytným u normalizovaných databází. Více řádků v referenční tabulce může odkazovat na jeden řádek v odkazované tabulce.

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

Obrázek 01: Mapování cizího klíče

Ve standardu ANSI SQL definuje omezení FOREIGN KEY cizí klíče. Dále je možné definovat cizí klíče při vytváření samotné tabulky. Tabulka může mít více cizích klíčů a mohou odkazovat na různé tabulky.

Co je primární klíč?

Primární klíč je sloupec nebo kombinace sloupců, které jednoznačně definují řádek v tabulce relační databáze. Tabulka může mít maximálně jeden primární klíč. Primární klíč vynucuje implicitní omezení NOT NULL. Sloupec s primárním klíčem proto nemůže obsahovat hodnoty NULL. Primárním klíčem může být normální atribut v tabulce, který je zaručeně jedinečný, jako je číslo sociálního pojištění, nebo to může být jedinečná hodnota generovaná systémem správy databází, jako je globálně jedinečný identifikátor (GUID) v Microsoft SQL Server.

Klíčový rozdíl mezi cizím klíčem a primárním klíčem
Klíčový rozdíl mezi cizím klíčem a primárním klíčem
Klíčový rozdíl mezi cizím klíčem a primárním klíčem
Klíčový rozdíl mezi cizím klíčem a primárním klíčem

Obrázek 02: Primární klíč

Omezení PRIMARY KEY v ANSI SQL Standard dále definuje primární klíče. Při vytváření tabulky je také možné definovat primární klíč. Kromě toho SQL umožňuje, aby se primární klíč skládal z jednoho nebo více sloupců a každý sloupec, který je součástí primárního klíče, je implicitně definován jako NOT NULL. Některé systémy pro správu databází však vyžadují, aby sloupce primárního klíče explicitně NENÍ NULL.

Jaký je rozdíl mezi cizím a primárním klíčem?

Cizí klíč vs primární klíč

Cizí klíč je sloupec nebo skupina sloupců v tabulce relační databáze, která poskytuje spojení mezi daty ve dvou tabulkách. Primární klíč je speciální sloupec tabulky relační databáze nebo kombinace více sloupců, která umožňuje jednoznačně identifikovat všechny záznamy tabulky.
NULL
Cizí klíč přijímá hodnotu NULL. Hodnota primárního klíče nemůže být NULL.
Počet klíčů
Tabulka může mít více cizích klíčů. Tabulka může mít pouze jeden primární klíč.
Duplikace
Nice mohou mít duplicitní hodnotu pro atribut cizího klíče. Dvě n-tice ve vztahu nemohou mít duplicitní hodnoty pro atribut primárního klíče.

Shrnutí – cizí klíč vs primární klíč

Rozdíl mezi cizím klíčem a primárním klíčem je ten, že cizí klíč je sloupec nebo sada sloupců, které odkazují na primární klíč nebo kandidátský klíč jiné tabulky, zatímco primární klíč je sloupec nebo sada sloupců, které lze použít k jedinečné identifikaci řádku v tabulce.

Doporučuje: