2012-04-07 2 views
0

Скажем, я строил сайт электронной коммерции, как бы я начал записывать количество продуктов, продаваемых каждый день, чтобы показать их позже, я знаю, что могу сэкономить количество предметов на складе и поместить их в базу данных, а затем посмотреть, он уменьшился на следующий день, который, я полагаю, неизбежно является решением, но представьте себе владельца магазина, который хотел бы узнать, сколько всего продукта он продал за последний год, имея в виду, что у него 1000 продуктов, для этого потребуется 1000 столбцов с 365 строк? Я думаю об этом неправильно или это действительно так? Я знаю, что есть расширения, которые вы можете скачать для таких вещей, как os-commerce и Magento среди других, которые имеют такую ​​функциональность, и мне было интересно, имеют ли они общий подход или что-то другое?Как создать статистику из данных электронной торговли без огромных таблиц?

Итак, в основном я ищу для создания отчетов и статистики, как это обычно делается, требуется ли огромные таблицы с каждым ежедневным изменением для каждого продукта?

+0

Нет, вам не нужно 1000 столбцов. Поскольку вы отметили вопрос, это базовый дизайн базы данных, и сначала вам нужно сделать некоторые чтения. –

+0

@MarcB Спасибо, могли бы вы порекомендовать несколько книг по дизайну базы данных? Или еще лучше, как бы вы освободили место для каждого продукта? –

+0

вы можете интегрировать аналитику google - у нее также есть статистика электронной коммерции ... другая точка - используйте несколько таблиц, то есть 'products' (id, name, desc, price ...) и' stock' (id.products , запас, минимум ...) – Michal

ответ

0

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

Затем вы можете выполнить любое количество манипуляций с этой таблицей.

+0

, используя имя как уникальный идентификатор, не является хорошим подходом, скорее используйте поле 'id', установленное для автоматического увеличения + первичный ключ – Michal

+0

Да, я согласен. Я никогда не хотел предлагать использовать имя как уникальный идентификатор, тем более, что он не будет работать с соглашением, которое я изложил при каждой транзакции, являющейся собственной строкой в ​​db. Лично я рекомендую использовать первичное поле a-i id для каждой таблицы. – user1319580

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