Было бы лучше сохранить возможные ответы в отдельном столе. Это позволяет вам получать любое количество ответов на вопрос, а не просто 4. Оно также позволяет задавать разные ответы. Если у вас более одной викторины, вам также может понадобиться таблица Quites.
Quizes:
id
name
Questions:
id
quiz
prompt
Answers:
id
question
prompt
QuizResult (someone taking a quiz)
id
quiz
// other information about the quiz taker, possibly including the time
Теперь правильная вещь ответа становится намного сложнее. Я предпочитаю более высокие реализации здесь:
Каждый вопрос имеет значение и каждый ответ имеет значение
система, которую я недавно работал с вами может присвоить значение точки для каждого вопроса и каждого ответа. Неправильные ответы часто получили 0, правильные ответы получили полную сумму. Вы также можете получить частично правильные ответы, используя этот метод. Это метод, с которым я бы пошел.
Вы могли бы пойти и сказать, каждый вопрос стоит 10 очков или вы можете назначить различные веса разным вопросам:
Questions:
id
quiz
prompt
value (you can make this question worth more or less)
Answers:
question
prompt
value (you can make this answer worth more or less)
магазин правильный ответ на ответы Таблица
Более простой (но менее надежное) решение состоит в том, чтобы просто сказать, какой ответ правильный в таблице «Ответы».
Answers:
question
prompt
is_correct
магазин правильный ответ в таблице Вопросы
Я бы не рекомендовал его. Когда вы создаете вопрос, он не будет иметь правильного ответа, пока вы его не введете. Это означает как минимум 3 вопроса, чтобы правильно задать вопрос. Если вы используете внешние зависимости, это быстро раздражает.
+1 Но, чтобы быть ясным, следует отметить правильный ответ в столбце таблицы 'Answers', а не в таблице' QuizResult'. –
+1 за отличный ответ, хорошие вещи. – Rog