Sobes.tech
Junior

Čo je cudzí kľúč?

sobes.tech AI

Odpoveď od AI

Cudzí kľúč (FOREIGN KEY) je obmedzenie integrity dát v relačných databázach. Vytvára vzťah medzi dvoma tabuľkami odkazom na primárny kľúč (alebo iný cudzí kľúč) v inej tabuľke.

Hlavné funkcie cudzieho kľúča:

  • Zabezpečenie referenčnej integrity: Zaručuje, že hodnoty v stĺpci cudzieho kľúča existujú v odkazovanom stĺpci rodičovskej tabuľky. Tým sa predchádza "sirotím" záznamom.
  • Vytváranie vzťahov medzi tabuľkami: Určuje, ako sú údaje z rôznych tabuliek prepojené.
  • Kaskádové akcie: Umožňuje automaticky vykonávať akcie (vymazanie alebo aktualizáciu) v detskej tabuľke pri zmene údajov v rodičovskej tabuľke.

Príklad vytvorenia cudzieho kľúča v SQL:

CREATE TABLE `objednávky` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `meno_zákazníka` VARCHAR(255),
    `produkt_id` INT,
    FOREIGN KEY (`produkt_id`) REFERENCES `produkty`(`id`)
);

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

V tomto príklade je produkt_id v tabuľke objednávky cudzí kľúč odkazujúci na id v tabuľke produkty. Tým sa zabezpečuje, že každá objednávka je spojená s existujúcim produktom.