@seenotevil

Как правильно спроектировать бд для конструктора тестов?

Здравствуйте, суть такая, пишу конструктор тестов на php , конструктор должен поддерживать следующие типы вопросов , выбор одного или нескольких правильных вариантов, письменный вариант, соответствие вариантов ответа то есть соотнести варианты из правой колонки с вариантами из левой, расположить последовательность в правильном порядке.
Есть две таблицы вопросы и вариантов ответов, проблема с таблицей вариантов, если вопрос на выбор одного или нескольких вариантов сложностей не возникает, но если вопрос на соответствие то нужно знать что вытягивать в правую и левую колонку.
Идеи которые придумал , писать в таблицу вопросов тип вопроса и в зависимости от этого вытягивать варианты их разных таблиц, либо в таблицах вариантов в вопросах на соответствие ставить разделитель между правой и левой частью.
Возникла такая идея использовать для такой базы данных nosql , типо mongodb.
P.s Надеюсь понятно объяснил ситуацию.
  • Вопрос задан
  • 524 просмотра
Решения вопроса 1
Про соответствие вариантов ответа не очень понятно, поподробнее пожалуйста.
Про один из нескольких или письменный - можно попробовать так: если у вопроса в базе указан только один (!) вариант ответа, то тогда он же - правильный, и тогда по определению нет смысла показывать ответ пользователю - значит вопрос письменный. Если у вопроса в базе несколько вариантов ответа, то имеет смысл показать их пользователю, что он выбрал, тогда вопрос на выбор правильных вариантов.
Ну или действительно ставить у вопроса тип, и каждый тип обрабатывать по-разному, тем более у вас там вопросы с левыми-правыми колонками, которые не похожи на предыдущие типы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы