Нужны входные данные и руководство по проектированию баз данных и ассоциаций для приложения викторины - PullRequest
0 голосов
/ 25 мая 2019

Я портирую старый устаревший проект приложения на основе Java на LoopbackJS.

Справочная информация:

Это приложение для теста MCQ для проверки стипендии Intelligence.Студенты могут зарегистрироваться в приложении.Будет определено количество вопросов для каждого класса.Студенты могут практиковаться, решая вопросы, и будут оцениваться на основе попыток решить вопрос.Будут списки лидеров, на которых ученики будут оцениваться.Там также будут ежемесячные викторины для решения.Эти ежемесячные тесты будут просто случайным образом выбранными вопросами из всех доступных вопросов, основанных на оценке учеников.

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

enter image description here

Приведенный выше дизайн базы данных в порядке, или есть некоторая область улучшения.

Я также проходил через стековый поток, чтобы найти похожие вопросы, и янашел другой, который соответствует моему требованию.Но я немного запутался в части #Test Questions, изо всех сил пытаясь приспособить ее к моим потребностям.

Rails Ассоциации и дизайн БД для приложения Quiz

Предложения и рекомендации будутбыть высоко ценится.Спасибо

1 Ответ

0 голосов
/ 26 мая 2019
  • Нет избыточных данных.Я вижу несколько случаев ..._bin и ..._hex;Я предполагаю, что это одни и те же данные, но в разных кодировках?Преобразование достаточно просто (с использованием HEX() и UNHEX()) при извлечении / хранении.

  • Не используйте UUID для ключей, если вы не будете получать данные от нескольких клиентов иони не могут использовать AUTO_INCREMENT Первичные ключи.

  • Подумайте о SET или INT для реализации col_has_% столбцов в одном столбце.(Это может или не улучшение.)

  • Будьте осторожны с тем, сколько конфиденциальных данных хранится.

  • Для удобства чтения запросов не включайте col_ перед именами столбцов.То же самое, если не включать имя таблицы в имена столбцов.Когда JOINing, у вас есть возможность (и обязательство перед читателем) квалифицировать столбцы с именем таблицы.

  • При создании таблицы преобразования многие: многие между двумя другими таблицами, не делайтеid - пара идентификаторов является отличным составным PRIMARY KEY.

...