Easyforeign-key

Что такое foreign key?

1Постановка

Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.

2Решение

Foreign key (FK) — ограничение, связывающее колонку с primary key другой таблицы. Гарантирует ссылочную целостность: нельзя создать заказ на несуществующего пользователя.

CREATE TABLE orders (
  id      INT PRIMARY KEY,
  user_id INT REFERENCES users(id)
    ON DELETE CASCADE      -- удалить user → удалить все его orders
    ON UPDATE CASCADE,
  total   DECIMAL(10,2)
);

Действия на ON DELETE/UPDATE: CASCADE (каскадно применить), SET NULL (поставить NULL), RESTRICT/NO ACTION (запретить, пока есть дети, — дефолт). На FK-колонку нужен индекс (иначе блокировки на родительской таблице при операциях).

3Как отвечать

  • Сначала уточните условия и ограничения, покажите аналитическое мышление.
  • Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
  • Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡

На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.