Классическое моделирование ER не включает внешние ключи, и суть вашего вопроса заключается в том, как будут работать внешние ключи.Я думаю, что вы действительно делаете реляционное моделирование, даже если вы используете ER-диаграммы.
В терминах реляционного моделирования существует третий способ моделирования наследования.То есть использовать тот же идентификатор для специализированных таблиц, что и для обобщенной таблицы.Тогда поле идентификатора таблицы doc_internal является как первичным ключом для таблицы doc_internal, так и внешним ключом, ссылающимся на таблицу supply_farm.То же самое для таблицы doc_external.
Поле идентификатора в таблице supply_farm является как первичным ключом таблицы supply_farm, так и внешним ключом, который ссылается на таблицу doc_internal или doc_external, в зависимости.Соединения волшебным образом собирают правильные данные.
Требуется небольшое программирование, чтобы настроить это, но оно того стоит.
Для более подробной информации, я предлагаю вам Google "Обобщение реляционного моделирования специализации обобщения",В Интернете есть несколько отличных статей на эту тему.