Ich habe eine data driven
ASP
Anwendung. Und wie die meisten data driven
Anwendungen habe ich eine Users
Tabelle und ein CreatedBy
Feld in den meisten Tabellen.Benutzer Tabelle mit anderen Entitäten/Tabellen verknüpfen
Ich versuche, eine DeleteUserFunction
in meiner Anwendung zu erstellen. Bevor ich einen Benutzer lösche, muss ich jede einzelne Tabelle überprüfen, um festzustellen, ob dieser Benutzer Datensätze erstellt hat.
Durch den Aufbau von Beziehungen zwischen der Tabelle users
und den übrigen Datenbanktabellen kann die DeleteUserFunction
einfacher validiert werden.
Daher versuche ich herauszufinden, ob eine users-Tabelle explizit mit anderen Tabellen verknüpft werden muss (über Fremdschlüssel constaints) oder in der Geschäftslogik der Anwendung behandelt werden muss.
Um Ihre Frage zu klären, wenn ein Benutzer nur Option 1 gelöscht wird, gilt wie oben: '1 Benutzer kann nicht gelöscht werden, wenn mit ihr verknüpfte Datensätze vorhanden sind. Option 2.1 macht nicht wirklich, da es keine gibt Möglichkeit herauszufinden, wem die ID gehört. – JustLearning
Okay, wahrscheinlich wird es Ihren Benutzern gefallen, dass Ihnen gesagt wird, ob das Löschen möglich ist, bevor Sie auf Löschen klicken und eine Nachricht erhalten, dass sie dies nicht tun sollten. Dies kann nur über die Anwendungslogik erfolgen, da Sie die Löschschaltfläche vor jeder Benutzeraktion ausblenden oder ungültig machen müssen. Sie möchten das Löschen in der Datenbank nicht auslösen (Auslösen der Fremdschlüsselausnahme), nur um dies zu tun. Dies erfordert eine Anwendungsfunktion, die die Datenbank nach vorhandenen Datensätzen für diesen Benutzer abfragt. – TAM