I am trying to create a parent child relationship for country-state-city-head. I considering two approaches- 1) Create a single table-
pk| name | type | parent 1 | US | country | null 2 | UK | country | null 3 | California | state | 1 4 | Los Angeles | city | 3 5 | Kent | state | 2 6 | Obama | president | 1 7 | Cameroon | pm | 2
The primary key of this table would reference another table which would record population growth over period of time for state/city/country.
2) Second approach is to create multiple tables for countries, states, heads and cities and then use foreign key reference for relationship. Then primary key of each table(city/state/country) would reference the population growth table
Does approach 1 have any benefits over 2? Is it faster to query?