I didn’t really think database design would be the part that slows me down. I expected JavaScript, maybe APIs, maybe deployment. Not tables.
But the moment I started trying to design an inventory system properly, I ran into something called Boyce-Codd Normal Form. BCNF sounded simple when I first read about it(No I'm kidding). Then I actually tried applying it, and everything started feeling even less clear.
At some point, I had a working schema. Products, sales, purchases, stock movements. It all worked. Kind of!
My first mistake was thinking normalization was about splitting tables until everything looks clean.
So I kept breaking things apart:






