Sua estrutura de tabela parece boa para mim. Você também precisa de outra tabela para armazenar a resposta do usuário.
tabela de respostas do usuário - Estrutura bruta
- código
- user_id
- quiz_id
- question_id
- answer_id
- data_respondida
E você precisa de outra tabela para armazenar as informações básicas do usuário, como nome, user_id, telefone, etc.