Ich habe ein Diagramm von Knoten in PostgreSQL implementiert (kein Baum)
Die Struktur der Tabelle ist in diesem Format
%Vor%Dies zeigt die Beziehungen zwischen dem Knoten 1 und den Knoten, mit denen er verbunden ist.
... ist, dass ich eine Funktion oder Methode brauche, um einen bestimmten Knotenpfad in sql zu finden.
Ich möchte eine Funktion wie SELECT getGraphPath (startnode, targetnode) aufrufen und dies wird den Pfad in jeder Form (Zeilen oder Strings) anzeigen
z.B. SELECT getGraphPath (1,18) ergibt:
%Vor%oder sogar Zeilen:
%Vor%Ich würde auch gerne wissen, wie man das Diagramm durchsucht, indem man die erste Suche und die erste Tiefensuche verwendet.
In etwa so:
%Vor%(erfordert PostgreSQL 8.4 oder höher)
SQL ist nicht am besten geeignet, um Graphen zu manipulieren und Pfade zu finden. Sie sollten das Diagramm wahrscheinlich besser in eine prozedurale Sprache laden und den Floyd-Warshall-Algorithmus oder Johnsons Algorithmus , um einen Pfad zwischen Knoten zu finden.
Wenn Sie jedoch wirklich SQL verwenden müssen, schlage ich vor, dass Sie eine Kopie von Joe Celkos SQL for Smarties abholen > In SQL steht ein ganzes Kapitel zu Graphen.
Tags und Links sql postgresql path graph traversal