у меня сделано так
таблица статей содержит поле avg_rate — в него мы пишем среднее значение голосов
таблица рейтинга — id статьи, qty — количество голосов, sum — сумма голосов
при голосовании за статью, мы:
1. добавляем 1 к полю qty в таблице рейтинга
2. добавляем оценку к полю суммы sum
3. выситываем среднее и пишем его в таблицу статей
Зачем писать? А чтобы потом было немного проще работать со статьями.