Moin Moin!
Je nach Anwendungsfall würde ich einen ehemaligen Kunden nicht mal löschen, sondern ihn nur als ehemalig kennzeichnen, seine Daten aber im System belassen.
Richtig, deswegen machen meine Anwendungen beim Lösch-Kommando meistens nur ein "UPDATE ... SET deleted=true WHERE id=?" statt eines "DELETE FROM ... WHERE id=?"
Das hat auch den großen Vorteil, dass man sich beim versehentlichen Löschen nicht gleich ein großes Loch in den Fuß schießt. Das Feature hat schon so manchem armen Praktikanten beim Kunden den Ar... gerettet.
Nicht, dass die jeweiligen Administratoren sofort gesagt hätten, dass das nicht weiter schlimm wäre. Wer trotz Sicherheitsabfragen größere Datenmengen rekursiv löscht, muß erstmal kräftig bibbern und bluten: "Ich weiß nicht, ob wir davon ein Backup haben. Wahrscheinlich werden Sie die 150.000 Datensätze ihrer Kollegen neu erfassen und eingeben müssen. Haben sie zufällig Koffein-Tabletten dabei? Die Daten müssen morgen früh im System sein, sonst stimmen die Auswertungen nicht, und die Chefetage läßt ein paar Köpfe rollen." Wenn der arme Tropf dann kurz vorm Heulkrampf war, hat man ihn in aller Regel darüber aufgeklärt, dass der Löschvorgang mit ein paar Klicks leicht rückgängig zu machen ist.
Ja, das ist gemein. Aber auf Dauer reduziert es den Undelete-Aufwand gewaltig. ;-)
Alexander
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".