Мне нужно спроектировать таблицу базы данных для моей анкеты.Я использую Postgres DB.Более ранний подход, который я использовал, был приведен ниже, так как мой номер вопроса был фиксирован, и требовалось, чтобы один вопрос мог иметь только один ответ.
id submit_by_id q-1 q-2 q-3
1 12 a b c
2 12 a b c
3 11 a b c
, но позже требование изменилось и один ответможет иметь несколько ответов.Я не хочу сохранять ответ в формате JSON, поскольку мне приходится выполнять операции поиска, фильтрации и сортировки.Проблема с вышеупомянутым дизайном заключается в том, что если вы хотите сохранить несколько ответов, вы должны повторить избыточную информацию.например
id submit_by_id q-1 q-2 q-3
1 12 a b c
2 12 a b c
3 11 a b c
4 12 d b c
, чтобы решить эту проблему, я разработал две отдельные таблицы
таблица вопросов
id question
1 xyz
2 abc
3 cda
таблица ответов
id submit_by_id question_id answer
1 12 1 espn
2 12 1 star
3 11 2 xyz
4 11 3 abc
Таким образом, количество повторяющейся информации может быть меньше.Итак, вопрос в том, как получить коллективный ответ из запроса.Я хочу отправить ответ как
[{q1:[a,c]}, {q2:[a]}]
Или есть ли лучший способ сделать это.