Hallo Claus,
Was ist das jetzt? Von den beiden Tabellen war doch bis jetzt überhaupt keine
Rede. Das ist doch ein ganz anderer Teil des Models. Es ging um die Beziehung
von Kunden zu Adressen. Und das ist doch ganz einfach, -
1. ein Kunde hat mehrere Adressen -> 1:n (Kunde ist FK in Adresse, Adresse ist
nur für diesen einen Kunden gültig)
2. ein Kunde hat weiterhin mehrere Adressen, eine Adresse ist aber für mehrere
Kunden gültig -> n:m (Kunde
und Adresse sind FK in dieser). Es liegen dann
zwei 1:n Beziehungen an dieser Tabelle.
Beim Löschen mit Löschweitergabe passiert Folgendes:
Bei 1. Beim Löschen eines Kunden werden auch alle Adressen des Kunden mit
gelöscht. Das Löschen einer Adresse hat keine weitere Auswirkung. Ausser die
gibt es noch als FK in anderen Tabellen. Aber dann dürfte der Kunde eh nicht
gelöscht werden.
Bei 2.
- Kunde wird gelöscht -> alle Einträge des Kunden werden auch in der n:m
gelöscht, die Adressen an sich bleiben aber erhalten
- Adresse wird gelöscht -> hier jetzt werden alle Einträge der Adresse in der
n:m gelöscht, die Kunden die das betrifft bleiben erhalten.
- In der n:m kannst du beliebige Zuordnungen (Kunde/Adresse) löschen ohne
Nebenwirkungen (Arzt und Apotheker also nicht gefragt).
Zum Löschen von DS an sich; - das macht man normal gar nicht. Besser ist es
m.E. ein Datumfeld mitzuführen, in das man statt löschen eben ein Datum
schreibt. Das Auswählen/Anzeigen nur der aktiven DS erfolgt dann über ein
Kriterium
- Code: Alles auswählen
… WHERE LoeschDatum Is Null
gruss ekkehard