Speicherung von Bäumen
Das speichern von Baumstrukturen in einer relationalen Datenbank kann man mit verschiedenen Methoden bewerkstelligen. Einige davon sind sehr einfach, aber bei großen Datenmengen nicht sehr effizient und für einige Arten von Bäumen nicht einmal geeignet. Einige Methoden sind hingegen sehr effizient, es gestaltet sich aber etwas komplizierter wenn man den Baum dann manipulieren will. Dafür muss man in den meisten Fällen den kompletten Baum in der Datenbank neu organisieren.
Folgende Methoden gibt es
- Parent ID Tree – normaler Baum mit Eltern und Kinter Hirachiesch
- Adjacency List Model – Beispiel
- Edge List
- Nested Sets
Vor- und Nachteile der beiden Methoden
Hier einige gute Atikel dazu:
Parent ID Tree / Adjacency List Model / Edge list
Weblinks
Nested Sets
Die Speicherung und Organisation eines Nested Sets Baum sowie die Darstellung kann sich als sehr kompliziert herausstellen. Besonders bei der Ausgabe von geschachtelten Strukturen wie z.B. UL/LI-Listen.
Weblinks zu Nested Sets Trees
- Nested Sets – Artikel von Arne Klempert in deutsch
- Artikel zum Thema Nested Sets
- Artikel zum Thema auf traum-projekt.de
- Workshop NestedSets
Allgemein über Bäume in Mysql
Etwas zur Performance
Begriffe
- Root – Wurzel
- Leaf – Blatt
- Branch – Zweig
- Node – Knoten
- Ancestry – Vorfahre
- Descendant – Nachfahre
- Parent – Eltern
- Child – Kind
- Siblings – Geschwister
- Path – Pfad über die Knoten
Weblinks Allgemein
- navigation TreeDec
- TreeDec Beispiel
- Trees and Other Hierarchies in MySQL
- Wikipedia: Baum (Graphentheorie)
- Wikipedia: Balancierter Baum
- Wikipedia: Nested Sets
- Wikipedia: Kategorie: Datenstrukturen
- nls tree – Treecontrol Script