Moin!
Pro Person und ConnectionType gibt es höchstens einen Datensatz (das wird durch eine entsprechende Bedingung sichergestellt).
Dann ist deine gesamte Mehrtabellenchose leider viel zu aufwendig, denn die Daten würden dann exakt in EINE Tabelle passen - naja, zumindest dann, wenn nicht ständig neue ConnectionTypes hinzukommen. Der Witz deiner Aufteilung ist doch gerade, dass man auf diese Weise für eine Person beliebig viele Telefonnummern speichern könnte.
Das klappt soweit, jedoch gibt es keine Datensätze, wenn die Person beispielsweise kein Fax hat (Person3).
Wann immer es aufgrund von fehlenden Datensätzen zu NULL-Eintragungen kommen muß, sollte man die ganze Bandbreite von JOINs durchtesten. OUTER JOIN beispielsweise.
- Sven Rautenberg