Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Löschen eines Datensatzes mit allen Verküpfungen

Begonnen von pahiti78, August 14, 2014, 15:27:18

⏪ vorheriges - nächstes ⏩

pahiti78

Hallo,
ich habe drei Tabellen:
tbl_Mitarbeiter
tbl_Telefonnummern
tbl_link_Mitarbeiter_Telefonnummer

In der Linktabelle werden die Schlüssel der beiden anderen Tabellen gespeichert. Verküpft sind alle Tabellen mit referentieller Integrität. Lösch- und Aktualisierungsweitergaben sind ebenfalls aktiviert.

Mein Problem ist, wenn ich ein Telefondatensatz löschen möchte, soll der entsprechende Datensatz Mitarbeiter weiterhin bestehen. Es soll also nur in der Tabelle tbl_Telefonnummern und tbl_link_Mitarbeiter_Telefon gelöscht werden. Das klappt auch so.

Wenn ich allerdings einen MitarbeiterDatensatz lösche, sollen alle entsprechenden Datensätze in der tbl_link_Mitarbeiter_Telefon und auch der Datensatz der Telefonnummer (in Tabelle tbl_telefonnumer) gelöscht werden.

Meine ursprüngliche Idee ist sämtliche Löschabfragen zu erstellen. Das scheint mir zu aufwendig und auch zu risikolastig. Wie kann ich so etwas sonst umsetzen?
Danke :)
Gruß
Matze

Wurliwurm

Wenn Du mit Löschweitergabe einen Mitarbeiter löscht, müßten die Einträge aus link_Mitarbeiter_Telefon gelöscht werden. Die Telefonnummern bleiben stehen. Das soll ja auch so sein, weil die Telefonnummern in deinem Datenmodell eine eigene Entität haben (genauso wie die Kinder nicht sterben, wenn die Eltern sterben).

Du modellierst offensichtlich eine M:N beziehung in der link-Tabelle. Das heißt, das eine Telefonnummer auch mehreren Mitarbeitern zugeordnet werden kann. Das ist m.E. nicht sinnvoll. Die dritte Tabelle mit den Telefonnummern braucht es m.E. nicht.

Wurliwurm

#2
<gelöscht<

falscher Threat

Df6gl, Moderator