1000+ таблиц
Очень вероятно, что это и есть ответ.
Если вы все связи объявите как FK, модификация (вставка, изменение, удаление) одной записи в случае, когда у вас уже провалидированы все значения (а так бывает, видимо, всегда в грамотном коде), будет ощутимо замедленна этими самыми проверками на консистентность.
В противовес другим высказавшмся.
С базами я работаю 20+ лет.
10+ лет назад, когда начал работать с MySQL (он тогда никакой консистентности не умел) очень сильно удивлялся, как на таком можно работать. Но вариантов не было, работать пришлось.
Так вот.
За эти 10+ лет
никогда не возникало никаких проблем, связанных с отсутствием контроля FK на стороне БД.
Впрочем, возможно, для этого таки обязательно сильно применять мозг при разработке.