Уже принят ответ, но я добавляю следующее для других людей, которые сталкиваются с этим вопросом. Обратите внимание, что это решение заметно отличается от указания подкласса в основной таблице.И на мой взгляд, это и проще, и гибче.
Ваш случай выглядит как пример шаблона проектирования, известного как «Специализация обобщения» (Gen-Spec для краткости).Шаблон gen-spec знаком для объектно-ориентированных программистов.Он описан в уроках по обучению наследованию и подклассам.
Дизайн таблиц SQL, которые реализуют шаблон gen-spec, может быть немного сложным.Учебники по дизайну баз данных часто затмевают эту тему.Но на практике это происходит снова и снова.
Если вы будете искать в Интернете «обобщение специализации реляционное моделирование», вы найдете несколько полезных статей, которые научат вас, как это сделать.Вам также будет несколько раз упомянуто эту тему на этом форуме ранее.
В статьях, как правило, показано, как создать единую таблицу для сбора всех обобщенных данных и одну специализированную таблицу для каждого подкласса, которыйбудет содержать все данные, относящиеся к этому подклассу.Интересная часть включает в себя первичный ключ для таблиц подклассов.Вы не будете использовать функцию автонумерации СУБД для заполнения первичного ключа подкласса.Вместо этого вы запрограммируете приложение на распространение значения первичного ключа, полученного для обобщенной таблицы, в соответствующую таблицу подклассов.
Это создает двустороннюю связь между обобщенными данными и специализированными данными.Простое представление для каждого специализированного подкласса будет собирать обобщенные и специализированные данные вместе.Это легко, когда вы освоите его, и он работает довольно хорошо.