Сведения о вопросе

Kimsanov

13:25, 5th August, 2020

Теги

MySQL    

Схема таблиц, как организовать рейтинг с плюсами/минусами?

Просмотров: 276   Ответов: 2

Необходимо сделать рейтинг постов/комментов, как на Хабре.

Имею в виду плюсы и минусы и то, что нельзя головать больше одного раза.


Как организовать схему таблиц в MySQL? Сейчас рейтинг хранится в поле rating у самой записи, но так посетитель может голосовать больше одного раза.



  Сведения об ответе

ЯЯ__4

00:05, 2nd August, 2020

Промежуточная таблица posts_users_rel со структурой: id int, post_id int, user_id int

При голосовании посетителя в таблицу добавляется запись, содержащая id поста, за который посетитель голосует и id посетителя.

Проверка будет очень простой.

В эту же таблицу можно и оценку посетителя вставить, минусанул (-1) или плюсанул (+1) он, тогда и суммарный рейтинг поста будет просто подсчитываться суммой оценок в этом поле.


  Сведения об ответе

VCe znayu

08:07, 4th August, 2020

у меня сделано так
таблица статей содержит поле avg_rate — в него мы пишем среднее значение голосов
таблица рейтинга — id статьи, qty — количество голосов, sum — сумма голосов

при голосовании за статью, мы:
1. добавляем 1 к полю qty в таблице рейтинга
2. добавляем оценку к полю суммы sum
3. выситываем среднее и пишем его в таблицу статей

Зачем писать? А чтобы потом было немного проще работать со статьями.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться