Схема таблиц, как организовать рейтинг с плюсами/минусами?
Промежуточная таблица posts_users_rel со структурой: id int, post_id int, user_id int

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

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

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

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

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