По-добър начин би бил да имате различна таблица за съхраняване на гласове. И тази таблица ще има два атрибута (VoterId, CandidateId) и можете да извлечете броя на гласовете, ако разрешите няколко гласа от тази таблица..
Но би било по-добре да направите VoterId първичен ключ в тази таблица. За да избегнете многократно гласуване
*РЕДАКТИРАНЕ:- Схемата е редактирана с променено изискване в оригиналната публикация
*РЕДАКТИРАНЕ:- Добавено е поле в таблицата CandidateType за разрешаване на multiple votes
.(Напр.:Сега един гласоподавател може да гласува за 10 Senators
, ако maxVotePerVoter
за този тип е настроен на 10..)