Klucz obcy w SQL
Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych
Co to jest klucz obcy w SQL?
Klucz obcy to kolumna lub zestaw kolumn w jednej tabeli, które wskazują na klucz główny w innej tabeli. Służy do tworzenia relacji między tabelami i pilnowania spójności danych.

Przykład:
rezyserzy
- id ← klucz główny
- imie
- nazwisko
filmy
- id ← klucz główny
- tytul
- rezyserID ← klucz obcy
Kolumna filmy.rezyserID przechowuje identyfikator reżysera z tabeli rezyserzy. Oznacza to, że film jest przypisany do konkretnego reżysera.
Klucz obcy a JOIN
Podczas łączenia tabel w zapytaniu SELECT najczęściej zestawia się klucz obcy z kluczem głównym:
SELECT *
FROM filmy
JOIN rezyserzy
ON filmy.rezyserID = rezyserzy.id;
To oznacza: połącz film z tym reżyserem, którego id jest zapisane w kolumnie rezyserID.
Po co stosuje się klucze obce?
- umożliwiają tworzenie relacji między tabelami,
- ograniczają powielanie danych,
- pomagają zachować integralność danych,
- ułatwiają poprawne łączenie tabel w zapytaniach.
Ważne na egzaminie
Jeżeli w zadaniu podano, że tabela filmy ma klucz obcy rezyserID, a tabela rezyserzy ma klucz główny id, to warunek połączenia powinien wyglądać tak:
filmy.rezyserID = rezyserzy.id