Я бы посоветовал создавать отдельные таблицы для каждого типа сущности - в будущем будет намного легче поддерживать, когда вы обнаружите вещи, которые вы хотите добавить для одного типа сущности, которые не применяются к другим.Если все объекты (поставщики, клиенты и т. Д.) Будут иметь одинаковые поля, и единственное различие заключается в их типе, то теоретически можно использовать одну таблицу.Однако я ожидаю, что между типами сущностей будет достаточно различий, поэтому стоило бы создать отдельные таблицы для каждой из них.Если есть несколько общих полей (например, информация об адресе), вы можете создать таблицу для общих элементов и иметь внешний ключ в отдельных таблицах для таблицы с общими данными (например, AddressID).