Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Datenbankdesign für die Entwicklung von „Quiz“-Webanwendungen mit PHP und MySQL

Ich würde mit 4 einfachen Tabellen beginnen:

Nutzer

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

Fragen

- 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

Mein Gedanke zu diesem Tischdesign ist:

  • Tabelle Users dient zum Speichern registrierter Benutzer.
  • Tabelle Questions dient zum Speichern all Ihrer Fragen.
    • Es hat is_active damit Sie selektiv nur aktive Fragen anzeigen können (mithilfe von WHERE is_active = '1' )
  • Tabelle question_choices dient zum Speichern aller verfügbaren Optionen. Es hat is_right_choice die definiert, welche Wahl die richtige Antwort auf eine bestimmte Frage ist.
  • Tabelle User_question_answers dient zum Speichern der Antwort Ihres Benutzers.
    • Es hat is_right für eine schnellere Suche, um zu sehen, ob diese bestimmte Frage- und Antwortauswahl richtig ist (basierend auf is_right_choice zuvor definiert).
    • Es hat auch answer_time nur um zu vermerken, wann dieser bestimmte Benutzer die Frage beantwortet.