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