dedlfix: Warum Nested Sets?

Beitrag lesen

Hi!

Das was mir wirklich Sorge bereitet ist eher, ob und wie ich meine Strktur im Backend um lft und rgt erweitern und die Werte darin initial richtig setzen und bei Veränderung der Struktur ändern kann.

Das finde ich keine gute Idee. Stattdessen würde ich für die Änderungsvorgänge Stored Procedures erstellen. Left und Right sind Werte, die im Prinzip nur das DBMS braucht, um das Nested-Sets-Muster zu realisieren. In der Anwendung würde ich sie nicht weiter rumschleppen als bis kurz nach der Abfrage, wenn die Daten in eine für die Anwendung brauchbare Struktur gebracht wurden.

ich verstehe Dich schon wieder nicht ;)

Was genau meintest du jetzt mit Backend? Das DBMS von PHP aus gesehen oder vom Anwender aus gesehen alles was im Server abläuft. Ich hatte letzteres im Sinne und nahm an, du meintest das Left-Right auch noch in den PHP-Strukturen abbilden zu wollen. Kannst du nun meine Antwort besser einsortieren und vielleicht auch als unbegründete Befürchtung abtun?

Diese Baumstruktur soll nun zukünftig anders abgebildet werden. Von daher müssen die entsprechenden Informationen, die für die neu Abbildung  der Struktur benötigt werden irgendwie inititial erstellt und im Weiteren aktuell gehalten werden.

Ja, das ist ein einmaliger Prozess. Wenn die Daten nicht zu viele sind, kann man das ja per Hand machen. Aber ich vermute, wenn du noch nicht selbst auf die Idee gekommen bist, oder sie bereits abgewiesen hast, dass es mehr sind.

Wie auch immer man das macht.

Ich würde zunächst die Verwaltungsroutinen schreiben, also "Datensatz als neues Kind anhängen" und "Datensatz als Geschwist einfügen" - egal ob als mehrere von PHP abgesendete Statements oder als Stored Procedure. Wenn die zur Zufriedenheit laufen, dann schriebe ich mir eine kleine Routine, die die Einsortiererei mit eben diesen Funktionen vornimmt.

Lo!