Ett bättre sätt skulle vara att ha ett annat bord för att lagra röster. Och den tabellen kommer att ha två attribut (VoterId, CandidateId) Och du kan hämta rösträkningen om du tillåter flera röster från den här tabellen.
Men det skulle vara bättre att göra VoterId till en primär nyckel i den här tabellen. För att undvika att rösta flera gånger
*EDIT:- Schema redigerat med ändrat krav i originalinlägget
*EDIT:- Lade till ett fält i CandidateType-tabellen för att tillåta multiple votes
.(T.ex.:Nu kan en väljare rösta på 10 Senators
, om maxVotePerVoter
för denna typ är inställd på 10..)