Back to Notes
Database Jan 15, 2026
Designing a clean database schema for a university sports club
By Omar Mubaidin
Normalization Matters
My first draft of the schema was a mess. User data was duplicated in booking tables, and tracking membership status was a query nightmare.
The Solution
I normalized the data into three core tables: Users, Memberships, and Bookings. This allowed for:
- Single source of truth for user details.
- Flexible membership types without altering the user table.
- Faster queries for admin reports.
Good data architecture makes the backend code 50% simpler.