I need to manage countries, states/province and cities name information. All information will display on webpage with drop down list or other ways. Currently I am designing my database. I have two ideas to design tables
1. use only one table
countries, states/provinces and cities are usually very stable information, so I want to use only one table to manage all information and make it reference to itself such as:
id name parent_id type --+--------------+----------+-- 1 USA null 1 2 California 1 2 3 Los Angeles 2 3 4 San Francisco 2 3
type: 1 for country, 2 for states or provinces and 3 for cities
2. use separate tables
I will use one table to manage country, and one table to manage states/province and one table to manage cities. then make them reference between each other.
So which one is better? and please explain your reason.