Tabelleeinträge füllen

Prinzipiell ist dagegen nichts einzuwenden. Aber bedenke: Im Falle einer Prüfung durch z.B. FA oder im Falle einer Verfolgung eines kriminellen Delikts müsstest du die vollständige Korrespondenz wiederherstellen können.
 
Welchen Sinn hat es, die IDs noch zu behalten und alles andere zu löschen? => Keinen. Bei Abfragen, in denen etwas mit einer gelöschten UserID verknüpft wird, musst du das eben erkennen und dann entsprechend verarbeiten.
Ich würde es ähnlich wie saftmeister handhaben (Spalte status/active/whatever mit 1 oder 0) und mich mal schlaumachen, wie lange du die daten gesetzlich noch speichern musst/darfst. Danach kann das alles weg.
 
Welchen Sinn hat es, die IDs noch zu behalten und alles andere zu löschen? => Keinen. Bei Abfragen, in denen etwas mit einer gelöschten UserID verknüpft wird, musst du das eben erkennen und dann entsprechend verarbeiten.

Wenn die UserID aber als Fremdschlüssel gekennzeichnet ist (was eine bevorzugte Vorgehensweise ist), kann man die Datensätze eben nicht einfach löschen, da ein Fremdschlüssel eine Abhängigkeit ist. Damit würde man die referenzielle Integretität auflösen und es gäbe Chaos in der Datenbank. Deshalb verbietet ein RDBMS wie MySQL das löschen von Datensätzen, wenn ein ein Schlüssel als Referenz in einer anderen Tabelle verwendet wird.

Also müsste man das Datenbank-Design von vorn herein darauf auslegen, Datensätze löschen zu können, auf die referenziert wird. Damit wäre die Normalisierung nicht erfüllbar.
 
Aber in einer User-Tabelle sollte doch von vorherein an eine Möglichkeit wie das Löschen gedacht werden bzw. sollte das auch ohne Weiteres möglich sein. Schließlich hat der user ja immer das gute recht, seinen Account zu löschen (wobei der trend ja tatsächlich zum "Deativieren" geht, siehe FB). Ich denke auch nicht, dass es da rechtkonform ist, alle Daten des gelöschten Users eifnach zu behalten, aber ebensowenig halte ich es für eine sinnvolle vorgehensweise alles außer der ID aus der Tabelle rauszulöschen.
Da es sich hier ja um eine relativ häufig anzutreffende Abhängigkeit handelt (fast in jeder Applikation gibt es wohl eine tabelle "user" und andere tabellen mit referenzen auf eben jenige), würdeich mal gerne wissen, wie soetwas normalerweise gelöst wird. Das mit den "leeren" Datensätzen kann man aj wohl kaum als Best practice bezeichnen.
 
Prinzipiell ist das hier mal eine Anlaufstelle zum Thema: http://www.w3.org/TR/2012/NOTE-app-privacy-bp-20120703/

Soft Deletes sind kein Trend, das ist schon lange Usus. Nur seit FB ist es eben bekannt, das man es so machen kann/macht.

Es ist schlicht für die Implentierung einfacher, einen Soft-Delete einzubauen. Viel schlimmer wäre es, keine Fremdschlüssel zu verwenden und aus versehen Daten zu löschen, die an anderer Stelle Exceptions wegen "Foreign Key Constraint Violation" zu werfen.

Man muss als Web-Developer dafür Sorge tragen, das die Privatsphäre der Benutzer gewahrt bleibt und auf jeden Fall den Benutzer klar davon in Kenntnis setzen, das man dieses Vorgehen aus og. Gründen wählt.
 
Ja Danke für den Hinweis, habe mich nun ein bißchen schlauer gelesen.
Es macht diesbezüglich schon Sinn die Daten aufzubewahren etc.
Datenschutzerklärung muss halt wasserdicht sein.
 
Zurück