erDiagram
VOTER {
int voter_id PK
string name
string email
string password_hash
string biometric_data
bool is_verified
}
ELECTION {
int election_id PK
string election_name
date start_date
date end_date
string status
}
CANDIDATE {
int candidate_id PK
string name
string party
int election_id FK
}
VOTE {
int vote_id PK
int voter_id FK
int candidate_id FK
int election_id FK
datetime vote_time
string encrypted_vote
}
VOTER ||--o{ VOTE : casts
ELECTION ||--o{ VOTE : has
CANDIDATE ||--o{ VOTE : receives
ELECTION ||--o{ CANDIDATE : includes