Ich schreibe gerade ein Steuerelement (in C #) für die Anzeige einer Reihe von Tabellen und die Beziehungen, die zwischen ihnen bestehen. Ich habe die Grundkontrolle erledigt, möchte aber etwas Ähnliches implementieren wie die "Auto-Arrange" -Funktion der Diagrammkomponente von SQL Express.
Welche Art von Algorithmus folgt, um das optimale Layout von Tabellen zu identifizieren? Das heißt, ein Algorithmus, der alle "Beziehungspfade" berücksichtigt und ein Layout entwirft, in dem die Tabellen ohne viel Unordnung angeordnet werden können.
Schaue dir Graphviz an. Auch wenn Sie es nicht als Abhängigkeit verwenden können, hat es viel Dokumentation über die verwendeten Algorithmen.
Sehen Sie sich Graph-Layout-Algorithmen an, insbesondere "orthogonales Layout". Laut Wikipedia ist dies ein "Layout mit Kanten, die horizontal oder vertikal verlaufen, mit Ansätzen, die die Anzahl der Kantenübergänge und den abgedeckten Bereich reduzieren."
Tags und Links algorithm graph diagramming