It's time I shared my experience of writing Micronatia's data model (well, this blog has got to have something in it).
The challenge I am presented with is trying to create some sort of simple, object-based, relational way of representing goverments that can allow any system imaginable, while still keeping some sense of database sanity.
I've made many simplifications, so that my current model is a lot less generic than my ideal, conceptual model was, but then A4 paper is a lot more forgiving and flexible than MySQL, if not as easy to get data off of. But, even then, it's still really hard.
I gradually sort it out over time; I'm beginning to suspect I'm dreaming about it (I can't remember my dreams too well, but occasionally I get bits) and occasionally I'll get a brainwave while I'm doing something else (like now; I've just thought of a great way to do Laws so we can have the dual-house system sort of like the US and UK).
It just leads me to say that you should always design things before you do them, but often good design needs some experience of implementation first. Now excuse me while I go and push my models linecount into the thousands.