просмотр графиков с помощью базы данных oracle

#sql #oracle #plsql #graph-traversal

Вопрос:

У меня есть таблица, каждая запись в которой представляет собой ребро между узлами в графике. Столбцы from_node и to_node представляют идентификатор каждого узла на графике. Структура таблицы ребер аналогична приведенной ниже:

from_node to_node
1 2
1 3
4 5
6 7
7 8

Теперь я хочу найти всю связанную базу подграфов в приведенной выше таблице. Как я могу пересечь график и пометить каждый подграф уникальным номером? Мне нужен вывод, как показано в таблице ниже:

узел Группа
1 0
2 0
3 0
4 1
5 1
6 2
7 2
8 2

Комментарии:

1. что вы ожидаете в качестве вывода в данном примере ввода?

2. Я обновляю входную таблицу и добавляю в нее несколько строк, затем я добавил свои ожидаемые результаты для входной таблицы.

3. Ваш пример очень прост и может быть решен с помощью простого рекурсивного запроса (найдите примеры на этом сайте). Теперь, если у вас есть более сложные графики, вам лучше взглянуть на графический движок в Oracle DB

4. Спасибо, мне нужен этот простой запрос 🙂