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

StasOkМне надо, чтобы при заведении нового листа или узла (пользуясь древесной терменологией) я мог выбирать в качестве родителей несколько узлов из числа уже заведенных.
Тогда это просто "ориентированный граф без циклов". Не помню, есть ли для такого какое-либо специальное название. Соответственно просто связь многие-ко-многим.
...
Рейтинг: 0 / 0
03.03.2006, 19:48
    #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
04.03.2006, 16:28
    #33581953
PVP
PVP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Древовидная структура с несколькими родителями.
StasOk1. Я, конечно, сам понимаю, что это уже не дерево, если у него несколько корней, но не знаю, как его правильно назвать...
В теории графов это называется "направленный граф без циклов".

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

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

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

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

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

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

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

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

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

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

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

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

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


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