I don't know exactly what you're trying to do, here, but there is a good possibility that you've gone overboard with normalization! Related Tables are generally only needed if you have a One-to-Many relationship between the main Table and the related Table, with emphasis on the 'many!'
Your ADDRESS Table, for instance, would only be needed if one Person could have multiple Values for nr_local or nr_home. Otherwise, they should be included in the PERSON Table.
The KEEPSAKE Table would only be needed if one Person could possibly have one or more KEEPSAKES; otherwise, they, too, could be included in the PERSON Table.
Your join Tables, both PERSON_ADDRESS and KEEPSAKE_PERSON, are only necessary if you have Many-to-Many relationships. This would be, for instance, if both of these conditions are possible:
Otherwise KEEPSAKE_PERSON is simply not needed.
- One person can have multiple KEEPSAKES
- One KEEPSAKE can belong to One or More PERSONS.
The same thing holds true for the PERSON_ADDRESS Table. If one Person can have Multiple ADDRESSES and One ADDRESS can have Multiple PERSONS associated with it.
As I said to in my first sentence, I don't know exactly what you're doing here, and whether or not the above possible conditions are true.
Hope this helps!
The problem with making anything foolproof...is that fools are so darn ingenious!
All posts/responses based on Access 2003/2007