Я ссылаюсь на сообщение о переполнении закрытого стека,
Дизайн базы данных для опроса
В верхнем ответе в посте содержится отличный обзор таблиц дляиспользовать для базы данных опроса, с хорошим представлением отношений таблицы. Мой вопрос связан с таблицами опросов, особенно таблицей, в которой хранятся записи опросов верхнего уровня. Для опросов, которые проводятся в указанные периоды (первоначальное обследование, через 6 месяцев, через 12 месяцев и т. Д.), Если в опросе нет разных вопросов и ответов (просто дубликат первоначального обследования), было бы более целесообразносоздайте разные опросы в таблице опроса верхнего уровня как разные записи опроса, или было бы лучше добавить поле в заполненной таблице опроса в качестве вторичного идентификатора.
Например, если опрос (назовем его "Оценка состояния здоровья ») проводится первоначальное обследование, а затем - через 6 месяцев, что будет лучшим решением:
- сделать две записи в таблице обследования -« Оценка состояния здоровья - начальная »и« Оценка состояния здоровья -6 месяцев », так что в заполненной таблице опросов идентификатор обследования будет отличаться для обоих обследований. Полагаю, для этого потребуются записи для обоих опросов в других таблицах (survey_question и survey_question_answer). Похоже на большое дублирование.
- сделайте одну запись в таблице опроса - «Оценка состояния здоровья» и добавьте дополнительное обозначение в заполненную таблицу опроса (ответ), где пользователь может поставить «Начальный» или «6-месяц ".
Надеюсь, это имеет смысл. Я думаю, что любое решение может работать;Я просто хочу более оптимальное решение.