Ответ
Внешний ключ (Foreign Key) — это ограничение в реляционной БД, которое связывает поле одной таблицы с первичным ключом другой таблицы. Он обеспечивает целостность данных, предотвращая действия, которые могут нарушить связи между таблицами.
Пример:
CREATE TABLE Departments (
dept_id INT PRIMARY KEY,
dept_name VARCHAR(50)
);
CREATE TABLE Employees (
emp_id INT PRIMARY KEY,
emp_name VARCHAR(50),
dept_id INT,
FOREIGN KEY (dept_id) REFERENCES Departments(dept_id)
);
Здесь dept_id в таблице Employees — внешний ключ, ссылающийся на dept_id в Departments. Это гарантирует, что сотрудник не может быть привязан к несуществующему отделу.
Особенности:
- Поддерживает ссылочную целостность (CASCADE, SET NULL, RESTRICT)
- Может быть NULL, если не определен как NOT NULL
- Обычно создает индекс для ускорения JOIN-операций