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.