powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Древовидная структура с несколькими родителями.
15 сообщений из 15, страница 1 из 1
Древовидная структура с несколькими родителями.
    #33581201
StasOk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1. Я, конечно, сам понимаю, что это уже не дерево, если у него несколько корней, но не знаю, как его правильно назвать...
2. Я уверен, что подобная штука существует и повсеместно используется, а я ее просто найти не могу.
3. Мне не нужно решение (в смысле сам код) я лишь прошу направить меня (покидать в меня ссылками) где я могу про это почитать
4. Если это принципиально, то делаю я каталог на PHP+MySQL.
5. Я буду очень, очень благодарен вам за информацию...
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33581227
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это называется "фасетная классификация".
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33581270
StasOk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверно я немного не так нарисовал...
У меня нет ограниченного кол-ва признаков, по которому мне надо сортировать конечные элементы. Мне надо, чтобы при заведении нового листа или узла (пользуясь древесной терменологией) я мог выбирать в качестве родителей несколько узлов из числа уже заведенных.
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33581287
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StasOkУ меня нет ограниченного кол-ва признаков,
А кто говорит про ограниченное? Всегда можно ввести новый. Важно одно: то ли узлы-признаки различны по своей сути, принадлежат разным разрезам (например, ни один узел не может наследоваться одновременно от "самокат" и "велосипед"), то ли все узлы.. однотипны, что ли, как например однотипны города на какой-нибудь схеме авиамаршрутов.

StasOkМне надо, чтобы при заведении нового листа или узла (пользуясь древесной терменологией) я мог выбирать в качестве родителей несколько узлов из числа уже заведенных.
Тогда это просто "ориентированный граф без циклов". Не помню, есть ли для такого какое-либо специальное название. Соответственно просто связь многие-ко-многим.
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33581326
Victor Korytko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
схема c суррогаными ключами rn (id)

color model owner: rn,code

obj_in: rn, obj_in
obj_out: rn, obj_out
obj_link: rn, is_root, rn_obj_in, rn_obj_out

примерно так с проверкой на зацикливание
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33581953
Фотография PVP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StasOk1. Я, конечно, сам понимаю, что это уже не дерево, если у него несколько корней, но не знаю, как его правильно назвать...
В теории графов это называется "направленный граф без циклов".

Здесь ссылки, которые недавно мне давали на этом форуме
/topic/261433&hl=
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33582323
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется, это называется "простая сеть". В связи с АСУ ВУза я решал задачку:
- группы могут быть объединены в потоки
- группа может быть разбита на подгруппы, причем неоднократно и разными способами
- подгруппы могут быть объединены в потоки

Разобрался с ней только когда попытался перевести это на теоретико-множественный уровень. Получилось (упрощённо) следующее:
GS (GS_ID, GSName) // GS - любое множество или подмножество
GSCast(ID, Parent_ID,Child_ID) // Parent_ID, Child_ID - ссылки на GS, ID - собственный идентификатор
Всё работает, но программировать было трудно. Если приходится открывать тексты функций и процедур на сервере, то понимаю каждый раз с трудом.
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33583333
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваш верхний этаж - множество справочников значений. Возможно некоторые справочники являются деревьями. Однако если под корнем только один уровень, как на картинке, то обычного справочника достаточно. Возможно число справочников переменно и Вам будет проще иметь одну обобщенную таблицу.

Второй этаж - это ассоцирование некоторых объектов со значениями параметров из справочников. Здесь вопрос в количестве и изменчивости параметров. Если число парметров фиксировано и неизменно - то обычная таблица. Иначе тема - EAV.
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33654037
5opuc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня похожая задача

есть набор изделий которое состоит из узлов и(или) материалов(необязательно)
узлы состоят из других узлов и(или) из материалов(необязательно)
материалы не из чего не состоят
изделия могут имет одинаковые узлы и материалы

как это все засунуть в таблицы
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33654042
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вполне обычная "многие ко многим". Например:

Материалы (ид_материала, название_материала....)
Узлы (ид_узла, название_узла)
КомплектацияУзлов (ид_комплектуемого_узла, ид_комплектующего_узла, ид_материала, количество)

Плюс "дуга" на пару (ид_комплектующего_узла, ид_материала). Дуга - это constraint вида в данном случае (A is null and B is not null) or (A is not null and B is null) - то есть допускающий указание только одного из этих двух id.
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33654139
nik_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5opucу меня похожая задача

есть набор изделий которое состоит из узлов и(или) материалов(необязательно)
узлы состоят из других узлов и(или) из материалов(необязательно)
материалы не из чего не состоят
изделия могут имет одинаковые узлы и материалы

как это все засунуть в таблицы

Вообще-то это одна таблица (классическое дерево).
Хотя можно сделать и так:
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33654977
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 nik_x
Никак это не может быть деревом когда 5opucизделия могут имет одинаковые узлы и материалыАциклический ориентированный граф, он же сеть, он же BOM (bill of material). Как минимум структура таблиц, приведенная muk07 выше в этом топике.
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33655144
nik_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2: ModelR
Чегой-то я не понял, разговор о комплектации изделий, или об их учете?
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33655179
nik_x
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы вопрос был понятнее, процитирую:

BOM (Bill Of Material
– дословно – список материалов) – это такая функция системы, когда система знает,
что из чего производится. Сколько каких запчастей и материалов надо для единицы
продукции, какие бывают подузлы и подагрегаты, какие могут быть замены и проч…)
Справедливости ради надо сказать, что без этого BOM-а иногда можно обойтись,
когда Ваша продукция не такая уж сложная. Если Вы фасуете кофе в банку и закручиваете
крышкой. Или если из муки, соли и сахара выпекаете хлеб – без BOM-а даже проще.
Не надо строить сложные математические модели там, где подойдут обычные нормы
расхода на единицу продукции.

Это к тому, нужна-ли пушка? Если охотимся на воробьев...
...
Рейтинг: 0 / 0
Древовидная структура с несколькими родителями.
    #33655811
ModelR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
5opucизделия могут имет одинаковые узлы и материалы Одна мука в разных булках, в одной булке разные компонеты. Пушка однозначно:)

Про фасовку кофе - может и нет.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Древовидная структура с несколькими родителями.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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