I've to create a DB structure which involves users, contacts, organizations and vendors. To break it down:
We have a system with users (employees who use the the system). then these users add contacts, organizations and vendors. Now, contacts and organizations are both go as one type: CONTACTS.. vendors, on the other hand is a provider.
Now, all this guys share same information to one degree (First name, last name, address, phone number, email, website). So my question is should I use:
1) one table for all of them with specific column specifying that its a user, contact or organization or a vendor. And according to that just leave some fields empty. and on user end just hide the according rows.
Thoughts: pros: One table which will be ease to integrate with other stuff; cons: to much columns.
2) separate all of them to respectful tables. Now, this data will be also used with other tables (orders, services etc). so cons: too much tables and too much duplicate connections.
So, what would be a suggestion here? I read that most systems, aka CRMs use one table for all contacts and just separate the data by certain columns and hide the rows accordingly..
Thanks in advance..