Rules of Thumb for Database Design
- Every table should always have a unique identifier (primary key)
- 90% of the time, that unique identifier will be a single column named id
- Avoid duplicate data
- Avoid storing data that is completely dependent on other data. Instead, compute it on the fly when you need it.
- Keep your schema as simple as you can. Optimize for a normalized database first. Only denormalize for speed's sake when you start to run into performance problems.