Вам нужны прямые отношения из города в страну, из провинции в страну и из города в провинцию.Все провинции находятся в стране, поэтому для таблицы провинций необходимо указать идентификатор страны в качестве FK.Точно так же все города находятся в стране, так же там.Поскольку не во всех странах есть регионы, которые можно назвать провинциями, их нельзя использовать для навигации из города в страну.Код провинции должен быть в таблице «Город», но допускается нулевое значение.
В качестве альтернативы вы можете установить виртуальные провинции (например, название провинции = «Нет провинции») для стран без провинций и использовать их для привязки города к стране.Это также сработало бы, если бы был город, который находился в стране, в которой есть провинции, но не находился в самой провинции (если такая вещь существует, возможно, провинция является городом).