Схема продажи продуктов MySQL - PullRequest
0 голосов
/ 18 декабря 2011

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

Скажем, у меня был сайт, где продавались 2 товара, product1 и product2.

Когда пользователь покупает любой продукт, он получает учетную запись с ключом для доступа к своей учетной записи. Пользователь может загрузить свой продукт со страницы своего аккаунта. Затем этот пользователь может позднее приобрести оставшийся продукт, и продукт будет добавлен в его учетную запись, что позволит ему загрузить и product1, и product2, используя ключ, данный им при покупке первого продукта.

Информация об оплате (способ оплаты, идентификатор транзакции, отметка времени и т. Д.) Также будет сохранена.

В настоящее время моя схема запланирована следующим образом:

enter image description here

Я чувствую, что то, как я это делаю, не оптимально, и есть лучшие способы организовать это. Любой совет?

Надеюсь, вы можете помочь и заранее спасибо :)

1 Ответ

0 голосов
/ 18 декабря 2011

Хорошей идеей будет начать с определения объектов, которые будет хранить ваша схема.Похоже, что потенциальные компоненты могут быть

  • пользователь
  • (данные пользователя)
  • продукт
  • покупка

Этими объектами будут таблицы, с которых вы начинаете.Добавьте отношения соответствующим образом.

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

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

Это исключит избыточные данныев ваших таблицах, которые могут позже не синхронизироваться и помочь определить, где некоторые данные неуместны.

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