Mailinglisten-Archive |
Hallo Ralf, > Sorry, ich muss ehrlich sagen, dass ich dir nicht ganz folgen kann. Ich > weiss ja, ich mehrere Äste habe. Die Frage zielt aber darauf ab, wie ich > dies in eine geeignete Datenstruktur übernehmen kann, da mein bisheriges > Nested Set Modell bei dieser Anforderung an seine Grenzen stösst. ich würde die Struktur andersherum aufziehen. Derzeit operierst du von der Wurzel aus und definierst rechte/linke Nachfolger. Ich würde jedoch bei den atomaren Werten beginnen (unten) und jeweils den Vorgänger angeben. So werden Baumstrukturen normalerweise abgebildet. Die für dich interessante Erweiterung des Ansatzes ist einfach, dass du mehr als einen Vorgänger angeben kannst. Vgl. Mehrfachvererbung. Tabellenlayout z.B.: TEXTE(_ID_, TEXT) -- ID ist Primärschlüssel BEZIEHUNGEN(_IDTEXT_, _IDPARENT_) -- IDKombination ist Primärschlüssel Wenn du einen Text mehreren Knoten unterordnen willst, dann schreib einfach mehrere Einträge in die Beziehungstabelle... Das Selektieren einer ganzen Ebene ist dann auch recht schnell, indem du alle IDs aus der Beziehungstabelle holst, deren ParentID soundso ist. Ich habe mir dieser Standardstruktur schon recht große Bäume bearbeitet und hatte nie Performanceprobleme... Grüße, Niels
php::bar PHP Wiki - Listenarchive