Извините за длинный и запутанный заголовок.
У меня есть клиент, который хочет синхронизировать три базы данных.(Позже это может быть больше.) Все данные во всех трех базах данных должны синхронизироваться со всеми остальными.Это вовсе не обязательно должно быть в режиме реального времени, но, вероятно, будет работать ночью или что-то в этом роде.
Эта база данных использует столбцы идентификаторов в качестве первичных / внешних ключей.
Проблема в том, что данная запись может быть добавлена независимо в две (или даже более) базы данных, но могут быть одинаковыми данными.Так, например, у меня может быть имя клиента Джон Смит из 123 Main Street, созданное в обеих базах данных сайта.В этом случае я бы хотел, чтобы FirstName LastName и первые 8 символов адреса (или, возможно, телефонный номер) формировали «ключ совпадения» для объединения записей вместо добавления новых каждый раз.Другими словами, после того, как вся синхронизация завершена, я бы хотел, чтобы на всех трех базах данных была только ОДНА запись для Джона Смита на Главной улице, 123.
Кстати, то, как я думал об этомимеет одну «основную» базу данных, размещенную в облаке.Все три базы данных будут выполнять двухстороннюю синхронизацию с этой основной базой данных.
Мой главный вопрос: как бы вы заставили это работать?Как вы определяете «ключ соответствия» для таблиц в базе данных.Это так же просто, как создать уникальные ограничения для ключей соответствия?Есть ли способ сделать это без изменения схемы БД?(Я хочу учесть это, но база данных является третьей стороной и может быть изменена.)
Сет