PostgreSQL разных типов данных в одном столбце - PullRequest
0 голосов
/ 14 марта 2020

У меня есть база данных, которая содержит 2 таблицы - тесты и вопросы (для этих тестов). enter image description here

В таблице вопросов есть столбец с именем right_answer , который может быть массивом строк или одной строкой . enter image description here

Итак, мне интересно, каков наилучший подход для хранения данных в этом случае? Должен ли я иметь несколько таблиц вопросов для каждого типа ответа или есть какой-то другой способ?

Может быть, я могу как-то сохранить свою right_answer, используя только одну таблицу?

1 Ответ

2 голосов
/ 14 марта 2020

Правильно нормализованная модель всегда должна быть вашим первым подходом:

create table questions
(
  id       integer generated always as identity primary key,
  type     text not null,
  test_id  bigint references tests
);

create table answers
(
  id               integer generated always as identity primary key,
  question_id      integer not null references questions,
  answer           text not null,
  is_right_answer  boolean not null
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...