Ta tabela na glosy to moze tak wygladać
Tabela vote
vote_id, user_id, movie_id, similar_movie_id
Sum głosów nie przechowujesz w bazie tylko je za pomocą selecta wyciągasz.
A co do tego ograniczenia to np użytkownikowi, gdy chce głosować wyświetlają się dwa selecty gdy nie głosował na dany film wybiera podobne i zapisujesz w bazie. Przed tym sprawdzasz zapytaniem czy dany użytkownik glosował i ile razy na dany film i w zależności od tego jakąś odpowiedź mu dajesz.