Jag skulle börja med fyra enkla tabeller:
Användare
- user_id auto integer
- regtime datetime
- username varchar
- useremail varchar
- userpass varchar
Frågor
- 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
Min tanke om denna bordsdesign är:
- tabell
Usersär för att lagra registrerade användare. - tabell
Questionsär till för att lagra alla dina frågor.- Den har
is_activeså att du selektivt endast kan visa aktiva frågor (medWHERE is_active = '1')
- Den har
- tabell
question_choicesär för att lagra alla tillgängliga alternativ. Den haris_right_choicesom definierar vilket val som är det rätta svaret på en viss fråga. - Tabell
User_question_answersär för att lagra svar från din användare.- Den har
is_rightför snabbare uppslag, för att se om just det valet av fråga och svar är rätt (baserat påis_right_choicetidigare definierat). - Den har också
answer_timebara för att notera när just den användaren svarar på frågan.
- Den har