When starting designing a relational database(mysql, sqlite, postgres etc.), first i make a ERM http://en.wikipedia.org/wiki/Entity-relationship_model
like model with all actors and things and all properties etc. between the entities.
after this is done i start normalizing the model as deep as it is needed http://en.wikipedia.org/wiki/Database_normalization
. exempli gratia maybe its making sence to store the housenumber seperate from the streetname, maybe not you have to balance this for each databasedesign you create.
there are some cool tools out there to design databases like the mysql workbench (free!) and microsoft visio. most of the tools are for computers which are controlled by a operating system from microsoft but for example the mysql workbench getting better and better (and maybe someday usable) under Mac OS.
designing a database... well its not designing... just creating a database and create some columns will end up, sooner or later, in a mess!