Primární klíč a cizí klíč

Anonim

Klíče jsou základními prvky relační databáze, protože vytvářejí vztah mezi dvojicí tabulek a zajišťují, že každý záznam v tabulce je jednoznačně identifikován. Klíče mají zvláštní význam než vytváření vztahů; pomáhají také s referenční integritou a jsou hlavní součástí celistvosti na úrovni tabulky. Tabulky ukládají v nich obrovské množství dat, které se obvykle rozšiřují na tisíce záznamů, z nichž všechny jsou netříděné a neorganizované. Načítání určitých dat z těchto četných záznamů může být občas obtížné nebo někdy nemožné. To je místo, kde se objevují klíče. Zde budeme studovat dva velmi důležité klíče schématu relačních databází a jejich rozdíl: primární klíč a cizí klíč.

Co je primární klíč?

Primární klíč je speciální klíč, který jednoznačně identifikuje každý záznam v tabulce. V relační databázi je velmi důležité mít v každém řádku tabulky jedinečný identifikátor a primární klíč je jen věc, kterou potřebujete k jednoznačně identifikovat n-tici v tabulce. N-tice představuje množinu hodnotových atributů v relační databázi. Primární klíč může odkazovat na sloupec nebo skupinu sloupců v tabulce relační databáze, která implicitně identifikuje všechny záznamy v tabulce. Primární klíč musí být pro každý záznam jedinečný, protože slouží jako jedinečný identifikátor a nesmí obsahovat hodnoty Null. Každá databáze musí mít jeden a jediný primární klíč.

Co je cizí klíč?

Cizí klíč odkazuje na pole nebo soubor polí v databázovém záznamu, který jednoznačně identifikuje klíčové pole jiného záznamu databáze v jiné tabulce. Jednoduše řečeno, vytváří vazbu mezi záznamy ve dvou různých tabulkách v databázi. Může to být sloupec v tabulce, která ukazuje na sloupce primárního klíče, což znamená, že cizí klíč definovaný v tabulce odkazuje na primární klíč jiné tabulky. Odkazy jsou v relačních databázích klíčové k vytvoření vazeb mezi záznamy, které jsou nezbytné pro třídění databází. Zahraniční klíče hrají důležitou roli při normalizaci relační databáze, zvláště když tabulky potřebují přístup k jiným tabulkám.

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

Základy primárního klíče a cizího klíče

Primární klíč je speciální klíč relační databáze, která slouží jako jedinečný identifikátor pro každý záznam, což znamená, že jednoznačně identifikuje každý řádek / záznam v tabulce a jeho hodnota by měla být jedinečná pro každý řádek tabulky. Na druhou stranu cizí klíč je pole v jedné tabulce, která spojuje dva stoly dohromady. Odkazuje na sloupec nebo skupinu sloupců, které jednoznačně identifikují řádek jiné tabulky nebo stejné tabulky.

Vztah primárního klíče a cizího klíče

Primární klíč jednoznačně identifikuje záznam v tabulce relační databáze, zatímco cizí klíč odkazuje na pole v tabulce, která je primárním klíčem jiné tabulky. Primární klíč musí být jedinečný a pouze jeden primární klíč je povolen v tabulce, která musí být definována, zatímco v tabulce je povoleno víc než jeden cizí klíč.

Duplicitní hodnoty primárního klíče a cizího klíče

Primární klíč je kombinací omezení UNIQUE a Not Null, takže v relační databázové tabulce nelze mít v primárním klíči žádné duplicitní hodnoty. Žádné dva řádky nesmí obsahovat duplicitní hodnoty pro atribut primárního klíče. Na rozdíl od primárního klíče může cizí klíč obsahovat duplicitní hodnoty a tabulka v relační databázi může obsahovat více než cizí klíč.

NULL primárního klíče vs cizího klíče

Jedním z hlavních rozdílů mezi těmito dvěma je, že na rozdíl od primárních klíčů mohou cizí klíče obsahovat také hodnoty NULL. Tabulka relační databáze může mít pouze jeden primární klíč, který neumožňuje hodnoty NULL.

Dočasná tabulka primárních klíčů vs cizích klíčů

Omezení primárního klíče lze definovat implicitně na dočasných tabulkách a jejich proměnných, zatímco omezení omezení cizího klíče nelze na místní nebo globální dočasné tabulky vynutit.

Vymazání primárního klíče a cizího klíče

Hodnota primárního klíče nelze odstranit z nadřazené tabulky, která je v podřízené tabulce označována jako cizí klíč. Nejprve musíte odstranit podřízenou tabulku před odstraněním nadřazené tabulky. Hodnota cizího klíče může být naopak z podřízené tabulky odstraněna, i když je hodnota odkazována na primární klíč nadřazené tabulky.

Primární klíč vs. cizí klíč: srovnávací graf

Shrnutí cizích klíčů primárních klíčů

Klíče hrají klíčovou roli v existenci schématu databáze pro vytvoření propojení mezi tabulkami a tabulkou. Klíče vytvářejí vztahy a vynucují různé typy integrity, zejména integritu na úrovni tabulky a vztahů. Za prvé se ujistěte, že tabulka obsahuje jedinečné záznamy a pole, která používáte k vytvoření vztahu mezi tabulkami, musí obsahovat odpovídající hodnoty. Primární klíč a cizí klíč jsou dva nejdůležitější a nejběžnější typy klíčů používaných v relačních databázích. Primární klíč je speciální klíč používaný k jedinečné identifikaci záznamů v tabulce, zatímco cizí klíč je použit pro vytvoření vztahu mezi dvěma tabulkami. Obě jsou identické ve struktuře, ale hrají v relační databázi různé role.