Auch von mir erstmal ein paar Anmerkungen:
1. Namen mit ID's kommt mir sehr komisch vor. Warum benutzt du 4 Tabellen wo eine reichen würde? Zudem wird GivennameID nicht benutzt;
das Feld Names.Givenname ist ja VARCHAR. Eine 1:n oder n:m Beziehung sehe ich nämlich nirgends. (Sag mit bitte nicht sowas wie
"In dem Varchar Feld steht eine Liste von kommagetrennten ID's")
1a) Da du gerade
sowas wie Normalisierung ansprichst: Die doppelten Einträge würde ich bei Namen tatsächlich in Kauf nehmen.
Jede Person hat in der Regel nur einen Namen, wenn zwei den gleichen Namen haben haben sie sonst meist wenig am Hut.
Und wenn sich der eine Name ändert, dann heißt die andere Person noch genau so wie vorher.
2. Du verwechselst da was:
Zitat:
Die Eine listet alle vorhandenen Nachnamen (Givennames)
Nachname auf Englisch ist "surname", "last name" oder "family name".
Vorname wird mit "first name", "given name" oder "forename" übersetzt. Also entweder hast du das in deinem Post durcheinandergebracht
oder ich würde ein kleine Umbenennungsaktion vorschlagen
3. Du joinst zwei Tabellen ohne eine Bedingung zwischen diesen beiden anzugeben, das ist .... ungewöhnlich