Una mejor manera sería tener una tabla diferente para almacenar Votos. Y esa tabla tendrá dos atributos (VoterId, CandidateId) Y puede obtener el Conteo de votos si está permitiendo múltiples votos de esta tabla.
Pero sería mejor hacer de VoterId una clave principal en esta tabla... Para evitar la votación múltiple
*EDITAR:- Esquema editado con requisito modificado en la publicación original
*EDITAR:- Se agregó un campo en la tabla CandidateType para permitir multiple votes
.(Ej.:Ahora un votante puede votar por 10 Senators
, si maxVotePerVoter
para este tipo se establece en 10..)