Sobes.tech
Junior

Co je to cizí klíč?

sobes.tech AI

Odpověď od AI

Cizí klíč (FOREIGN KEY) je omezení integrity dat v relačních databázích. Vytváří spojení mezi dvěma tabulkami odkazem na primární klíč (nebo jiný cizí klíč) v jiné tabulce.

Hlavní funkce cizího klíče:

  • Zajištění referenční integrity: Zaručuje, že hodnoty ve sloupci cizího klíče existují v odkazovaném sloupci rodičovské tabulky. Tím se předchází "opomenutým" záznamům.
  • Vytváření vztahů mezi tabulkami: Určuje, jak jsou data z různých tabulek propojena.
  • Kaskádové akce: Umožňuje automaticky provádět akce (mazání nebo aktualizace) v potahové tabulce při změnách v rodičovské tabulce.

Příklad vytvoření cizího klíče v SQL:

CREATE TABLE `objednavky` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `zakaznik_jmeno` VARCHAR(255),
    `produkt_id` INT,
    FOREIGN KEY (`produkt_id`) REFERENCES `produkty`(`id`)
);

CREATE TABLE `produkty` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `nazev_produktu` VARCHAR(255),
    `cena` DECIMAL(10, 2)
);

V tomto příkladu je produkt_id ve tabulce objednavky cizí klíč odkazující na id v tabulce produkty. To zajišťuje, že každá objednávka je spojena s existujícím produktem.