Sistema de Calificación en PHP y MySQL

Si nos fijamos en el sitio web de stackoverflow tenemos votos. Pero la pregunta es cuál es la mejor manera de almacenar quién ha votado y quién no. También simplifiquemos esto aún más y digamos que solo podemos votar hacia arriba, y solo podemos eliminar el voto hacia arriba.

Estaba pensando en tener la mesa para estar en tal forma

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

El resto es autoexplicativo, pero clasificado. Es un valor de Id. Separados por comas de los usuarios.

Estaba pensando en leer elcalificado por y compararlo con elID de usuario del usuario actual registrado en. Si el dosent existe en elcalificado por él puede votar arriba, de lo contrario puede quitar su voto. Lo que a su vez eliminará el valor decalificado por

Respuestas a la pregunta(3)

Su respuesta a la pregunta