Дизайн базы данных: удерживать значения дважды? - PullRequest
1 голос
/ 18 апреля 2011

Я должен разработать систему анкет. Мы много обсуждали вместе, в том числе, как хранить ответы и как хранить возможные ответы. Теперь, я только что сдался своему коллеге, хотя я не согласен. Я просто хочу узнать ваше мнение об этом и почему. Для меня это просто очень плохая идея - хранить одну и ту же информацию дважды:

У нас есть таблица question_answer, которая просто содержит идентификатор вопроса и ответ TEXT. В другой таблице мы храним ответы, также с полем TEXT.

Моя идея состояла в том, чтобы просто связать возможный ответ с таблицей ответов по идентификатору, и если бы это был какой-то другой ответ, например открытый вопрос, я бы поместил его в необязательное текстовое поле ...

1 Ответ

2 голосов
/ 18 апреля 2011

Я бы, вероятно, начал со таблицы, в которой будет храниться наибольшее количество данных - которые в этом случае, вероятно, будут ответами на опрос, которые связывают вопросы с ответами на данное интервью (которое я только что смоделировал как пару респондентов). и представитель внешних ключей).

Таблица Surveys связывает вопросы со стандартными ответами. Я поместил необязательные ответы в таблицу «Ответы», но вместо этого они могут перейти в таблицу «Ответы» (или это может быть представление «Стандартные ответы плюс дополнительные таблицы ответов», как вам удобнее).

Questionnaire Schema

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...