I'm sorry to say this Jack, but I don't think your model is correct at all. To name just a few key points.
- You create relationships on non-key fields. If you have a customer table with, for example, CustID as the key, you include CustID as the foreign key in linked tables and link the tables on those fields.
- CustID, FirstName, and LastName appear in all tables. The names should only appear in the customer table.
- Relationships represent real-world logic. For example: a customer has one or more requirements. The logic behind the relationships that run via the street name is completely unclear (to me).
- You should create relationships between the main table (customer) and the related tables, not between the related tables themselves.
Based on these point a made this demo model:
View attachment 123069
But I still have some doubts. Specifically, whether there really is a one-to-many relationship.
Can a customer have multiple CODs?
And can a customer have multiple addresses?
I also doubt the need to distinguish between commercial and residential. There's only one field difference.
Do you need notes in all tables?