It occurred to me today that one of the reasons I'm so indecisive when it comes to database design, is that my brain is used to a totally different set of problems.
In game design, interface, algorithm, and efficiency are first considerations, and data structure generally conforms to the solutions chosen to those problems. When I sit down and try to design a database, I fail, because designing a database answers none of the questions that my brain is asking.
From my perspective, databases only exist because we don't have enough RAM to store everything in memory. They are an artifact of way computers grew up: processing power is expensive, slow, massive storage is cheap. Databases exist to be robust and permanent houses for large volumes of data, their design philosophy presupposes that data in a computer is fragile and volatile (which it is.)
So when I'm thinking about a new app, maybe I don't need to nail down the database first. After all, a database is just a bit bucket. That's not to say database design is trivial or unimportant, it's just to say that it's secondary to application design, which is really what I'm interested in anyway.
So let's get to it then.