В настоящее время у меня есть следующие таблицы
Nation
----------------
Id (int) primary key autoincrement
Name (char)
City
----------------
Id (int) primary key autoincrement
NationId (int) references Nation(Id)
Name (char)
Nation table data
Id Name
----------
0 England
1 USA
City table data
Id NationId Name
-----------------------
0 0 London
1 0 Manchester
2 1 New York
3 1 Boston
Вышеприведенная часть является частью базы данных, которую я хотел бы распространить среди пользователей моего приложения.
Пользователям моего приложения будет разрешено добавлятьих собственные нации и города.Когда они добавляют свой собственный город, в соответствии с текущим дизайном базы данных, он, очевидно, увеличивает значение первичного ключа City.Id.
Однако я бы хотел на каком-то этапе дать пользователям возможность «нажимать» или «тянуть»'нации / города из базы данных друг друга.Например.У пользователя 1 есть дополнительное значение в его таблице городов:
Id NationId Name
-----------------------
4 1 California
5 1 Chicago
В то время как у пользователя 2 в таблице городов есть следующее:
Id NationId Name
-----------------------
4 1 Houston
5 1 Phoenix
Каждый хочет, чтобы города друг друга были включены в таблицу городов.После того, как каждый из них перенес данные по разным городам, их атрибуты City.Id, City.Name не будут полностью соответствовать.
Пользователь1:
Id NationId Name
-----------------------
0 0 London
1 0 Manchester
2 1 New York
3 1 Boston
4 1 California
5 1 Chicago
6 1 Houston
7 1 Phoenix
Пользователь2:
Id NationId Name
-----------------------
0 0 London
1 0 Manchester
2 1 New York
3 1 Boston
4 1 Houston
5 1 Phoenix
6 1 California
7 1 Chicago
Я бы предпочел, чтобы атрибуты City.Id, City.Name выглядели одинаково для всехбазы данных пользователей.
Так что мне лучше использовать руководство пользователя для City.Id?Или кто-нибудь знает альтернативный метод, я могу добиться этой желаемой синхронизации.