Полиморфизм в базе данных, как организовать таблицы?
Ну можно ориентироваться на contragent_type - который определит как минимум 3 сущности: организация (юрлицо), человек (физлицо) и ИП (физлицо с элементами организации), плюс с недавнего времени еще подветочка ИП - самозанятый. В таком ключе - seller - это всегда contragent, а вот в зависимости от contragent_type - в рамках контрагента - уже несколько пересекающихся сущностей. Притом организация - будет включать в себя как минимум кучку персон (директор, бухгалтер, контактные лица, ответственные, подписанты и т.п.). Притом в силу существующих реалий множественности компаний - одно и то же лицо может фигурировать и как фл и как контактная персона в нескольких компаниях и как директор-бухгалтер в еще нескольких...
Разделяйте ответственности
OrganisationSeller и PersonSeller могут наследоваться от Seller 
и для реализации такого можно реализовать такой паттерн Single Table Inheritance

А вот обычные Organisation и Person связывайте с абстрактным Seller через обычную связь. Конкретные наследники будут лежать в зависимости от типа

Итого будет так:
(OrganisationSeller extends Seller) будет объектом  Organisation.seller

Готовые решения:

Если вы работаете с Php и Doctrine: Single Table Inheritance
Если вы работает с Java  и JPA/Hibernate: Single Table Inheritance
