Концепция базы данных MySQL - как избежать повторяющихся регистраций в глобальных / локальных условиях - PullRequest
0 голосов
/ 18 ноября 2011

концептуальный вопрос:

  • У меня есть глобальная система, которую торговые агенты используют для написания заказов для клиентов
  • Агенты могут зарегистрировать клиента локально (в своем собственном экземпляре системы)
  • клиент может зарегистрировать себя глобально
  • Агенты имеют доступ к клиентам на основе идентификатор клиента и почтовый индекс

Условие:
У меня не может быть дублированных клиентов в системе.

Поэтому при регистрации мне необходимо проверить, существует ли клиент.

Я могу только проверить почтовый индекс , потому что client-ID является идентификатором на основе экземпляра (клиент может иметь ID-123 в экземпляре A и ID-456 в случае B).

Проблема:
Есть ли способ показать существующих клиентов с точно совпадающим почтовым индексом тому, кто делает регистрацию, поскольку я не хочу что-то отображатьнапример:

please select one of the following:
Zip 12345 - City: Bigcity - Company Name: some corp.
Zip 12345 - City: Bigcity - Company Name: some other corp.
Zip 12345 - City: Bigcity - Company Name: small ltd. 
or create new account

тому, кто пытается зарегистрироваться.

Я не могу изменить глобальную / локальную структуру системы, но я мог бы добавить элементы или идентификаторы, если это поможет.

Надеюсь, этой информации достаточно, чтобы внести свой вклад.Дайте мне знать, если вам нужно больше.

Спасибо!

1 Ответ

0 голосов
/ 18 ноября 2011

Если вы не хотите показывать это диалоговое окно из соображений конфиденциальности, вы мало что можете сделать. Входные данные просто не позволяют принимать сложные решения программно. Там может быть опечатка или что-то в этом роде, поэтому я бы не стал доверять программе, которая подстроит это для меня. Я думаю, что единственное, что вы можете сделать, - это поместить новые регистрации на полку и добавить их в глобальную базу данных, только когда они будут подтверждены как не дублированные. Вы можете запускать процесс один раз в час, который делает это.

  • Найти все новые регистрации за последний час.
  • Для каждой регистрации: найти возможные дубликаты в существующей базе данных.
  • Если дубликат существует: уведомить менеджера об обработке этого вручную.
  • Если дубликатов не существует: подтвердите регистрацию, добавьте его в базу данных.

Вы также можете написать небольшой инструмент для лица, ответственного за передачу дубликатов, который объединяет новую регистрацию с существующим клиентом и делает все, что требуется в этом случае (например, уведомить человека, который сделал регистрацию, отправив нового клиента- идентификатор и т. д.).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...