Zitat von
Igotcha:
Und die Speicherung der Parent-ID pro Node bringt auch nichts, da dies eine 1:1-Beziehung ist. Aus diesem Grund habe ich das Beispiel oben gebildet: Beim Einfügen des Child_111 muss man eben nicht nur nach oben zu Root_1, sondern auch bei Child_12 nach unten gehen, um alle relevanten IDs zu ermitteln.
Also wenn man das so liest sagst Du eigentlich: "Egal wo ich was mache, es betrifft immer alle Knoten". Denn spätestens beim Rootnode sind die zugehörigen Childs nämlich alle.
Aber gehen wir mal davon aus, dass es so ist, wie Du Es im Beispiel gezeichnet hast: Hier wird die neue Berechtigung (07) nur auf dem Pfad hoch zum Rootnode gesetzt. Dir reicht also ParentNode vollkommen aus.
Sollte (obwohl es nicht eingezeichnet ist!) die Berechtigung 07 auch auf 12 und 121 gesetzt werden müssen, so kannst Du doch einfach für jeden Node den auf dem 'Hochweg' erwischst einfach alle Childnodes auch noch modifizieren. Das sind genau die Knoten, die den entsprechenden Node (in dem Fall 12) als Parent eingetragen haben (wie es bei 121 der Fall ist). Somit reicht Dir wieder ausschliesslich die Angabe des Parents.
Kurz gesagt: Über die Angabe des Parents bei jedem Node kannst Du jederzeit, von jeder Position aus, vollkommen frei durch den Baum navigieren und kannst immer jeden anderen Node im Baum erreichen.