Löschen relationaler DS

Hallo Gemeinde,
ich habe eine grundsätzliche Frage zum Löschen von Datensätzen. Der CRM legt ja keine Relationen im Datenbanksystem an. Somit kann es ja relativ leicht geschehen, das der Anwender Sätze löscht, die in Relation mit anderen Tabelle stehen, ohne das der SQL Server dies verhindert.
Wie sollte man hier ab besten vorgehen? Die Relationen in der DB selbst definieren oder bietet der CRM eine Art verriegelung an die ich noch nicht kenne?
Danke
Grüße
Boris Schaffrin

Hallo,

das Thema kann unter Referentieller Integrität zusammengefasst werden. Entweder sollte eine Einschränkung im cRM auf Userebene durchgeführt werden, oder entsprechende Sperren in der Datenbank aufgebaut werden. Dazu hilfreich ist on delete restrict - welches das Löschen bei vorhandenen abhängigen Daten verhindert und on delete cascade - welches auch die referenzierten Datensätze löscht.

Was man einsetzt und wie man das tut, hängt vom jeweiligen Fall (Datenbankdesign,Solutiondesign) und auch den Usern ab.

Die sicherste (und aufwändigste) Methode ist es, die Relationen im DB-Design darzustellen und on delete Restrict bzw. cascade wohlüberlegt einzusetzen. Und immer schön Backups machen :wink:

Hallo Gemeinde,
ich habe eine grundsätzliche Frage zum Löschen von Datensätzen. Der CRM legt ja keine Relationen im Datenbanksystem an. Somit kann es ja relativ leicht geschehen, das der Anwender Sätze löscht, die in Relation mit anderen Tabelle stehen, ohne das der SQL Server dies verhindert.
Wie sollte man hier ab besten vorgehen? Die Relationen in der DB selbst definieren oder bietet der CRM eine Art verriegelung an die ich noch nicht kenne?
Danke
Grüße
Boris Schaffrin

Hallo Andreas,
danke für die Antwort. Ich hatte es mir schon fast gedacht das es da keine andere Lösung gibt.
lg
Boris

Hallo,

das Thema kann unter Referentieller Integrität zusammengefasst werden. Entweder sollte eine Einschränkung im cRM auf Userebene durchgeführt werden, oder entsprechende Sperren in der Datenbank aufgebaut werden. Dazu hilfreich ist on delete restrict - welches das Löschen bei vorhandenen abhängigen Daten verhindert und on delete cascade - welches auch die referenzierten Datensätze löscht.

Was man einsetzt und wie man das tut, hängt vom jeweiligen Fall (Datenbankdesign,Solutiondesign) und auch den Usern ab.

Die sicherste (und aufwändigste) Methode ist es, die Relationen im DB-Design darzustellen und on delete Restrict bzw. cascade wohlüberlegt einzusetzen. Und immer schön Backups machen :wink:

Hallo Gemeinde,
ich habe eine grundsätzliche Frage zum Löschen von Datensätzen. Der CRM legt ja keine Relationen im Datenbanksystem an. Somit kann es ja relativ leicht geschehen, das der Anwender Sätze löscht, die in Relation mit anderen Tabelle stehen, ohne das der SQL Server dies verhindert.
Wie sollte man hier ab besten vorgehen? Die Relationen in der DB selbst definieren oder bietet der CRM eine Art verriegelung an die ich noch nicht kenne?
Danke
Grüße
Boris Schaffrin