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