Как лучше хранить таблицу комментариев-отзывов в MySQL?
Доброго дня суток.
Пишу небольшую CMS в которой будет возможность по товару оставлять отзывы-вопросы-ответы.
Предполагается, функционал:
- Лента комментариев внутри товара может содержать как отзывы, так и и вопросы (идут одним списком по хронологии);
- Также по каждому отзыву или вопросу может быть ветка ответов (выводиться все под родительским отзывом/вопросом, по хронологии);
- Все трое отзыв / вопрос / ответ содержат поле "текст" (до 3000 символов);
- В то время как только у отзыва есть дополнительные поля : "оценка товара"; "время использования товара"; "достоинства" (до 3000 символов); "недостатки" (до 3000 символов)
Изначально сделал все в одной таблице, но сейчас начал смущаться, что в случае хранения записей в БД как вопрос / ответ "гуляют" пустые поля ("оценка товара"; "время использования товара"; "достоинства" ; "недостатки"). Предпологается, что ответов/ вопросов будет больше, чем отзывов
Вопрос: Стоит ли дробить таблицу на две, т.е. выносить поля, которые касаются только отзыва ("оценка товара"; "время использования товара"; "достоинства" ; "недостатки") во 2-ую таблицу, а потом при выводе отзывов/вопросов JOIN-нить данные отзыва?
Согласен с тем что лучше привязку вынести в отдельную таблицу, в первой хранить общие данные, а данные под отдельную задачу вынести в отдельную таблицу, это позволит разделить логику и поддерживать приложение в дальнейшем. Например добавить к коментариям оценку, тоже вынесите в отдельную таблицу, другими словами сможете наращивать логику приложения и при этом не запустите его.