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.