Вы не найдете недостатка в мнениях по этой теме. Многие люди выступают за наследование конкретной таблицы , где (как вы описываете в первом варианте) вы явно определяете данные в каждой таблице.
Учитывая ваше второе утверждение, я бы не рекомендовал бы этот шаблон. Я хотел бы пойти с идеей иметь «основную» таблицу, представляющую ваши родительские и вспомогательные таблицы, представляющие дочерние элементы. Возможно, вы захотите включить какой-либо идентификатор типа в вашу основную таблицу, чтобы указать, какой это тип сущности, но это может или не может быть необходимо. Как минимум, вам нужно что-то вроде ...
tableA
(
ID (primary),
A,
B,
C
)
tableB
(
ID (primary and foreign->table_A),
D
)
tableC
(
ID (primary and foreign->table_A),
E,
F
)