2013-06-27 2 views
2

Для сайта электронной коммерции, который позволяет как гостевые проверки, так и зарегистрированные проверки пользователей, как вы будете обрабатывать две разные группы клиентов?Схема базы данных для зарегистрированных клиентов и гостевая касса

  1. ли вы хранить обе группы в той же таблице customers, которая имеет внешний ключ customer_group_id указывающей на другую таблицу customer_groups? В этом случае вы будете беспокоиться о дублирующих гостевых кассах, «загрязняющих» таблицу customers?

  2. Как будет отображаться информация для двух групп клиентов? Я думаю, что разница заключается в том, что у клиентов-клиентов клиента не будет пароля.

ответ

0

Обычная сущность - это проверка. Проверка гостя будет пустой ссылкой FK на объект проверки для зарегистрированного пользовательского объекта.

+0

Будете ли вы хранить информацию о доставке/оплате в таблице 'checkouts'? Если да, значит ли это, что вы должны хранить информацию о доставке/выставлении счетов как в таблице «users», так и «checkouts». – Nyxynyx

+0

Заказ имеет адрес доставки и оплаты. Клиент может иметь адрес доставки и выставления счетов. Там должен быть только один уникальный адрес, а затем две таблицы привязки. Как и при заказе на сайтах электронной торговли, опция «установить как мой адрес по умолчанию» в опции доставки или выставления счетов указывает базе данных использовать тот же адрес на стороне клиента, который он будет использовать на стороне заказа. – joezen777

3

Я храню информацию о клиентах непосредственно в заказе, а не полагаюсь на информацию в записи клиента. Это делает несколько вещей:

  1. не должен иметь гостевой пользователь в базе данных клиента
  2. Если мои информации клиента изменения, или если клиент хочет отправить один пункт на одно место, а другая пункт в другое место информация о заказе будет по-прежнему верна.

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

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

+0

Делает полный смысл !! – Nyxynyx

Смежные вопросы