Un modo migliore sarebbe avere una tabella diversa per memorizzare i voti. E quella tabella avrà due attributi (VoterId, CandidateId) E puoi recuperare il conteggio dei voti se consenti più voti da questa tabella.
Ma sarebbe meglio rendere VoterId una chiave primaria in questa tabella.. Per evitare il voto multiplo
*EDIT:- Schema modificato con requisiti modificati nel post originale
*EDIT:- Aggiunto un campo nella tabella CandidateType per consentire multiple votes
.(Es.:ora un elettore può votare per 10 Senators
, se maxVotePerVoter
per questo tipo è impostato su 10..)