Наше приложение имеет интернет-магазин, а также другие функции, и пользователям обычно предлагается зарегистрироваться до завершения продажи, создав уникальный клиентов _ ID
в процессе. Когда они возвращаются, они могут войти в систему, и их контактные данные и история транзакций извлекаются из базы данных.
Сейчас мы изучаем, что делать в случае «анонимного» или «гостевого» клиента, открывая интернет-магазин для клиентов, которые не хотят регистрироваться, а также для продаж, зарегистрированных в бэкэнд-приложении, где прием электронной почты клиента, почтового адреса и т. Д. Слишком много времени. Решение также имеет приложения вне интернет-магазина.
Несколько компаний используют одну и ту же базу данных, и база данных построена на основе партийной модели , поэтому мы изучили несколько вариантов:
customer _ ID
в таблице транзакций
:
клиент _ ID = 0
для каждого анонимного пользователя и клиентов _ ID > 0
для каждого реального пользователя
customer _ ID = 0
существовать в таблице customer
в базе данных или в качестве объекта в приложении?
transaction.customer _ ID
до customer.customer _ ID
больше не работают клиентов _ ID
совпадает с идентификатором компании вечеринок _ ID
customer _ ID
для каждого нового анонимного клиента (за сеанс)
Добавление
Комбинация # 2 и # 3 была предложена в другом месте - попытаться сохранить одну запись для каждого клиента, используя адрес электронной почты, если это возможно, или новую запись при каждом посещении, если нет.
Я должен отметить, что нам не нужно хранить запись для каждого анонимного клиента, но кажется, что реляционная база данных была построена для работы с отношениями, так что иметь NULL или customer _ ID
в таблице транзакции
, которая не ссылается на фактическую запись клиента, просто кажется неправильным...
Я должен также подчеркнуть, что цель этого вопроса состоит в том, чтобы определить, какие реальные решения существуют для записи «случайных» транзакций, где не указан почтовый адрес или адрес электронной почты (вообразите контроль супермаркета) вместе со сделками магазина онлайн, где адрес электронной почты и почтовый адрес даны, сохранены ли они или нет.
, Что решения имеют ТАК сообщество, используемое в прошлом?