Правило следующее:
Если объекты действительно разные и будут действовать по-разному, независимо от того, насколько они похожи в реализации, вы должны поместить их в две разные таблицы.
Яблоки и апельсины.
Если объекты в любой точке сравниваются друг с другом в одном и том же контексте или в совокупности, то базовый класс сохраняется в одной таблице с кодоми сохраните подклассы в двух других таблицах, используя внешние ключи. *
«Отчет о фруктах» для яблок и апельсинов.Сколько у нас фруктов?Сколько плодов любого рода происходит из Калифорнии?
* Примечание: на самом деле существует много способов решения проблемы подклассов в базе данных.Дело не в том, какую стратегию вы используете, а в том, что вы рассматриваете их как общий супертип или нет.