Проектування БД тестувальної системи. NEED HELP!!!
Проектую БД для тестувальної системи. Є такі таблиці Test, Questions, Answers. Після спілкування зі знайомими задумався над моїм проектуванням тому що кількісь записів в таблиці Answers може досягати 100000. Сутність Answer це текст відповіді, id відповіді, id тесту + інші поля. Коли користувач відповідає на запитання то на серевер відсилається стрічка з відповіддю. Ця стрічка може бути в різних форматах — це може бути id правильної відповіді; масив id коли правильних відповідей кілька; стрічка в певному форматі; стрічка в довільному форматі.
Застряг перед наступним вибором:
1.Залишити поточне проектування
Якшо я залишу поточне проектування то прийдеться ще додатково писати парсер на сервері для розпарсання відповіді користувача + напевно кешувати ту частину відповідей до яких я буду звератись шоб відіслати користувачу наступне запитання з відповддями. Також при поточному плануванні перевірка відповіді на правильність вимагатиме звертань до громіздкої таблиці Answers. З іншого боку представлення кожної відповіді як окремої сутності є дуже зручним для формування таблиці результатів пояснень і т.д.
2.Не виносити Answers в окрему сутність, тобто не створювати для неї таблицю в бд, а для кожного тесту в базі (таблиця Questions) додати ше одне поле, яке буде містити текст всіх відповідей як одне ціле, і ше одне поле яке буде містити правильну відповідь.
В цьому випадку вибираючи з бд запитання для певного тесту я зразу ж виберу і відповіді. Також перевірка відповіді на правильність зведеться до порівняння стрічки яку я отримав від користувача з тою що є в таблиці Questions
Прохання людей які проектували потрібні речі або просто знають як це зазвичай робиться висловити свою думку.Наперед дякую!!!
8 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів