Как сохранить «список желаний» в базе данных? - PullRequest
1 голос
/ 17 апреля 2009

Я подумываю создать «список желаний». Каждый пользователь сможет приобрести пожелания в магазине. Как мне сохранить список желаний? Я думаю о создании пользовательской таблицы и таблицы пожеланий.

Структура пользовательской таблицы: Столбцы: идентификатор, имя пользователя, пароль и т. Д.

Столбцы: id, желание, цена, количество и т. Д.

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

Есть ли лучший способ хранить вещи из списка желаний?

Я использую mysql. Спасибо

Ответы [ 3 ]

4 голосов
/ 17 апреля 2009

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

покупки

  • Id
  • UserId
  • WishId
  • PurchaseDate

Пользователи

  • Id
  • Имя
  • Пароль

Пожелания

  • Id
  • Желание
  • Цена
  • Количество

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

0 голосов
/ 17 апреля 2009

У вас должна быть другая таблица пожеланий (идентификатор пожелания, цена, описание и т. Д.), И у вас должна быть таблица присоединения (идентификатор пользователя, идентификатор пожелания, количество, указанная цена и т. Д.). Эта таблица позволит вам иметь отношения «многие ко многим» между пользователями и пожеланиями.

(В дополнение к моему комментарию ... видите? У вас уже есть два разных предложения. В конечном итоге вам нужно решить, что лучше, и в идеале ваши требования к бизнесу / проекту должны вам помочь.)

РЕДАКТИРОВАТЬ : сделать это три различные предложения

0 голосов
/ 17 апреля 2009

Это отношение 1 к n.

Если у вас есть таблица User с user_id в качестве первичного ключа, тогда создайте таблицу Wish, в которой в качестве внешнего ключа указан user_id. Добавьте нужные атрибуты во вторую таблицу и вите.

Luis

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