powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как описать в конструкторском графе альтернативное ДСЕ?
25 сообщений из 29, страница 1 из 2
Как описать в конструкторском графе альтернативное ДСЕ?
    #32796041
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
М.б. кто решал уже эту задачу?
Например
Блин состоит из теста. Тесто состоит из яйца куриного, муки, молока, соли и сахара. Строим граф и вычисляем сколько и чего надо для приготовления 100 блинов (или 1000 - у кого какой аппетит). А вот если вместо куриного можно использовать яйцо перепелиное или гусиное. Как это в таком графе прописать, чтооб с минимумом заморочек вычислить чего и сколько, подразумевая, что куриное, в случае его недостатка, м.б. заменено на другие???
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32796100
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В принципе вроде бы напрашивается что-то вроде
- дополнительной колонки к ID, ParentID - AltID где хранить код альтернативы
- добавить таблицу альтернатив, в которой ID, ParentID из первой будет первичным ключем...
Но не уверен, что это есть карашо...
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32796297
Man555
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что такое граф понимаю, что из чего получается вроде тоже понятно, но вот в тему не въезжаю.. это метод проектирования структуры БД? У меня больше вопросов, чем ответов :-)
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32796461
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Man555что такое граф понимаю, что из чего получается вроде тоже понятно, но вот в тему не въезжаю.. это метод проектирования структуры БД? У меня больше вопросов, чем ответов :-)

"Подальше положишь - поближе возьмешь!" (с)
Вот и думаю куда и как положить информацию... Какая должна быть структура таблицы отношений, чтоб позволяла опредлять не только что во что входит, но и что на что можно заменить. Вроде типа отношений - падчинение/альтернатива...
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32796592
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задача поставлена не полностью. Эквивалентность компонентов абсолютная или относительная? Т. е., яйца можно заменять яйцами, яичным порошком или нужен альтернативный рецепт?
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32796651
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Задача поставлена не полностью. Эквивалентность компонентов абсолютная или относительная? Т. е., яйца можно заменять яйцами, яичным порошком или нужен альтернативный рецепт?

Можно яйцами, порошками... и т.д. и т.п. Альтернативный рецепт - вещь хорошая, если не включает спецификацию позиций в 200-250, часть из которых имеют по 5-7 альтернатив. Прикидочно, если идти по пути альтернативных рецептов, их может получиться немерянное количество, учитывая все сочетания возможных замен.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32796860
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Можно яйцами, порошками... и т.д. и т.п.

Понятно. Т. е., исключительно совместимость компонентов.

> Альтернативный рецепт - вещь хорошая, если не включает спецификацию
> позиций в 200-250, часть из которых имеют по 5-7 альтернатив. Прикидочно, если
> идти по пути альтернативных рецептов, их может получиться немерянное
> количество, учитывая все сочетания возможных замен.

Какова Ваша оченка "немерянного" количества? dbms?

Если без альтернативных рецептов и без изменения технологии приготовления в зависимости от компонентов (что в общем случае неверно), можно, например, так:
uom (uom_id (описание, параметры); можно добавить типы единиц измерений);
таблица приведения;
recipe (recipe_id (описание, параметры));
product (product_id, rel_default_uom_id (описание, параметры));
recipe_component (recipe_component_id (описание, параметры), rel_recipe_id, rel_product_id, rel_uom_id, uom_value);
product_alt (product_alt_id, rel_product_source_id, rel_source_uom_id, rel_source_uom_value, rel_product_target_id, rel_target_uom_id, rel_target_uom_value, [rel_recipe_id]).
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32797018
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Следует читать product_alt (product_alt_id, rel_product_source_id, rel_source_uom_id, source_uom_value, rel_product_target_id, rel_target_uom_id, target_uom_value, [rel_recipe_id]), т. е., количество, конечно, указывается непосредственно, а не задается ссылкой.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32797296
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В первую очередь, СПАСИБО, всем кто принимает участие в решении проблемы. Даже тем кто не ответил, но попытался решить, не говоря уж про активных участников. :о))

guest_20040621Какова Ваша оченка "немерянного" количества? dbms?...
Если без альтернативных рецептов и без изменения технологии приготовления в зависимости от компонентов (что в общем случае неверно), ...

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

Что считать альтернативным рецептом? Вероятно, иной состав компонентов и/или технология приготовления (?). Теперь представим себе ситуацию, когда один или несколько компонентов состава никак не влияют на конечный продукт. Как повлияет замена яйца куриного в тесте для блинов на яйцо перепелиное или утиное или гусиное (различие в привкусе здесь опускаем)? Технология не меняется - меняется только количество (перепелиных надо больше, чем куриных, а гусиных меньше) и себестоимость. Для поваров и технологов - это не существенно. Сколько должно быть рецептов одного и того же? По одному на каждый вид яиц. Логично? А теперь добавим, что и молоко может использоваться цельное, концентрированное или порошок, никак не влияя на конечный продукт. Сколько вариантов рецептов одного и того же мы получаем (это про оценку немерянного количества)? Столько, сколько уникальных комбинаций яйцо-молоко. При этом блин, сделанный, предположим, из яйца куриного и молока цельного, ничем не отличается от блина, сделанного из яйца куриного и молока концентрированного.

guest_20040621. Что касается предложенной реализации. Я правильно понял, что речь идет о вынесении альтернатив в отдельную таблицу?
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32797505
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я такое (в моем случае состав мебельного изделия) делал двумя таблицами. Собственно список "базовых вариантов и прочего" и "состав комплектаций". Обе таблицы с "деревянной" структурой (в первой исключительно для удобства). В первую вносится все составляющие (если есть, то с деревянной структурой). Во вторую копируются нужные ветки для "конкретного варианта изготовления", удаляются "лишние" и добавляются "дополнительные" компоненты из первой. Ессно в первой все компоненты уникальны - это просто справочник. Ессно число "конкретных вариантов изготовления" было (реально) в разумных пределах, хотя программно не ограничено.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32797675
Makar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я делаю так
объект - все что может входить в состав
(ид_объект
, название
, параметры /*возможно потребуется создание доп структур для хранения параметров*/ )

состав - состав изделия
(ид_объект_ребенок FK из объектов
,ид_объект_родитель FK из объектов
,применяемость
,признак бит 0-актуальный, 1 - альтернативный)
PK (ид_объект_ребенок , ид_объект_родитель)
)
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32797832
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще раз СПАСИБО!! :о))

Буду думать. Похоже думаю в правильном направлении.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32798587
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Я правильно понял, что речь идет о вынесении альтернатив в отдельную таблицу?

Абсолютно правильно.

> Что считать альтернативным рецептом? Вероятно, иной состав компонентов и/или
> технология приготовления (?).

Да, что-то вроде того.

> Технология не меняется - меняется только количество (перепелиных надо
> больше, чем куриных, а гусиных меньше) и себестоимость.

В случае относительно равноценной замены (наверное, можно и равноценность описать (метрикой?)) - не меняется. Если заменить, скажем, яйцо яичным порошком, то в одном случае - может не меняться, в другом - если, например, требуется взбить яйцо - просто ничего не получится.

> Для поваров и технологов - это не существенно.

;) Я бы не был так категоричен.

> Сколько должно быть рецептов одного и того же? По одному на каждый вид
> яиц. Логично?

Абсолютно нелогично.

> сделанный, предположим, из яйца куриного и молока цельного, ничем не
> отличается от блина, сделанного из яйца куриного и молока
> концентрированного.

Хм... для блинов можно использовать, например, сгущеное молоко. Именно для блинов. А для молочной каши - уже нельзя.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32798751
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно рассмотреть вариант с деревом технологических операций (приготовление теста для блинчиков будет технологической операцией). И альтернативные варианты строить исходя из этого дерева. Ноль избыточности + логично.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32799016
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Можно рассмотреть вариант с деревом технологических операций (приготовление теста для блинчиков будет технологической операцией). И альтернативные варианты строить исходя из этого дерева. Ноль избыточности + логично.

Его-то как раз и пытаюсь строить. Но! Строится оно, как мне видится, на основе дерева продуктов, которые имеют равноценные альтернативы. И сами операции также имеют альтернативы...

guest_20040621
> Сколько должно быть рецептов одного и того же? По одному на каждый вид
> яиц. Логично?

Абсолютно нелогично

Это был мой ответ на вопрос
guest_20040621Какова Ваша оченка "немерянного" количества? dbms?
в случае использования альтернативных рецептов
guest_20040621Т. е., яйца можно заменять яйцами, яичным порошком или нужен альтернативный рецепт?
Вероятно, я недопонял, что Вы понимали под альтернативным рецептом... :о))
Обсуждался у нас и такой вариант: "В случае замены какого-нибудь компонента - писать альтернативный рецепт!". Технолог был в ужасе.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32799058
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВиталТехнолог был в ужасе.
Это нормально
Такие "заказчики" часто представляют себе программу с одной кнопкой - нажал и все посчиталось. И все что они держат у себя в голове в этой программе должно быть учтено. Объясни технологу, что компьютер это глупая железяка, а не светлая голова, как он.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32799121
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серега ВиталТехнолог был в ужасе.
Это нормально
Такие "заказчики" часто представляют себе программу с одной кнопкой - нажал и все посчиталось. И все что они держат у себя в голове в этой программе должно быть учтено. Объясни технологу, что компьютер это глупая железяка, а не светлая голова, как он.

Дык! Я представил себе штук 50 рецептов энтих блинов, которые надо поддерживать и сопровождать, вносить изменения да чтоб корректно. И сам задумался!!! Оченно!!! Вот до сих пор и думаю думу.
"Программеры - они толстые, потому что сидят. А сидят, потому что мысль! И ее надо думать!" (с) Как раз про меня. Сижу - мысль высиживаю!
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32799337
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВиталСижу - мысль высиживаю!
Ну тогда вот еще для мыслей.
1. А если альтернативы взаимозависимы? Нельзя порошковое молоко с перепелиными яйцами например. С перепелиными только цельное. А если зависимость более сложная? ИМХО, это реально возможное требование. Как поступать?
2. Алгоритм автоматического выбора альтернативы какой? По алфавиту, по рейтингу, по стоимости, по остаткам на складе? Не запаришься выбирать?
3. Как ты узнаешь по какому конкретно рецепту блины готовились вчера, позавчера, на прошлой неделе? Надо хранить набор конкретных альтернатив на каждый замес теста? Вот тут ты точно увязнешь в объемах инфы.

ВиталЯ представил себе штук 50 рецептов энтих блинов
Реально будет штук 5 я полагаю. Или ваши снабженцы зря хлеб едят.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32799349
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Его-то как раз и пытаюсь строить. Но! Строится оно, как мне видится, на основе
> дерева продуктов, которые имеют равноценные альтернативы. И сами операции
> также имеют альтернативы...

Нет, оно не строится на основе дерева продуктов.

> в случае использования альтернативных рецептов

Хотелось бы услышать приблизительное количество (порядок).

> Обсуждался у нас и такой вариант: "В случае замены какого-нибудь компонента -
> писать альтернативный рецепт!". Технолог был в ужасе.

Альтернативы imho могут быть двух видов: альтернативный рецепт и альтернативный набор компонентов. Было бы правильно реализовать обе. Если использовать технологические операции, получится просто.

> штук 50 рецептов энтих блинов, которые надо поддерживать и сопровождать,
> вносить изменения да чтоб корректно. И сам задумался!!! Оченно!!! Вот до сих
> пор и думаю думу.

Собственно, в чем проблема? Какие изменения и какая поддержка для всего 50 рецептов?
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32799367
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> 1. А если альтернативы взаимозависимы? Нельзя порошковое молоко с
> перепелиными яйцами например. С перепелиными только цельное. А если
> зависимость более сложная? ИМХО, это реально возможное требование. Как
> поступать?

Завести еще одну таблицу ограничений. Если нужны сложные ограничения, завести еще и схему ограничений.

> 2. Алгоритм автоматического выбора альтернативы какой? По алфавиту, по
> рейтингу, по стоимости, по остаткам на складе? Не запаришься выбирать?

А в чем здесь сложность? Можно реализовать все алгоритмы. Реально, думаю, нужен по остаткам на складе с учетом срока годности продуктов.

> 3. Как ты узнаешь по какому конкретно рецепту блины готовились вчера,
> позавчера, на прошлой неделе?

Хранить историю кухни. За нужный срок. Кстати, будет полезно для учета.

> Надо хранить набор конкретных альтернатив на каждый замес теста? Вот тут ты
> точно увязнешь в объемах инфы.

Хех, ну можно использовать понятие единицы технологической операции, - чего сложного?
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32799392
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621чего сложного?
Ню-ню. Все то у вас просто.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32799574
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серега ВиталСижу - мысль высиживаю!
Ну тогда вот еще для мыслей. .
Всегда рад. :о))
Серега
1. А если альтернативы взаимозависимы? Нельзя порошковое молоко с перепелиными яйцами например. С перепелиными только цельное. А если зависимость более сложная? ИМХО, это реально возможное требование. Как поступать?
Вот-вот-вот!!! И это тоже. Хотя смесь яйцо-молоко можно выделить в этом случае как отдельный полуфабрикат со своими вариантами замены...
Серега
2. Алгоритм автоматического выбора альтернативы какой? По алфавиту, по рейтингу, по стоимости, по остаткам на складе? Не запаришься выбирать?

Выбор альтернативы - дело того, кто будет планировать. ;-)) Алгоритм должен рассчитать, если хватает основного - все по основному. Если нет, то, на выбор, - "...по рейтингу, по стоимости, по остаткам на складе..." (другой вопрос). Предполагается, что в плане выбираются все компоненты с количеством по основному с 0 по альтернативным. Надо заменить что-то на что-то? Решение уже будет принимать человек.
Серега
3. Как ты узнаешь по какому конкретно рецепту блины готовились вчера, позавчера, на прошлой неделе? Надо хранить набор конкретных альтернатив на каждый замес теста? Вот тут ты точно увязнешь в объемах инфы.

Если не будем изничтожать рассчитанный и утвержденный план, по которому, кстати сверим выполнение и расход, а сохраним в архиве - то не вижу проблемы.
Серега
Реально будет штук 5 я полагаю. Или ваши снабженцы зря хлеб едят.
3 варианта яйца + 3 варианта молока = 5 комбинаций???

guest_20040621 Нет, оно не строится на основе дерева продуктов.

Не понял о чем речь - не строится на основе дерева или не строится на основе продуктов?

guest_20040621
> Обсуждался у нас и такой вариант: "В случае замены какого-нибудь компонента -
> писать альтернативный рецепт!". Технолог был в ужасе.

Альтернативы imho могут быть двух видов: альтернативный рецепт и альтернативный набор компонентов. Было бы правильно реализовать обе. Если использовать технологические операции, получится просто.

Здесь говорилось не о сочетании двух видов, а только о варианте: другой компонент - другой рецепт. Сами по себе "...альтернативный рецепт и альтернативный набор компонентов..." вполне имеют право быть, но в случае альтернативного рецепта я бы говорил о модификациях и рассматривал (планировал) как другие рецепты.

guest_20040621Собственно, в чем проблема? Какие изменения и какая поддержка для всего 50 рецептов?

Если бы речь шла о Блинной - то никаких. А если перечень блюд - 10 страниц машинописного текста и блины бездрожжевые там - 1 позиция и одна из самых простых по составу?
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32799623
Серега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВиталВот-вот-вот!!! И это тоже. Хотя смесь яйцо-молоко можно выделить в этом случае как отдельный полуфабрикат со своими вариантами замены...
Ты же не только печешь блины, еще наверное чего то. Для каждого рецепта конкретно, для каждого компонента конкретно, надо заводить альтернативы со сложными правилами взаимодействия. Чем это проще составления сразу конкретного рецепта. Ибо после введения альтернатив ты еще не будешь иметь конкретных рецептов , а только некоторую структуру для их составления. Постоянного составления!!! - а это думаю будет не самая простая процедура и для сервера и для человека.

ВиталВыбор альтернативы - дело того, кто будет планировать. ;-)) Алгоритм должен рассчитать, если хватает основного - все по основному. Если нет, то, на выбор, - "...по рейтингу, по стоимости, по остаткам на складе..." (другой вопрос). Предполагается, что в плане выбираются все компоненты с количеством по основному с 0 по альтернативным. Надо заменить что-то на что-то? Решение уже будет принимать человек.
См. выше. Что каждый день повар будет решать из чего он будет готовить, выбирать альтернативы? ИМХО, он к концу дня только с меню определися.

ВиталЕсли не будем изничтожать рассчитанный и утвержденный план, по которому, кстати сверим выполнение и расход, а сохраним в архиве - то не вижу проблемы.
На каждый замес теста? На каждый чан щей? ИМХО - утопия.

Витал3 варианта яйца + 3 варианта молока = 5 комбинаций???
Ты, такое ощущение, для бабушки прогу пишешь. Сегодня покупала на рынке одно, завтра в магазине другое. Наверное снабженцы должны закупать то, что нужно, а не что под руку попалось. А "обходные варианты" - только на всякий случай, как "отойти на заранее подготовленные позиции". Не думаю что их будет много. В любом случае "один раз завел - всю жизнь пользуешься", ИМХО, лучше, чем каждый день делать одно и то-же.

Но - хозяин/барин. Как хочешь.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32799921
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> не понял о чем речь - не строится на основе дерева или не строится на основе
> продуктов?

Не строится на основе дерева продуктов. Технологический процесс - самостоятельная сущность. Она связана с продуктами отношением m:n (с учетом альтернатив).

> Здесь говорилось не о сочетании двух видов, а только о варианте: другой
> компонент - другой рецепт.

Меняются яйца. Рецепт остается тем же самым.

> в случае альтернативного рецепта я бы говорил о модификациях и рассматривал
> (планировал) как другие рецепты.

Imho это ошибочный подход.

> А если перечень блюд - 10 страниц машинописного текста и блины бездрожжевые
> там - 1 позиция и одна из самых простых по составу?

ОК, прикидываем на пальцах. Пусть 10 страниц машинописного текста - 300 наименований. Пусть в среднем у каждого блюда 10 уникальных компонентов (реально цифра наверняка будет меньше). Т. е. всего 3000 компонентов. И где проблемы? Ну получится таблица связей большой, и что? Это как поваренная книга, - описать нужно один раз.
...
Рейтинг: 0 / 0
Как описать в конструкторском графе альтернативное ДСЕ?
    #32800311
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Это как поваренная книга, - описать нужно один раз.

В поваренной кстати и пишут: "Если у Вас нет того-то - это можно заменить тем то и тем-то или на то-то и то-то!!", а не отдельный рецепт.
Правда виде одну - где сказано делать см. рецепт такой-то, только вместо этого возьмите то-то! Однако, и здесь не перечисляли все заново.

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

А я сказал, что он каждый день решает?? Не он. И на месяц. И не для одного повара, а для всех! Прикинуть сколько и чего и когда надо. Кому, что делать каждый день и вперед...
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как описать в конструкторском графе альтернативное ДСЕ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]