My database has four categories of contacts: customers, vendors, general contacts and employees, each stored in a separate table. I need advice on the most powerful method of managing addresses, some of which are US and some are foreign countries. Is there a benefit to using dedicated table just for addresses or should I include addresses in each table. How can I best accommodate addresses from different countries? How can I implement a zip code lookup?