@seenotevil

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

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

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

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
от 300 000 до 500 000 ₽
20 апр. 2024, в 18:09
70000 руб./за проект
20 апр. 2024, в 18:04
3000 руб./за проект
20 апр. 2024, в 17:55
3000 руб./за проект