Multiple Tables for ONE location

Hey,

I was wondering how I should create my database. I am going to have a 'location' model, which has Address, State, Zip, Lat, Lng, Country and vaguely remember from one class a long time ago that each table should have information that is specific to the table itself. So should I just create one locations table that has all of that information or should I break it down into a State, City, Country, Zip (both lat/ lng), and Location (street address) tables? Thanks

I also figured if I broke the 'location' down into different city/ state/country tables, then I could do something like:

@users = User.find(:all, :conditions => ['state_id = ?', State.find_by_name("IL").id[)

vs.

@users = User.find(:all, :include => :locations, :conditions => ['state_name = "IL"'])

--is this right?