I thought I'd jump in and answer Buck Woody's question "How would YOU design a database".
My process is rather organic in nature. I like to talk to either the client or a Business Analyst (BA). I start by listening to their interpretation of the data. I take down notes with phrases such as "First Name","Last Name","Zip Code". I then ask them to describe what the system will be used for. Is this order entry? Is this for Sales Representatives? Who are the end users (management, sales reps, etc).
After I gather the above 'requirements' I begin to translate them into their database counterparts (int,varchar,currency,datetime, etc) and begin to see table relationships unfold.
In the final stage I ask for some sample data and see how it matches the structures I created. At this point the iterative process begins where if there are mismatches we go back to the BA and begin tweaking the design.