> [!METADATA]+
> **Type**:: [[Conference Talk]]
> **Conference**:: [[RailsConf 2019]]
> **Authors**:: [[@David Copeland]]
> **Links**:: [Recording](https://youtu.be/1VsSXRPEBo0)
## Notes
- DB design is how we ensure our database is the source of truth
- what facts do we want to **record**
- The act of DB design is really about understanding the requirements very clearly so the first step is to write them down.
- **Anomalies** when the data model prevents the storage of certain facts, allows ambiguity to exist, or requires deleting one fact to delete another.
- **Normalization** is the process by which we remove anomalies from our design.