Junior
Czym jest klucz obcy?
sobes.tech AI
Odpowiedź od AI
Klucz obcy (FOREIGN KEY) to ograniczenie integralności danych w relacyjnych bazach danych. Tworzy on związek między dwoma tabelami, odwołując się do klucza głównego (lub innego klucza obcego) w innej tabeli.
Główne funkcje klucza obcego:
- Zapewnienie integralności referencyjnej: Gwarantuje, że wartości w polu klucza obcego istnieją w polu odwołującym się w tabeli nadrzędnej. Zapobiega to powstawaniu "sierocych" rekordów.
- Ustanowienie relacji między tabelami: Określa, jak dane z różnych tabel są ze sobą powiązane.
- Działania kaskadowe: Pozwala automatycznie wykonywać działania (usuwanie lub aktualizację) w tabeli podrzędnej przy zmianie danych w tabeli nadrzędnej.
Przykład tworzenia klucza obcego w SQL:
CREATE TABLE `zamowienia` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`nazwa_klienta` VARCHAR(255),
`id_produktu` INT,
FOREIGN KEY (`id_produktu`) REFERENCES `produkty`(`id`)
);
CREATE TABLE `produkty` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`nazwa_produktu` VARCHAR(255),
`cena` DECIMAL(10, 2)
);
W tym przykładzie, id_produktu w tabeli zamowienia jest kluczem obcym odwołującym się do id w tabeli produkty. Gwarantuje to, że każde zamówienie jest powiązane z istniejącym produktem.