We are trying to build an online ballot box that allows some individuals from various groups to contest for posts.
Three organizations are involved in the ballots.
I have listed their names below
In one of those organizations called EAEB, there are six positions. I have listed these positions below.
Some voters can vote in all organization elections but some cannot.
ONLY the members of EAEB organizations can vote for ALL elections including EAEB.
If a voter is not a member of the EAEB organization, that member cannot in EAEB elections but can vote in the other two elections.
The remaining two organizations don't have positions, just have members.
Voters are just asked to elect x numbers of members to serve as members in the CB and GRC organizations.
Some members of EAEB are either Retired or still Active.
We would like to indicate if the individual running for office in EAEB organization is an incumbent.
Below is the design I have come up with.
Could someone please look the tables over and recommend if they are ok or what additional tweaks I may need?
Many thanks in advance
OrgID int /*identity*/ NOT NULL,
Name varchar(60) NOT NULL
PositionID int /*identity*/ NOT NULL,
OrgID int NOT NULL,
Title varchar(50) NOT NULL,
CurrentOfficeHolder PersonId NULL
PersonID int/*identity*/ NOT NULL,
FirstName varchar(50) NULL,
LastName varchar(80) NOT NULL
( OrgID, PersonID,
is_eligible_to_hold_office bit NOT NULL
status smallint NOT NULL
( VoteID int /*identity*/ NOT NULL,
date NOT NULL,
has_voted bit NOT NULL,
is_yea bit NULL,
is_nay bit NULL,