Schema design
The decision that outlives every other decision.
You will replace the front end. You may replace the framework, the hosting, even the
language. The schema stays, and every application that ever touches the data inherits
its choices. So we treat it with the weight it deserves: keys that mean something,
constraints that make bad data impossible to insert rather than expensive to clean,
names a new developer can read without a translator.
One of our standing rules: every string column is Unicode from the start. Not
because every project needs it on day one, but because renaming a column is easy
and changing its collation under production data is not. The cheap time to make
that decision is before the first row exists.
That is the shape of most schema work. A small, dull cost paid now, or a large,
interesting one paid later, at a time the database picks for you. We pay now.