Domov Databáze Co je cizí klíč? - definice z techopedie

Co je cizí klíč? - definice z techopedie

Obsah:

Anonim

Definice - Co znamená cizí klíč?

Cizí klíč je sloupec nebo skupina sloupců v relační databázové tabulce, která poskytuje propojení mezi daty ve dvou tabulkách. Působí jako křížový odkaz mezi tabulkami, protože odkazuje na primární klíč jiné tabulky, čímž vytváří mezi nimi spojení.

Většina tabulek v relačním databázovém systému dodržuje koncept cizího klíče. Ve složitých databázích a datových skladech musí být data v doméně přidána do více tabulek, a tak mezi nimi udržovat vztah. Koncept referenční integrity je odvozen od teorie cizích klíčů.

Cizí klíče a jejich implementace jsou složitější než primární klíče.

Techopedia vysvětluje cizí klíč

Pro každý sloupec, který funguje jako cizí klíč, by v tabulce odkazů měla existovat odpovídající hodnota. Při vkládání dat a odstraňování dat ze sloupce cizího klíče je třeba věnovat zvláštní pozornost, protože neopatrné vymazání nebo vložení může zničit vztah mezi oběma tabulkami.

Například, pokud existují dvě tabulky, zákazník a objednávka, lze mezi nimi vytvořit vztah zavedením cizího klíče do tabulky objednávek, který odkazuje na ID zákazníka v tabulce zákazníků. Sloupec ID zákazníka existuje v tabulkách zákazníků i objednávek. ID zákazníka v tabulce objednávek se stane cizím klíčem odkazujícím na primární klíč v tabulce zákazníků. Pro vložení záznamu do tabulky objednávek musí být splněno omezení cizího klíče. Pokus o zadání ID zákazníka, který není v zákaznické tabulce, se nezdaří, čímž se zachová referenční integrita tabulky.

Některé referenční akce spojené s akcí cizího klíče zahrnují následující:

  • Kaskáda: Když se odstraní řádky v nadřazené tabulce, odstraní se také odpovídající sloupce cizího klíče v podřízené tabulce, čímž se vytvoří kaskádové odstranění.
  • Set Null: Když je odkazovaný řádek v nadřazené tabulce odstraněn nebo aktualizován, jsou hodnoty cizího klíče v odkazujícím řádku nastaveny na null, aby byla zachována referenční integrita.
  • Spouštěče: Referenční akce jsou obvykle implementovány jako spouštěcí události. V mnoha ohledech jsou akce cizího klíče podobné jako uživatelsky definované spouštěče. Aby se zajistilo správné provedení, jsou objednané referenční akce někdy nahrazeny jejich ekvivalentními uživatelem definovanými triggery.
  • Nastavit výchozí: Tato referenční akce je podobná "set null". Hodnoty cizího klíče v podřízené tabulce jsou nastaveny na výchozí hodnotu sloupce, když je odkazovaný řádek v nadřazené tabulce odstraněn nebo aktualizován.
  • Omezit: Toto je normální referenční akce spojená s cizím klíčem. Hodnotu v nadřazené tabulce nelze odstranit ani aktualizovat, pokud se na ni odkazuje cizím klíčem v jiné tabulce.
  • Žádná akce: Tato referenční akce je ve své funkci podobná akci „omezit“ s tou výjimkou, že kontrola bez akce se provede až po pokusu o změnu tabulky.
Co je cizí klíč? - definice z techopedie