sql >> Databáze >  >> RDS >> Mysql

Návrh databáze pro vývoj webových aplikací „Kvíz“ pomocí PHP a MySQL

Začal bych se 4 jednoduchými tabulkami:

Uživatelé

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

Otázky

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

Možnosti otázek

- 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

Moje myšlenka na tento design stolu je:

  • tabulka Users slouží k uložení registrovaného uživatele.
  • tabulka Questions slouží k uložení všech vašich otázek.
    • is_active takže můžete selektivně zobrazit pouze aktivní otázky (pomocí WHERE is_active = '1' )
  • tabulka question_choices slouží k uložení všech dostupných možností. Má is_right_choice který definuje, jaká volba je správnou odpovědí na konkrétní otázku.
  • Tabulka User_question_answers slouží k uložení odpovědi od vašeho uživatele.
    • is_right pro rychlejší vyhledávání, abyste zjistili, zda je tato konkrétní volba otázky a odpovědi správná (na základě is_right_choice dříve definované).
    • Má také hodnotu answer_time stačí si povšimnout, kdy daný uživatel na otázku odpoví.


  1. Běžný uživatel s oprávněním SYSBACKUP

  2. golang gorm Přístup k základnímu dotazu mysql

  3. Sbírejte rekurzivní klíče JSON v Postgresu

  4. UPDATE/DELETE v mysql a získat seznam dotčených ID řádků?