Мне нужно создать опрос, в котором ответы хранятся в базе данных. Мне просто интересно, что было бы лучшим способом реализовать это в базе данных, в частности требуемые таблицы. Опрос содержит различные типы вопросов. Например: текстовые поля для комментариев, вопросы с несколькими вариантами выбора и, возможно, вопросы, которые могут содержать более одного ответа (т.е. Проверить все применимые).
Я придумал два возможных решения:
-
Создайте гигантскую таблицу, которая содержит ответы на каждый опрос представление. Каждый столбец соответствуют ответу опрос. то есть SurveyID, Answer1, Answer2, Answer3
Я не думаю, что это лучший способ так как есть много вопросов в этом опросе и не кажется очень гибко, если опрос должен измениться.
-
Другая вещь, о которой я думал, была создание таблицы вопросов и ответов Таблица. Таблица вопросов содержат все вопросы для опрос. Таблица ответов будет содержать отдельные ответы из опроса, каждая строка связана с вопросом.
Простой пример:
tblSurvey: SurveyID
tblQuestion: QuestionID, SurveyID, QuestionType, Question
tblAnswer: AnswerID, UserID, QuestionID, Answer
tblUser: UserID, UserName
Моя проблема заключается в том, что там может быть тонны ответов, которые сделайте таблицу ответов довольно огромной. Я не уверен, что так здорово, когда это приходит к выполнению.
Буду признателен за любые идеи и предложения.