Sorry für den dämlichen Titel.
Ich hab eine Webanwendung programmiert die eine Baumstruktur darstellen soll.
Zum Zeichnen des Baumes verwende ich das Infovis Toolkit.
Es sollen maximal zwei Ebenen gleichzeitig angezeigt werden, der Rest soll dynamisch nachgeladen werden. Jeder Knoten soll "wissen", wie viele Kinder er hat, und vorallem wieviele Kinder er hat,die z.B. 3 weitere Kinder haben.
Außerdem soll es, und das stellt sich mir als das größte problem dar, eine Art Komplettansicht geben.
Wie kann ich effizient die komplette Datenbank abrufen und Darstellen?
Bin mittlerweile so weit:
Gespeichert wird alles in einer Adjazenzmatrix wobei jeder Knoten ein extra Feld in der DB hat mit der Anzahl der Kinder etc., eben so dass alles was errechnet werden soll direkt abrufbereit ist.
Ich bin mir absolut unsicher beim Datenbank Design und vorallem wann und wo ich die Berechnungen durchführen soll. Sind dafür SQL Trigger der richtige Ansatz?
MfG
Ankündigung
Einklappen
Keine Ankündigung bisher.
Richtiger Ansatz für Tree View + DB + Berechnungen
Einklappen
Neue Werbung 2019
Einklappen
X
-
Richtiger Ansatz für Tree View + DB + Berechnungen
Stichworte: -
-
Zitat von Robokopp Beitrag anzeigenIch hab eine Webanwendung programmiert die eine Baumstruktur darstellen soll.
Also muss das ganze auch ohne Javascript funktionieren können oder ist die Anwendung so ausgelegt das es wie eine Desktop Anwendung gesteuert werden soll?
-
Zitat von Robokopp Beitrag anzeigenDankeschön, hat mir weiter gehofen. Das Problem mit den Berechnungen hab ich noch nicht gelöst, aber speichern und laden on demand klappt einwandfrei
Einen Kommentar schreiben:
-
Dankeschön, hat mir weiter gehofen. Das Problem mit den Berechnungen hab ich noch nicht gelöst, aber speichern und laden on demand klappt einwandfrei
Einen Kommentar schreiben:
-
Vielleicht habe ich den Ansatz jetzt nicht richtig verstanden. Brauchst du dafür nicht eigentlich nur eine "parent_id" pro Datensatz? Das ist zumindest der Standardansatz für Baumstrukturen - jeder Datensatz weiss, wer der Elterndatensatz ist. Man kann dann auch via Foreign-Keys sicherstellen, dass es keine Waisen im Baum gibt (dafür muss die parent_id des Root-Datensatzes NULL sein können, um dir diese Hürde jetzt schon zu nehmen).
Dann hast du nachher nur noch SELECT-Statements like
Code:SELECT field, field... FROM table WHERE parent_id=<id from current node>
Einen Kommentar schreiben:
Einen Kommentar schreiben: