У меня есть два класса данных, которые мне нужно хранить в базе данных PostgreSQL. Один - это запрос, а другой - ответ. Запросы состоят из некоторых метаданных и набора заказов. Ответ состоит из некоторых других метаданных и той же группы заказов, но с несколькими дополнительными полями. Соотношение в коде OO выглядит примерно так:
![enter image description here](https://i.stack.imgur.com/O29bh.png)
, и (сокращенное) представление данных таблиц может выглядеть следующим образом
![enter image description here](https://i.stack.imgur.com/kV2WD.png)
Я хотел бы создать общую Order
-таблицу, поскольку поля 14/16 одинаковы, а остальные просто отсутствуют. Затем я создал бы таблицу Request
и таблицу Response
и сохранил бы ограничение внешнего ключа между * и 1018 * и Request
или Response
. Однако это будет означать, что моей таблице Order
нужны два столбца, в которых заполняется только один.
Является ли это "каноническим способом" (если такой способ вообще существует) для поддержания такой ссылки на общего потомка таблица