Sobes.tech
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.