Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Projeto de banco de dados para desenvolvimento de aplicativos da Web 'Quiz' usando PHP e MySQL


Eu começaria com 4 tabelas simples:

Usuários
- user_id        auto integer
- regtime        datetime
- username       varchar
- useremail      varchar
- userpass       varchar

Perguntas
- question_id    auto integer
- question       varchar
- is_active      enum(0,1)

Question_choices
- choice_id        auto integer
- question_id      Questions.question_id
- is_right_choice  enum(0,1)
- choice           varchar

User_question_answers
- user_id        Users.user_id
- question_id    Questions.question_id
- choice_id      Question_choices.choice.id
- is_right       enum(0,1)
- answer_time    datetime

Minha opinião sobre este design de mesa é:
  • tabela Users é para armazenar o usuário registrado.
  • tabela Questions é para armazenar todas as suas perguntas.
    • Tem is_active para que você possa exibir seletivamente apenas perguntas ativas (usando WHERE is_active = '1' )
  • tabela question_choices é para armazenar todas as opções disponíveis. Tem is_right_choice que define qual escolha é a resposta certa para determinada pergunta.
  • Tabela User_question_answers é para armazenar a resposta do seu usuário.
    • Tem is_right para uma pesquisa mais rápida, para ver se essa pergunta e escolha de resposta em particular estão corretas (com base em is_right_choice definido anteriormente).
    • Também tem answer_time apenas para observar quando esse usuário específico responde à pergunta.