Я считаю, что удаление подмножеств повторяющихся данных в таблице и размещение их в собственных таблицах требуется в процессе помещения таблицы в Вторая нормальная форма .
Перемещение аббревиатуры состояний в собственную таблицу - это то, как вы нормализуете свою базу данных. Он защищает вашу «пользовательскую» таблицу от аномалий обновления, где, скажем, по какой-то причине аббревиатура «KY» для Кентукки обновлена до «KQ». Поместив внешний ключ в пользовательскую таблицу, которая содержит первичный ключ таблицы состояний, вам нужно всего лишь сделать одно обновление таблицы состояний, чтобы исправить эту запись для всех ваших пользователей.
При этом нам кажется совершенно очевидным, что аббревиатуры состояний не часто меняются. Поэтому, если вы точно знаете, что вашей базе данных никогда не потребуется хранить больше информации о состоянии, тогда логично и принципиально разумно оставить поле состояния в пользовательской таблице. Денормализация таких распространена. Это повысит читаемость данных в вашей пользовательской таблице и уменьшит накладные расходы при выполнении объединения. Это однако предпочтение.