How do I go about managing projects when there are two fundamental relationships that need to be maintained?  The most obvious example that I can think of would be a firm doing some kind of location-based consulting.I've been wracking my brain on how to explain this, in essence, this is the bullet point version:Each client that has multiple locationsThere are several projects that relate to specific client locationsThere are deliverables for these projectsEach deliverable my only relate to a few locations the project is linked toThe system seems to break down when you overlay these two main relationships; a client with multiple locations which have projects assigned to them, and deliverables that link back to individual locations.  You just end up with too many many-to-many relationships that are difficult to manage.  The problem is then visualizing this in a system.  You have a client record with location sub-records.  Each location record has many project records associated with it.  Each Project record has deliverable records, and then those deliverables relate to specific loations.I realize that this seems a bit estoeric, but is there a way to simplify this so that it is visually understandable?
How do I manage multiple relationships from a software design perspective?
database design;entity