У вас есть две разные проблемы здесь.
- Проблема проектирования базы данных (как моделировать названия городов)
- Проблема дизайна пользовательского интерфейса (как пользователь должен вводить названия городов)
Хотя эти две проблемы в некоторой степени взаимодействуют, они на самом деле не имеют ничего общего друг с другом.
Что касается дизайна базы данных, «полное имя» Сан-Франциско -
San Francisco, California, United States of America
Это отличает его, скажем, от San Francisco, Alabama, United States of America
, которого даже не существует.
И, если пойти еще дальше, полное название Калифорнии будет
California, United States of America
Это отличает его, скажем, от California, Scotland
, которого также не существует.
Предлагает ли это вам полезный подход?