Я собираюсь использовать эту концепцию в одном из моих будущих проектов.
Подробнее: Управление иерархическими данными в MySQL .
Пожалуйста, поделитесь своим опытом, хорошим или плохим, с примерами.
Я добавляю больше информации, чтобы сделать ее более широкой:
У меня есть дочерние элементы, которые могут иметь более одного родителя (например, пользователь может принадлежать городу, а также группе с именем UserDefinedRegion), которую типичные иерархические модели не поддерживают, будь то список смежности или вложенные множества.
Я вставил здесь пример использования для ясности:
Справочная информация. В настоящее время в системе установлена фиксированная иерархия: штат-> округ-> город-> пользователь
Менеджер по продажам входит в систему и создает новую группу, которая может находиться на одном уровне с городом или округом.
Менеджер по продажам входит в систему и создает новую группу, которая может находиться между штатом и округом или округом и городом.
После того, как менеджер по продажам создаст группы, он сможет просматривать все необходимые отчеты, свернутые на следующий день, на своей панели инструментов.
Как видите, вторая точка может быть легко достигнута с помощью вложенных множеств, но не первая точка, которая представит новые родительские узлы для того же дочернего узла.
До настоящего времени пользователи stackOverflow предлагали следующие решения:
- Структура сетевого узла, поддерживаемая сетевой базой данных.
- Направленные ациклические графы.
Я определенно ищу решение СУБД. Похоже, в реальной жизни немногие сталкивались с несколькими родительскими узлами в иерархических моделях данных.