sql >> Base de Datos >  >> RDS >> Mysql

Diseño de base de datos para desarrollar una aplicación web 'Quiz' usando PHP y MySQL

Comenzaría con 4 tablas simples:

Usuarios

- user_id        auto integer
- regtime        datetime
- username       varchar
- useremail      varchar
- userpass       varchar

Preguntas

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

Opciones_de_preguntas

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

Usuario_pregunta_respuestas

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

Mi opinión sobre el diseño de esta mesa es:

  • tabla Users es para almacenar usuarios registrados.
  • tabla Questions es para almacenar todas sus preguntas.
    • Tiene is_active para que pueda mostrar selectivamente solo las preguntas activas (usando WHERE is_active = '1' )
  • tabla question_choices es para almacenar todas las opciones disponibles. Tiene is_right_choice que define qué opción es la respuesta correcta para una pregunta en particular.
  • Tabla User_question_answers es para almacenar la respuesta de su usuario.
    • Tiene is_right para una búsqueda más rápida, para ver si esa opción de pregunta y respuesta en particular es correcta (según is_right_choice) definido previamente).
    • También tiene answer_time solo para notar cuándo ese usuario en particular responde la pregunta.