Два отношения «один ко многим», где таблица «многие» одинакова - PullRequest
1 голос
/ 27 февраля 2020

У меня есть два класса данных, которые мне нужно хранить в базе данных PostgreSQL. Один - это запрос, а другой - ответ. Запросы состоят из некоторых метаданных и набора заказов. Ответ состоит из некоторых других метаданных и той же группы заказов, но с несколькими дополнительными полями. Соотношение в коде OO выглядит примерно так:

enter image description here

, и (сокращенное) представление данных таблиц может выглядеть следующим образом

enter image description here

Я хотел бы создать общую Order -таблицу, поскольку поля 14/16 одинаковы, а остальные просто отсутствуют. Затем я создал бы таблицу Request и таблицу Response и сохранил бы ограничение внешнего ключа между * и 1018 * и Request или Response. Однако это будет означать, что моей таблице Order нужны два столбца, в которых заполняется только один.

Является ли это "каноническим способом" (если такой способ вообще существует) для поддержания такой ссылки на общего потомка таблица

...