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?