🗳️ North Carolina Voter Database System

SQL • Relational Design • Transactions • Data Integrity

This was a solo project where I designed a fully functional SQL database system from scratch using real voter registration data from North Carolina. The goal was to create a scalable, normalized system to manage voters, candidates, districts, and election activity—ensuring accuracy, security, and performance throughout.

📐 Designing the Schema

I started by drafting a detailed ER model that captured the relationships between voters, ballots, political parties, and geographic zones. I translated that into a fully normalized relational schema using PostgreSQL and ensured referential integrity with well-defined foreign keys.

⚙️ Building with Real SQL

I created all base tables, populated them with sample data, and implemented advanced SQL features like triggers, constraints, joins, and views. I also wrote stored procedures to handle voting transactions, simulate real-world updates, and enforce business logic like district restrictions.

🔐 Transaction Safety

I simulated multi-user scenarios to test transaction isolation and rollback behavior. This included updating party affiliations, logging election results, and ensuring atomicity during voter registration.

💡 What I Took Away

🛠 Tools & Technologies

mySQL • PHP • ER Modeling • Transaction Control • Views & Triggers

🌐 Website Features

I developed a dynamic web interface using PHP and MySQL that interacts with the backend database. This application replicates a live voter management system with the following capabilities:

View Features Back to projects