Оправдано ли дублирование полей в БД?
Есть два подхода к организации БД:
1) нормализация - убирает любое дублирование, гарантирует что у вас не будет неконсистентных данных в случае их изменения, минимизирует объем данных и упрощает их обновление.
2) денормализация - наоборот, дублирует данные, для удобства и быстроты их чтения. Очень часто используется для highload.
Хороши оба подхода, но каждый решает свои задачи, у обоих есть и плюсы и минусы.
Вам же надо решить, что вам проще реализовать: или сложные выборки и простое обновление (выбирайте нормализованную схему)или простые выборки и сложное обновление сразу в нескольких таблицах, поддержка всех этих связей (выбирайте денормализованную схему)
Сравните выгоду от избыточности (скорость, в частности) и накладки от усложнения структуры (скажем, нужно обновлять на одно поле больше).