Ha, maybe I am

Although I actually (for once) did think through and drew sketches of the layout and what data I need to store and how they'd need to interact, before I started to actually build the database or write any code. Then I've had to add some more and make changes as needed.
I'll give you the whole story, and if you feel you have enough time to kill maybe you can read through it and see if I'm on the right track or if I'm way off

.
I'll highlight things that I've made tables out of.
It's a browser game where, once registered, a
user will own a
city. In the
city there will be some
resources (like wood, stone, gold, population, etc.). The user can build
buildings, cunduct
researches and train
units (troops/soldiers), all of which cost
resources.
Buildings and
researches can also apply some
effects (like increased resource rates, unit damage or health, etc.) and the city itself can gain
bonuses, which will also apply some
effects. The user will also be able to send his or her units to war against other users' cities.
So I have thse base tables
city (id, name, user_id)
resource (id, name, increase) - increase sets how fast that resource increases
building (id, name, description)
research (id, name, description)
unit (id, name, description, damage, health)
effect (id, name, target) - target sets what this effect will affect, like "wood_rate" or "damage"
bonus (id, name, description)
Then I have a bunch of tables that link these together
city_resource (city_id, resource_id, value) - what resources a city has and how much
city_building (city_id, building_id, count) - which buildngs and how many a city has
city_research (city_id, research_id, level) - which researches and on which level a city has
city_unit (city_id, unit_id, count) - which units and how many a city has
city_bonus (city_id, bonus_id, expire) - which bonuses a city has and when they expire
building_resource (building_id, resource_id, value) - how much a building costs to build
building_effect (building_id, effect_id, value, unit) - effect applied by building, (value, unit) can be (5, %)
building_require_building (building_id, require_id, count) - as explained in my first post
building_require_research (building_id, research_id, level)
research_resource (research_id, resource_id, value) - research cost
research_effect (research_id, effect_id, value, unit) - effect applied by research, (value, unit) can be (5, %)
research_require_building (research_id, building_id, count) - as explained in my first post
research_require_research (research_id, require_id, level)
unit_resource (research_id, resource_id, value) - unit cost
unit_require_building (unit_id, building_id, count) - as explained in my first post
unit_require_research (unit_id, research_id, level)
bonus_effect (bonus_id, effect_id, value, unit) - effect applied by bonus, (value, unit) can be (5, %)
Then there are a few tables I havn't created yet but which I know I'll need later, like some queue table for when contructing buildings, cunducting researches and training units. And some tables to keep track of a users battles with other users.