Foreign Key — ограничение в БД, которое связывает колонку одной таблицы с primary key другой. Гарантирует ссылочную целостность: нельзя вставить user_id = 999 в orders, если пользователя 999 нет в users.
Поведение при удалении: CASCADE (удалить связанные), SET NULL, RESTRICT (запретить удаление). В Go-проектах FK определяются в миграциях.
Некоторые команды избегают FK на уровне БД в высоконагруженных системах — проверяют целостность в коде, чтобы не блокировать записи.