Thema: Eigenartige Verknüpfungen abbilden
Sagt mal, wie bildet man eigentlich Verknüpfungen ab, die sich auf eine Entität entweder der einen Entitätsmenge oder der anderen beziehen? Beispiel:
Ein Brief kann entweder an eine Privatperson oder an eine Firmenadresse geschickt worden sein. Wie verknüpfe ich nun die Serienbriefvorlage mit der jeweiligen Adresse. Klar, praktisch kann ich einfach der Verknüpfungstabelle zwei Felder geben 'privatadresse_id' und 'firmenadresse_id', wobei ich in der Applikation sicherstellen muss, dass nur eines der beiden Felder einen Wert erhält - aber ganz fein ist das ja nicht. Wie macht man sowas üblicherweise.
Und: Was, wenn eine Entitätsmenge mit einer anderen mehrfach verknüpft ist. Konkretes Beispiel: Einer Kursanmeldung werden jeweils kein oder ein Anmeldebestätigungsschreiben, Zahlungserinnerung, 1. und 2. Mahnung zugeordnet.
Bilsang hab ich vor, alle Briefe und Mails, die durch das System rausgegangen sind in einer Tabelle 'brief' zu halten, die jeweils das Datum, den Bearbeiter, je eine Verknüpfung mit der verwendeten Vorlage, dem angeschriebenen Haushalt und/oder der angeschriebenen Person, sowie den in die Vorlage tatsächlich eingesetzten Adressdaten enthalten.
In den Kursanmeldungen würde ich dann einfach ein Feld 'bestaetigungsschreiben_ID', 'zahlungserinnerung_id' usw. einrichten, die jeweils auf die Tabelle 'brief' zeigt.
Ist das der übliche Weg? Ganz sauber scheint mir das ja nicht zu sein - zumindest hab ich noch kein ERM mit derartigen Verknüpfungen gesehen.
Basti