Решение между хранением идентификаторов таблицы поиска или чистых данных

Я считаю, что это очень важно, и я не уверен, что лучший способ подойти к этому.

Вопрос, который у меня возникает, заключается в том, как принять решение между использованием внешних ключей для поиска в таблицах или использованием значений таблицы поиска непосредственно в запрашивающих его таблицах, полностью избегая взаимосвязи между таблицами поиска.

Что нужно иметь в виду:

При втором способе вам нужно будет выполнить массовое обновление всех записей, ссылающихся на данные, если они будут изменены в таблице поиска.

Это больше ориентировано на таблицы, в которых много столбцов ссылаются на множество таблиц поиска. Поэтому большое количество внешних ключей означает много соединений каждый раз, когда вы запрашиваете таблицу.

Эти данные будут поступать из выпадающих списков, которые будут извлечены из справочных таблиц. Для сопоставления данных при перезагрузке значения должны быть в существующем списке (связано с первым пунктом).

Здесь есть лучшая практика или какие-то ключевые моменты для рассмотрения?