In our system, we need addresses for several things: Customers, Vendors, Claimants, Witnesses, Drivers, Loss Locations, Branch Offices, and a few more.
We did this for 2 reasons:
- To consolidate Address information and avoid having to make a new table every time
- In our application, we only need to make one form and require only one stored procedure to insert, update Address information
Since the Address information is many to 1, we keep all the foreign keys in the Addresses table. For example a Customer may have more than one location. A Claimant may have a home address and a work address.
So our table looks something like this:
For some reason, another department is critizing our design because we have too many Foreign Keys in one table. And saying it would be more intuitive that the FKs should be pointing to this table rather than being in this table.
Any thoughts or idea?