Имам проста база данни с анкети, където се задава линеен набор от въпроси. Базата данни е настроена по-долу.
Survey Table
id: PK
(other details)
Question Table
id: PK
survey_id: FK
(other details)
Response Table
id: PK
question_id: FK
(other details)
Бях помолен да променя анкетата, за да позволя N повтарящи се групи с въпроси. Например.
- Как се казваш? Какъв е Вашият адрес?
- Спортуваш ли?
- Какъв спорт тренираш?
- На каква позиция играеш?
- Играете ли друг спорт? Ако да, отидете на 3, иначе отидете на 6
- (Допълнителни въпроси)
Какъв би бил най-добрият начин за проектиране на база данни за проучване с повтарящи се групи?
Мислех да използвам таблица с правила за въпроси, за да насочвам линията от въпроси. Например.
Question Rule Table
id: PK
question_id: FK
response_validation_rule (possibly a regex pattern)
next_question_id
Това ли ще бъде най-добрият начин за прилагане на въпроса за повтарящи се групи? Също така предполагам, че ще бъде трудно да се нормализират и данните. Всички предложения ще бъдат високо оценени.