@justdance

Как правильно проектировать структуру БД (MYSQL, PHP)?

Есть данные пользователя о том, как его оценили пользователи. Есть 3 рейтинга ( "1-10", "Hot or Not", "Battle") и общая оценка. Каким образом лучше хранить такие данные? Будет страница ТОПа, где можно будет фильтрировать по рейтингам, по общей оценке так что структура и скорость важна!
302fa3e6c709.png
  • Вопрос задан
  • 3315 просмотров
Решения вопроса 2
sck_v
@sck_v
exflow.io
Делайте отдельные таблицы для рейтингов, а в таблице пользователя храните аггрегированные значения
Ответ написан
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Зависит от того, как будет считаться суммарный рейтинг. В общем случае - таблица с полями 'Кого оценили', 'Кто оценил', 'Оценка'. Это даёт возможность исключить повторные оценки и использовать различные алгоритмы подсчёта итоговых рейтингов. В таблице пользователей - итоговые результаты, пересчитывать их можно как при каждом изменении таблицы оценок по триггеру, так и периодически если скорость обновления итоговых оценок не важна.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
eprivalov
@eprivalov
Учусь
Не пробовали проектировать БД в программе MySQL Workbench?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы