|
|
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
mephВсе же 50 000 апдейтов делать не очень хочется. Хотелось бы сделать, так чтобы потом система не легла в один прекрасный момент. Ну так чем не подходят предложенные варианты? 1) дополнительное поле (в этом случае не вижу ограничений) 2) prior - строкового/символьного типа, правда здесь я перемудрил автормежду "2" и "3" указывать "29", между "2" и "29" - "28", а между "29" и "3" - "299" и т.д. конечно же, выбирать следует символ со "средним для сортировки" значением между предыдущим и последующим элементом, т.е. между "2" и "3" указывать "25", между "2" и "25" - "23"(или "22"), ну и между "29" и "3" - "295" и т.д. Диапазон символов расширить, т.е. помимо "1-9" использовать другие, тогда на одну символьную позицию "втиснется" несколько сотен элементов... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 13:53 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
mephОсталось только придумаьт такой механизм, который был бы применим для ВСЕХ товаров, а не для пары-тройки самых важных. Например, чтобы была возможность сегодня выводить колбасу за сыром, но перед рыбой, а завтра все в обратном порядке. вычисляем коэффициент эффективности, который учитывает рентабельность, скорость выбытия и т.д. и по которому товары ранжируются (разбиваются на категории). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 14:02 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
LR Ну так чем не подходят предложенные варианты? 1) дополнительное поле (в этом случае не вижу ограничений) Вот с этого места поподробнее пожалуйста. А насчет символьного поля у меня есть сомнения...насчет оптимальности и удобства использования такого подохода. Расскажите о том, как Вы предлогаете использовать допольнительное поле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 15:16 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
> я так полагаю, что не от хорошой жизни и не программеры эту систему приоритетов > придумали, а заказчику она понадобилась Как раз программеры. Вряд ли заказчик мог придумать настолько идиотское требование. > задача то естественна Арбузы после помидоров - естественно? > весь Activity Management Вы действительно не видите разницы? > каталог товаров, где владелец может некоторые товары выводить в начале Более тупое решение этой задачи, чем Вами предложенное, придумать imho невозможно. Ничего личного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 15:26 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Как раз программеры. Вряд ли заказчик мог придумать настолько идиотское требование. Значит заказчик - программер. Хотя мне такие встречались конечно, но один или два. Не помню точно. guest_20040621 Арбузы после помидоров - естественно? Да. Если сегодня день распродажи арбузов. guest_20040621 > весь Activity Management Вы действительно не видите разницы? Не улавливаю. guest_20040621 > каталог товаров, где владелец может некоторые товары выводить в начале Более тупое решение этой задачи, чем Вами предложенное, придумать imho невозможно. Ничего личного. Эт не я предложил. Вольфредо Паррето. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 16:19 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
meph LR Ну так чем не подходят предложенные варианты? 1) дополнительное поле (в этом случае не вижу ограничений) Вот с этого места поподробнее пожалуйста. А насчет символьного поля у меня есть сомнения...насчет оптимальности и удобства использования такого подохода. Расскажите о том, как Вы предлогаете использовать допольнительное поле. Для решения такой задачи на 100 тыс. mephОсталось только придумаьт такой механизм, который был бы применим для ВСЕХ товаров, а не для пары-тройки самых важных. Например, чтобы была возможность сегодня выводить колбасу за сыром, но перед рыбой, а завтра все в обратном порядке. дополнительное поле наверное не поможет, разве что долнительное поле prior для категории/группы/вида наименований, т.е. ORDER BY категория.prior, наименование.prior А мне почему-то (от рыбы, колбасы и сыра:) померещилась другая задача - "временно акцентировать" какой-то товар, "пристегнуть" его вверх списка (акции там разные, распродажи) prior - постоянный, штатный приоритет prior_tmp - временный (для акцентирования товара) ORDER BY <если prior_tmp!=null тогда 0 иначе prior>, prior_tmp - одновременно акцентированного товара не может быть много, значения prior_tmp могут задаваться "вручную" пользователем, в случае автоматизации "шерстить" придется немного, где prior_tmp!=null - предусмотреть действие "удаления всех акцентуаций" - если есть необходимость, предусмотреть действие "перевода временного приоритета в постоянный" - тяжелое, но осознанное действие для всего множества, в результате "временный" порядок становится "постоянным" (а prior_tmp для всех элементов =null) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 16:22 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
> Да. Если сегодня день распродажи арбузов. Огорошили. От Вас не ожидал. ОК, вопрос: распродажа арбузов предполагает появление новых свойств у арбузов? Каких именно? > Не улавливаю. Жаль. > Эт не я предложил. Вольфредо Паррето. Ага. Взял и предложил ранжировать весь ассортимент супермаркета. Самому не смешно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 20:59 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Огорошили. От Вас не ожидал. у меня сегодня настроение такое. guest_20040621 ОК, вопрос: распродажа арбузов предполагает появление новых свойств у арбузов? Каких именно? Распродажа арбузов появление новых свойств конечно не предполагает, она предполагает изменение некоторых существующих. Ребята мерчендайзеры вываливают их на видное место (меня свойство Размещение), в прайсах они выставляются на первые позиции, чтобы мозолить глаза покупателю и т.д. guest_20040621 Ага. Взял и предложил ранжировать весь ассортимент супермаркета. Самому не смешно? Предложил само ранжирование, а ранжируют все что попадается под руку. Даже в ночных клубах фейс-контроль работает по принципу Парето. 20% запущенных в клуб девушек с хорошей внешностью привлекают выручку 80% клиентов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 21:32 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
guest_20040621 > я так полагаю, что не от хорошой жизни и не программеры эту систему приоритетов придумали, > а заказчику она понадобилась Как раз программеры. Вряд ли заказчик мог придумать настолько идиотское требование. Любопытно... вы с такой уверенностью говорите, как будто этот проект видели... А у меня на руках БД, в которой как раз было аналогичное требование ЗАКАЗЧИКА (оттого в эту тему и заглянул). Нужно было, чтобы записи из списка специальных кодов выводились в некoтором порядке, который (порядок) никакой "формулой" не описывался. Другой разговор, что записей там немного: около 5000 и впридачу они разбиты на 50 подгрупп (в рамках каждой группы свой приoритет). Да и порядок меняется редко, поэтому очень просто всю табличку (точнее, группу) прошерстить (чтобы прибавить единичку к приоритету). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 21:50 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
iscrafmПредложил само ранжирование, а ранжируют все что попадается под руку. Даже в ночных клубах фейс-контроль работает по принципу Парето. 20% запущенных в клуб девушек с хорошей внешностью привлекают выручку 80% клиентов. :) а если запускать 50% девушек с хорошей внешностью? клиенты разорятся? Никак для себя не уясню - это (попытки применения принципа Паретто, ABC-анализ) "дань моде" или уже "норма жизни" современных ИС? Кстати, в одной статье, посвященной техноценозу (http://www.kudrinbi.ru/ когда-то кто-то здесь давал ссылку), русский профессор Кудрин опубликовал несколько другое соотношение, не такое "универсальное" как у Паретто, но, как я понял, основанное на хорошей статистике: 5-10% особей-изделий относится к "ноевым" кастам (уникальным, редким), что составляет 40-60% видового состава - объема словаря ну и 40-60% всех особей-изделий попадают в "саранчевые" касты (массовые), что составляет 5-10% общего числа видов Это я к тому, что, возможно, специальные исследования "фейс-контроля в ночных клубах" дадут совершенное другой результат(выручка зависит от других факторов) или другое соотношение (не 20-80, и в каждом клубе - свое), imho естественно :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 22:19 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
> предполагает изменение некоторых существующих Например? Типа косточки при разрезании начинают разбегаться? > Ребята мерчендайзеры вываливают их на видное место (меня свойство Размещение) Это не свойство арбузов. Полагаю, им абсолютно фиолетово, кто, когда и куда их положил. Они от перемещения не становятся менее арбузами или более арбузами. Еще наводящий вопрос: какая сущность изменяет свое состояние при перемещении арбузов. > в прайсах они выставляются на первые позиции Быть на первой позиции прайс-листа - это тоже не свойство арбузов. > Предложил само ранжирование И? Прочтите, пожалуйста, наводящие вопросы и предложите свой вариант ответа на вопрос: "как сформировать витрину товаров?". > вы с такой уверенностью говорите, как будто этот проект видели Нет, этот не видел. Но видел кучу других задач, сформулированных и решенных не менее тупым образом. > А у меня на руках БД, в которой как раз было аналогичное требование ЗАКАЗЧИКА Заказчик никак, никоим образом не может иметь возможность формулировать требования к структуре базы данных. > Нужно было, чтобы записи из списка специальных кодов выводились в некoтором > порядке, который (порядок) никакой "формулой" не описывался. Ну, во-первых, коды - это не товарная номенклатура. Из кодов витрину для визуального выбора не формируют. А во-вторых, Вы задачу полностью опишите, - будет понятно, правильно она была решена или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 23:10 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Это не свойство арбузов. Полагаю, им абсолютно фиолетово, кто, когда и куда их положил. Они от перемещения не становятся менее арбузами или более арбузами. Еще наводящий вопрос: какая сущность изменяет свое состояние при перемещении арбузов. Вы вынуждаете много текста писать, не хочется. Возможно карточка учета наличия арбузов или что-то в этом роде, а не сам арбуз как дар природы . Думаю можно обойтись без таких подробностей. ок? Тем более, что суть задачи и ее решения от этого не меняется. guest_20040621 И? оказалось очень удобно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2007, 23:33 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
> карточка учета наличия арбузов или что-то в этом роде, а не сам арбуз как дар природы Я бы не назвал это карточкой учета, ну да ладно. Последний наводящий вопрос: для какой цели Вы предлагаете завести у сущности некий дополнительный атрибут, который на самом деле никакого отношения к этой сущности не имеет? > оказалось очень удобно Сделайте над собой усилие, чуть подробнее: что удобно? ;) На самом деле ранжирование здесь абсолютно ни при делах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2007, 02:00 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
guest_20040621 На самом деле ранжирование здесь абсолютно ни при делах. Ну почему же. Автору нужно некоторые позиции показывать в заголовке списка. Как вариант - ранжирование по категориям. В этом случае список номенклатуры упорядочивается по категории. Наиболее важные позиции будут в начале списка. Нормальный вариант для разгребания завалов, часто применяется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2007, 14:20 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
> Ну почему же. По определению. Типичный случай кривой постановки задачи и кривой ее реализации. Что есть витрина? Выбранный по некоторым критериям товар. Может витрина формироваться динамически? Может. Может быть персональной? Может. Может зависеть от каких-то дополнительных внешних факторов? Может; и как правило зависит. Так для чего здесь может в принципе пригодиться ранжирование всей номенклатуры товаров? Правильно, ни для чего. > показывать в заголовке списка Для этого и нужно иметь дополнительные атрибуты списка, а не дополнительные атрибуты товаров. > Как вариант - ранжирование по категориям. У-у-у... давайте не будем лезть в дебри. Если простая задача вызывает столько проблем, я себе представляю, что может получиться, если рассматривать еще и классификацию. Классификация сама по себе - одна из наиболее сложных задач для проектирования. > Нормальный вариант для разгребания завалов, часто применяется. Частота применения ничего не говорит о "нормальности" применения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2007, 15:56 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
guest_20040621Что есть витрина? Выбранный по некоторым критериям товар. Может витрина формироваться динамически? Может. Может быть персональной? Может. Может зависеть от каких-то дополнительных внешних факторов? Может; и как правило зависит. Так для чего здесь может в принципе пригодиться ранжирование всей номенклатуры товаров? Правильно, ни для чего. я не знаю что Вы понимаете под "витриной товаров" и откуда она вообще взялась, поэтому развить мысль тяжеловато. Разговор идет о том, как упорядочить список товаров. guest_20040621 > показывать в заголовке списка Для этого и нужно иметь дополнительные атрибуты списка, а не дополнительные атрибуты товаров. возможно. с этим никто и не спорит. guest_20040621 > Как вариант - ранжирование по категориям. У-у-у... давайте не будем лезть в дебри. Если простая задача вызывает столько проблем, я себе представляю, что может получиться, если рассматривать еще и классификацию. Классификация сама по себе - одна из наиболее сложных задач для проектирования. да каких проблем? Где Вы их видите? guest_20040621 > Нормальный вариант для разгребания завалов, часто применяется. Частота применения ничего не говорит о "нормальности" применения. Вы не применяете, пожалуйста. Кто-то применяет. Не вижу ничего в этом плохого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2007, 16:46 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
> откуда она вообще взялась Автор треда соизволил таки исходную задачу сформулировать. Оттуда и взялась. > Не вижу ничего в этом плохого. Я тоже. ;) Каждый волен рыть себе яму самостоятельно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2007, 17:06 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
guest_20040621Я тоже. ;) Каждый волен рыть себе яму самостоятельно. уважаемый guest_20040621 не могли бы вы предложить правильный, с вашей точки зрения, подход к решению данной задачи? Просто, даже любопытно стало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2007, 18:39 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Не вижу ничего в этом плохого. Я тоже. ;) Каждый волен рыть себе яму самостоятельно. значит респект и продолжаем копать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.01.2007, 23:10 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
С проблемой топика сталкивался, но у меня к счастью база небольшая, меняется строго 1 человеком и делается именно апдейт prior. Ну и само собой поменять и удалить приоритеты можно. guest_20040621Ну потому что глупость невероятная. Экзотическую сортировку если и делать, то используя правила, а не уникальные последовательности. Не согласен. В моём (да и не только) случае эти правила "экзотической сортировки" были бы крайне громоздки и излишни - при таких-то значениях поля А сортируем так, при остальных эдак... Поэтмоу я ввёл ordered (по топику prior) и сам выбераю что в каком порядке выводить. Конечно это лишний аттрибут, к сущности отношения не имеющий, но удобный очень. Поиск решения, лучшего чем апдейты половины записей тема безусловно интересная )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 12:31 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
LR конечно же, выбирать следует символ со "средним для сортировки" значением между предыдущим и последующим элементом, т.е. между "2" и "3" указывать "25", между "2" и "25" - "23"(или "22"), ну и между "29" и "3" - "295" и т.д. С таким подходом могут возникнуть проблемы. Допустим, что каждый следующий элемент вставляется перед предыдущим. Тогда, если используем только цифры - без увеличения длины строки вставим только 3 элемента (25-22-21), после чего понадобится новый разряд. Если использовать другие символы (возьмем один байт, 255 символов) - то удастся вставить 7 элементов и потом - новый разряд. Для нескольких тысяч элементов картина получается невеселая. Конечно, условие типа того что следующий элемент вставляется перед предыдущим на практике встретится вряд ли, но хочется все-таки универсальное решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 13:09 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
УриЕсли использовать другие символы (возьмем один байт, 255 символов) - то удастся вставить 7 элементов и потом - новый разряд. Да, действительно, фигово получается... Пока что единственным очевидно "правильным" решением для большого количества элементов выглядит наличие классификатора c приоритетом групп/подгрупп и относительно небольшим количеством элементов в подгруппе. Возможно ли сделать подобный "классификатор" для упорядочивания, который бы поддерживался системой автоматически, без вмешательства пользователя, и был бы "дешевле перенумерования хвоста списка"? Т.е. некая дополнительная саморегулируемая иерархическая структура... х.з., тут, наверное, придется экспериментировать (макс.колич. элементов в группе, постоянное или зависит от общего количества (процент), и т.п.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2007, 19:09 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
2 LR: Перенумеровывайте не хвост, а голову.(сортируйте не по возрастанию, а у по убыванию) Толкотня будет вверху списка, перенумерацию делайте с небольшим шагом, вставка будет частенько без подвижки происходить, а как вырастет максимальное значение выше заданного предела - полную перенумерацию учините("сборку мусора" произведите) Если использовать BIGINT - перенумерация потребуется нескоро и будет происходить нечасто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 10:22 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
LRПока что единственным очевидно "правильным" решением для большого количества элементов выглядит наличие классификатора c приоритетом групп/подгрупп и относительно небольшим количеством элементов в подгруппе. guest_20040621 дело говорит (между строк :)). Вы заходите в супер-маркет и не хотите видеть все товары сразу. Для этого вы что? Ранжируете их? - есть товары для беременных - есть товары для начальников - есть товары для "арбузников" У всех ранжирование разное, и не стоит при приходе нового арбуза переранжировать весь супер-маркет. ЗЫ. IMHO когда появятся нормальные свойства товаров, а не только одно (с именем - "Важный"), тогда появятся и варианты решения задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 16:23 |
|
||
|
Система приоритетов
|
|||
|---|---|---|---|
|
#18+
Спасибо всем за участие! Многие из Вас задаются постановкой задачи, ее сутью, а хотелось бы услышать решение... Я с Вами согласен, когда вы заходите в магазин вы вначале находите нужный вам отдел, а вот там уже выставлены рекламные товары и только после них все остальные товары этого отдела. Реализация от этого не изменится особо: если придумать как сделать механизм выставления\изменения приоритетов, то перенести на множество отделов не составит труда. На данном этапе из приемлимых вариантов я вижу только решение, которое позволяет добавлять в конец товар и менять местами товары, но но вставлять товар в середину(ну не позволяет религия для половины записей менять приор только из-за одного изменения). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2007, 17:01 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=34239784&tid=1544799]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 455ms |

| 0 / 0 |
