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 подскажет развёрнутый ответ в реальном времени.