TL; DR: по каким причинам нужно хранить таблицу данных о запасах отдельно от таблиц продуктов?
Некоторое время назад я создал приложение, в котором хранится каталог розничных товаров. Он включает стандартные атрибуты, такие как размер, цвет, ссылку на изображение, описание и т. Д. В основном в плоских таблицах. Это просто индексированные данные продуктов Magento, потому что приложение работает на отдельном сервере. В нем также был столбец для количества, который не имеет никакого смысла; Просто положил туда с мыслью «на всякий случай на будущее».
Теперь мне нужно реализовать какое-то управление запасами в этом приложении. Я изучал, как мне обновлять / настраивать структуру базы данных, и кажется, что системы предпочитают иметь отдельные "складские" таблицы из основных таблиц продуктов. Это верно и для Magento. Это почему? (Обратите внимание, что моему приложению не требуется возможность иметь отдельные уровни запасов для данного продукта.)
В связи с этим у меня возникла пара вещей ... (в основном, инвентарь будет отдельным объектом, кроме объекта продукта)
Несколько пулов запасов для данного продукта.
Возможность отслеживать изменения запасов (например, кто / что несет ответственность за изменение запасов и т. Д.)
Возможность разделения запасов из разных источников для отчетов или статистики.
Что-нибудь еще?
Обновление:
Хаззит, ответивший на мой вопрос, указал на потенциально очень полезный факт кэширования таблиц MySQL, если у вас много запросов к определенной таблице. Прочтите здесь ЗДЕСЬ, но это указано из этого ..
Если таблица изменяется, все кэшированные запросы, использующие эту таблицу, становятся недействительными и удаляются из кеша.
Таким образом, я, безусловно, получил бы большую пользу от наличия отдельной таблицы инвентаря, поскольку основная таблица продуктов не сильно изменилась, но запасы были.
Справочник по модели БД: http://www.databaseanswers.org/data_models/