@AlexRas

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

Здравствуйте, подскажите как правильно спроектировать таблицу. Как сохранить результаты прохождения тестов пользователями.

На скрине описал 3 варианта как мне кажется это можно сделать, но мне кажется я что-то упускаю или просто не догадываюсь как это можно сделать красиво. Сам я склоняюсь больше к 3 варианту.

5b004ed19b33f027977727.png
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter
та еще зажигалка...
Зависит от структуры вопросов, я так понимаю у вас не древовидная структура, а список. Для этого подойдут таблицы user_test_answers(user_id, test_id, question_id, option_id), user_test_result(user_id, test_id, status).
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
JBMurloc
@JBMurloc
Аспирант, инженер, физик, программист.
Третий Вариант, вообще-то, единственный адекватный. Неправильно хранить JSON в БД. Т.е. иногда приходится, конечно, когда сама задача звучит как: "Сделать БД для хранения JSON". Но в общем случае это неверно. Ну вот что Вы будете делать, при необходимости пофильтровать пользователей, в зависимости от ответа? Парсить JSON прямо в SQL? Раз уж выбрали БД, то и представляйте все сущности её средствами..
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы