Выбор из нескольких ключей-кандидатов
Мне может не хватать математического фона, чтобы найти правильный ответ для себя. У меня есть таблицы, настроенные так (нерелевантные столбцы опущены):
Questions
queID
Answers
queID
ansID
Пользователи могут создавать тесты, выбирая определенные вопросы. Ответы - это возможные ответы, которые пользователи могут выбрать для каждого вопроса.
Sessions
sessID
Когда клиент выбирает группу вопросов для ответа, создается «Сессия».
SessionQuestions
sqID
sessID
queID
Это вопросы, которые пользователь выбрал для данного сеанса.
Где я бью загадку наSessionAnswers
уровень. Порядок ответов на вопрос может быть случайным. То есть вопрос с несколькими вариантами ответов с порядком ответов по умолчанию A, B, C может отображаться пользователю как C, B, A. Однако всякий раз, когда они снова рассматривают этот вопрос, он все равно должен быть C, B, A, так что окончательный порядок должен быть сохранен. Моя предварительная таблица такова:
SessionAnswers
sqID
ansID
saOrder
Дело в том, что sqID указывает на queID, но так же и ansID. Это означает, что я мог бы использоватьsessID
на этом столе илиsqID
, Я не уверен, что выбрать. Эта настройка по-прежнему позволяет сопоставить ansID с ответом, сопоставленным с вопросом, которого нет даже в SessionQuestions, что было бы неверно. Могу ли я улучшить настройку, чтобы избежать этого?