Sobes.tech
Junior

Kas yra išorinė raktas?

sobes.tech AI

Atsakymas iš AI

Užsienio raktas (FOREIGN KEY) yra duomenų vientisumo apribojimas reliacinėse duomenų bazėse. Jis sukuria ryšį tarp dviejų lentelių, nurodydamas į kitą lentelę esančio pirminio rakto (arba kito užsienio rakto) nuorodą.

Pagrindinės užsienio rakto funkcijos:

  • Užtikrinti nuorodų vientisumą: Garantuoja, kad užsienio rakto lauko reikšmės egzistuoja nurodytame lauke tėvų lentelėje. Tai užkerta kelią "šiukšlinų" įrašų atsiradimui.
  • Nustatyti ryšius tarp lentelių: Apibrėžia, kaip duomenys iš skirtingų lentelių yra susiję.
  • Kaskadiniai veiksmai: Leidžia automatiškai vykdyti veiksmus (ištrynimą ar atnaujinimą) vaikų lentelėje, kai keičiasi tėvų lentelės duomenys.

SQL pavyzdys, kaip sukurti užsienio raktą:

CREATE TABLE `užsakymai` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `kliento_vardas` VARCHAR(255),
    `prekes_id` INT,
    FOREIGN KEY (`prekes_id`) REFERENCES `prekes`(`id`)
);

CREATE TABLE `prekės` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `prekes_pavadinimas` VARCHAR(255),
    `kaina` DECIMAL(10, 2)
);

Šiame pavyzdyje, prekes_id užsakymų lentelėje yra užsienio raktas, nuorodąs į id prekės lentelėje. Tai užtikrina, kad kiekvienas užsakymas yra susietas su esamu produktu.