создание базы данных для моего сайта - PullRequest
3 голосов
/ 08 марта 2011

Мне нужна помощь в разработке базы данных для моего онлайн-магазина индивидуальных костюмов.До сих пор я создал таблицы для продуктов, заказов и моих пользователей / клиентов.Я думаю, что мне нужно добавить несколько таблиц, чтобы управлять своей корзиной покупок, пока они выбирают и настраивают их.На данный момент, я немного запутался в том, как поступить.моя корзина покупок должна в значительной степени содержать всю информацию, которая в конечном итоге будет храниться в моих таблицах заказов?как видно из прикрепленного изображения, заказы имеют элементы заказа, а элементы заказа имеют параметры элемента заказа.таким образом, я могу получить каждую позицию заказа, которую хочет клиент, и все настройки, которые идут с каждым конкретным заказом.Нужно ли это сначала делать в моей корзине покупок, а это означает, что мне в основном придется копировать все таблицы в разделе заказов базы данных, или есть лучший способ?Кроме того, что еще не хватает моему приложению базы данных для надежного управления таким веб-сайтом, как www.indochino.com?

Вся помощь приветствуется ... enter image description here

Ответы [ 4 ]

1 голос
/ 08 марта 2011

Вам следует изменить таблицу order на таблицу shopping_cart и удалить из нее всю информацию об адресе доставки.

Затем создать отдельную таблицу order, включающую shopping_cart_idэто указывает на связанную корзину.Эта таблица order должна содержать всю необходимую информацию для размещенного заказа, такую ​​как адрес доставки, общая сумма позиции, сумма налога, общая сумма заказа, дата и время размещения и т. Д.

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

0 голосов
/ 08 марта 2011

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

0 голосов
/ 08 марта 2011

Будет ли это работать, если вы поместите столбец "in_cart bit" в таблицу заказов?Таким образом, вы можете использовать те же таблицы, но для in_cart установить значение 1, если заказ еще не завершен.

0 голосов
/ 08 марта 2011

Не думаю, что вам нужна отдельная таблица для корзины покупок.Я бы просто использовал существующие таблицы order / order_item для хранения информации о корзине покупок, а затем добавил бы поле статуса для заказа, в котором содержались такие значения, как «неполный», «полный», «отправленный» и т. Д.отображается как корзина.Конечный автомат был бы хорошим кандидатом для управления жизненным циклом заказа, ИМХО.

...