echo $begrüßung;
Wenn ich einen Datensatz in ein Nested Set einfüge, ist klar, dass ich diesen und alle abhängigen neu indiziere.
Genauer gesagt: die L(inks)- und/oder R(echts)-Werte einer Vielzahl von Blättern und Astgabeln.
Ist das bei einem Löschvorgang auch zwingend nötig oder funktioniert mein Nested Set trotzdem zuverlässig?
Das kann man so pauschal nicht sagen. Es gibt ja eine Menge Formulierungen, um ganz bestimmte Ergebnisse zu bekommen. Einige davon orientieren sich am Verhältnis von L- zu R-Wert. Wenn R=L+1 ist, hast du ein Blatt vorliegen, wenn du R > L+1 ist, dann gibt es darunter[*] weitere Blätter und vielleicht auch Astgabeln. Wenn du wegen $grund die L-R-Anpassung weglässt, kannst du solche Abfragen nicht mehr verwenden. Andere werden hingegen problemlos laufen.
Auch MySQL ist mittlerweile in der Lage, komplexe Vorgänge, wie sie für das Ändern von Nestes Sets erforderlich sind, nach außen hin atomar zu gestalten. Man muss sich dafür "nur" Stored Procedures/Functions erstellen. Einsparungen ergeben sich dann, dass man nicht mindestens 4 Statements [**] einzeln absetzen muss und dabei jedes Mal den Roundtrip zwischen DBMS und Client abzuwarten hat.
[*] oder darin, je nach Betrachtungsweise (Baum oder verschachtelte Mengen)
[**] Exklusiv-Sperre einlegen, Änderung ausführen, Neunummerieren (braucht meist zwei Statements), Sperre aufheben.
echo "$verabschiedung $name";