Sistema de Classificação em PHP e MySQL

Se olharmos para o site do stackoverflow, temos votos. Mas a questão é qual é o melhor caminho para armazenar quem votou e quem não votou. Vamos simplificar ainda mais isso e dizer que só podemos votar, e só podemos remover o voto.

Eu estava pensando em ter a mesa para estar em tal forma

question - Id(INT) | userId(INT) | title(TEXT) | vote(INT) | ratedBy(TEXT)

O descanso é auto-explicativo, mas ratedBy é um valor de ID separado por vírgula dos usuários.

Eu estava pensando em ler oavaliado por e compará-lo com oID do usuário do usuário logado atual. Se ele existe nosavaliado por ele pode votar, caso contrário ele pode remover seu voto. Que por sua vez irá remover o valor deavaliado por

questionAnswers(3)

yourAnswerToTheQuestion