I am trying to build an online business directory for a client (like a phone book). The information is simple - I have a list of several thousand businesses and their information (address, phone, etc), and a list of close to 400 categories (Auto parts, bookkeeping, etc).

The problem I have is how to assemble them into a database. Each category, of course, will contain a multiple number of businesses. The problem I'm running into is that some businesses are also listed in multiple categories (Business A is listed under categories 5, 10, and 16).

What would be the most efficient way to set up the database? I prefer to have each business listed only once, so that if information changes, or if they are added or removed from one or more categories, it will only have to be done once?

Thanks in advance,