Parties and Facilities
It is common for systems to include Address as an attribute to describe the location of a Person, an Organization, or both. This is problematic, though, since many Parties have more than one address: home address, shipping address, and office address are common examples. Moreover, two or more Parties could be at the same address. For this reason, the address should, in fact, be a separate entity, with an intersect entity to allow for the fact that there is a many-to-many relationship between the two.
Figure 12-1: An Intersection
In Figure 12-2, the Address entity class is shown, with attributes Street Address, /City ...