2013-11-02 1 views
1

проектирование базы данных для магазина, и я столкнулся с небольшой проблемой. Допустим, в нашем магазине есть продукт x, который имеет покупную цену и выгоду для получения розничной цены. Но есть еще одна поставка в магазин того же продукта с ценой разницы. 1- По словам продавца, ему нужна одна цена за продукт. 2-я должен отделить информации о товаре из Shippment говорят, что я поставил таблицу ProductID - имя -reference и другие таблицы OFr SuplierInvoice - Producyid- Количество - PurchasePriceлучшая диаграмма базы данных для этой идеи?

снова я должен поставить сильная качка цена в первой таблице продукта или другой , а как насчет фактического количества, где следует положить?

Пожалуйста, мне нужны идеи ....

ответ

3

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

Путь, который я обычно начинаю с, чтобы иметь понятие

  • Продукт
  • Поставщик
  • SupplierProducts

Продукт идентифицирует продукт, который вы используете; Поставщик является вашим Поставщиком, а поставщикПродукт используется для предоставления конкретной ценовой информации для продукта; поскольку продукт должен поступать от поставщика.

Simple Supplier Product model

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

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

With Orders

+0

к сожалению, эта модель, вероятно, не будет достаточно на практике. Обычно заказы, как правило, должны _проводить информацию, которую они имели, когда они были сделаны. Например. цена, используемая в строке заказа, не должна меняться после размещения заказа, даже если цена продукта изменяется. Для некоторых идей, как справиться с этой ситуацией, посмотрите [здесь] (http://stackoverflow.com/a/11930467/533120). –

+0

Поскольку товар поступает со склада, информация о ценах в таблице запасов отражает фактическую оплаченную цену. У вас будет несколько записей в таблице акций для того же продукта/поставщика, который содержит данные по мере покупки каждого продукта. Также для краткости я пропустил тот факт, что Order and OrderLine будет содержать стоимость/продажу, клиент и т. Д .; Я изменил диаграмму, поскольку вы правы, она должна быть там. –

+0

Какое приложение вы использовали для создания диаграмм? – Tony

1

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

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

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

  • Нет связанных вопросов^_^