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