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_active
så 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_choice
som 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_right
för snabbare uppslag, för att se om just det valet av fråga och svar är rätt (baserat påis_right_choice
tidigare definierat). - Den har också
answer_time
bara för att notera när just den användaren svarar på frågan.
- Den har