Ответы пользователя по тегу Проектирование баз данных
  • Как лучше сделать?

    @Myclass
    Только так, но бизнес логика в программе должна быть очень точна и стабильная. А то простые люди начнут 'преподавать'. А насчёт полей, что у разных типов то заполняются, а то нет - это в Gui и в классовой модели решается и не есть плохо .

    Потому что этот упрощает и ввод адресов и ещё кучи других вещей, которые те и другие иметь или быть могут.

    Ещё один плюс такого решения, что те, кто сегодня преподаванием занимается, завтра только пользователь может быть. Или наоборот. Потом такие вещи как
    Логин
    Организация курсов
    Организация заместителя преподавателя
    Рассылка уведомлений итд.
    упрощаются до минимума
    Ответ написан
    Комментировать
  • Как хранить деньги в int в базе данных?

    @Myclass
    Уверен - универсального решения нет. Я использую всегда decimal с большой точностью после запятой. Но с головой подхожу к тому, какие, когда и где операции с этими числами делать можно, а когда- нельзя.
    Высказывания типа, что с тем или иным подходом - не было проблем - от лешего. Тк. и хранение в int с последующим переводом например в другую валюту или умножения для вычисления подоходного налога требует работы с числами с плавающей точкой. Хотим мы этого или нет. А узнать, какие подводные камни бывают при этом можно узнать здесь
    Ответ написан
    Комментировать
  • Как работает статистика?

    @Myclass
    Я понимаю, что автор вопроса новичёк в этих темах, и думаю не получится -но попробую на двух словах обьяснить. Появилась свободная минута...

    Есть разные подходы. Есть подход, где требования к индикаторам / показателям спускаются сверху. Например столько-то и столько-то продуктов надо продать и потом по-возможностям рапределяется ожидаемых продаж в разных филиалах. И часто это берётся не с потолка (хотя за правило я-бы это не взял :). Такой подход немного сложен и в принципе он зависит от подхода, описанного снизу, но как конструкция имеет право существовать отдельно.

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

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

    Т.е. идногда делают компромисс. И оговаривают, где и на каком уровне делается своя статистика, которая потом стекается со всех филиалов и какая статистика делается там.

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

    Рассчёт по филиалу:
    Продаётся 1000 продуктов каждый день. Те. в центр отсылается 1000 записей каждый день. Много это или мало - все образно. Если эти продукты заменяются на классы, то каждый день будут посылаться например 10 цифр из каждого филиала. Что много меньше, но тогда никто в центре не будет знать, что лучшим продавцом сегодня был Петя Васечкин. Потому что нет у них этой информации. И для глобальных решений эта информации и не нужна.

    На ваш вопрос, что должно быть использовано отвечу так. Содитесь и пытайтесь себя представить на том месте, где вы хотите эти цифры видеть, чтобыы принимать решение. Те. для руководителя филиала должно хватить - продавец, дата (день/неделя/месяц/квартал/год), продукт, количество продаж статус, если возврат. Дял центра - филиал, дата(день/неделя/месяц/квартал/год), продукт, кол-во. Для президента республики - дата(день/неделя/месяц/квартал/год), продуктовый класс количество. Итд.

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