From the 50 states of US, most of them have counties except Louisiana and Alaska.
My tables would look like this
**State_tbl**
State_id
State_name
**County_tbl**
County_id
State_id ->state_tbl
County_name
**City_tbl**
City_id
County_id ->county_tbl
City_name
However, since the two states Alaska and Louisiana don't have counties, I would have problems implementing them. And I also read that there may be cities within a state that don't have a county, or that belong to two counties (don't know if that is true).
What would be the best approach to design the database?
UPDATE More info:
I have an user which would register to serve into specific cities (within a state). When I retrieve data I want to be able to display both the cities that are served, as well as the counties. There would be a Many-to-Many relationship between the user and the cities served, and a one-many relationship between cities and counties.
i.e:
John K - serving in state_A (all counties and cities below belong to state_A)
-cities served: City_A (county_x), City_B (County_Y), City_C (County_Y)
-counties served: County_X, County_Y
Also, would I be able to retrieve a user's info and all the cities and counties served within one query?