We have entities like Customer, Broker, Company. These have different attributes and must be on different tables. But they can have common things, in our case Contact Info (entity->contact is one to many relationship). Whats the best way to do that. If there isnt a perfect design, what is best if the most important thing is to write the least code possible.
case 1: all entities have a 'common' auto-inc entityId ( they share the primary key , so you cant have a Customer with id=1 and a Company with id=1)
case 2: 'contact' stores information about what entity it refers to. (Customers, Companies, Brokers dont share primary key)
case 3: 3 contact tables, one for each of our entities.
There are more ways to connect those tables, and its a problem frequently occuring, i dont particularly like any solution, so help me decide.