запрос дерева / графиков, смоделированных в SQL (Celko) - PullRequest
2 голосов
/ 24 февраля 2011

Знаете ли вы какие-либо ссылки, где можно найти SQL-запросы для обхода деревьев / графиков?

Я нашел это: http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html и книгу Селко.

Проблема в том, чтоБольшинство ресурсов, которые я нашел, относится к деревьям моделей привязанности, я использую обычную модель списка ребер.

Например.запросы или процедуры для извлечения подпутей, поддеревьев и т. д.

Спасибо

Ответы [ 2 ]

2 голосов
/ 04 марта 2011

Модели с вложенными наборами лучше всего подходят для иерархических агрегаций.Обходы для общих графов лучше всего выполнять с помощью модели списка смежности.Но я использовал вложенные множества для сходящихся графов путем разделения узлов

 A
/ \
B C
\ /
 D

Становится

 A
/ \
B C
|  |  
D  D

Поскольку наборы вложений хранят узлы в отдельной таблице, это просто.* Вы также можете сделать общий граф в виде леса всех возможных связующих деревьев

0 голосов
/ 29 мая 2011

Если ваш график не обновляется часто, использование индекса GRIPP позволит вам очень хорошо обрабатывать запросы обхода графика. Последний позволяет отвечать на запросы типа «родители-потомки» и глубины в более или менее фиксированное время - независимо от количества узлов графа или плотности ссылок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...