ИМХО, все дело в анализе затрат / выгод. Все зависит от требований (в том числе вероятных) и возможностей используемой вами платформы.
Например, если у вас есть требование типа «Показать все уникальные IP-адреса, зарегистрированные в системе», то вам лучше «перейти» и создать отдельную таблицу для хранения IP-адресов. Или, если вам нужны определенные ограничения на IP-адреса (например, «все IP-адреса данного пользователя должны быть уникальными), вы могли бы извлечь большую пользу из отдельной таблицы и применения к ней надлежащих ограничений (обратите внимание, что вы можете выполнить оба требования, даже если если вы использовали ненормализованный дизайн и надлежащий механизм, связанный с XML, однако решение на основе RelDB для этих требований, по-видимому, будет намного дешевле в реализации и обслуживании.)
Очевидно, что это не единственные примеры требований, которые диктуют нормализованное решение.
В то же время я считаю, что таких требований, как «Показать все IP-адреса пользователя» или «Показать всех пользователей, связанных с данным IP-адресом», может быть недостаточно для обоснования нормализованного решения.
Вы можете попытаться выполнить более глубокий анализ (в поисках требований первого типа) или просто полагаться на свое понимание контекста проекта (текущего и будущего) и на свое "чувство мужества".
Мое собственное "чувство мужества" в данном конкретном случае заключается в том, что требования первого типа (требования про-нормализации) чрезвычайно вероятны, поэтому вам лучше было бы с нормализованным решением с самого начала. Однако вы сказали, что этот вариант использования вымышлен, поэтому в вашей реальной ситуации вывод может быть совершенно противоположным.
Никогда не говори «никогда»: 3NF не всегда лучший ответ.