@agent1156

Как правильно сделать базу данных?

У меня каталог организаций. Есть раздел в котором список организаций, по клику можно перейти на страницу организации. Мне нужно реализовать функцию рейтинга. Зарегистрированный пользователь должен иметь возможность один раз оценить одну организацию. От этого должен выстраиваться список организаций по рейтингу. Как это реализовать ?
  • Вопрос задан
  • 237 просмотров
Пригласить эксперта
Ответы на вопрос 1
Melkij
@Melkij
PostgreSQL DBA
Таблица user_id, org_id, rating для лога кто именно за что и как проголосовал. Составной первичный ключ по user_id & org_id (или, возможно, org_id & user_id). В этой таблице проверять, голосовал ли этот пользователь уже за эту организацию.
В таблицу организаций поле рейтинга с агрегированным значением текущего рейтинга, возможно количества проголосовавших и чего ещё надо для отображения. Не вычислять рейтинг в рантайме по таблице голосов.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы