sql >> Database >  >> RDS >> Mysql

Database-ontwerp voor het ontwikkelen van een 'quiz'-webtoepassing met behulp van PHP en MySQL

Ik zou beginnen met 4 eenvoudige tabellen:

Gebruikers

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

Vragen

- 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

Mijn gedachte over dit tafelontwerp is:

  • tabel Users is voor het opslaan van geregistreerde gebruikers.
  • tabel Questions is voor het opslaan van al uw vragen.
    • Het heeft is_active zodat u selectief alleen actieve vragen kunt weergeven (met behulp van WHERE is_active = '1' )
  • tabel question_choices is voor het opslaan van alle beschikbare opties. Het heeft is_right_choice die bepaalt welke keuze het juiste antwoord is voor een bepaalde vraag.
  • Tabel User_question_answers is voor het opslaan van het antwoord van uw gebruiker.
    • Het heeft is_right voor sneller opzoeken, om te zien of die specifieke vraag- en antwoordkeuze juist is (gebaseerd op is_right_choice eerder gedefinieerd).
    • Het heeft ook answer_time gewoon om op te merken wanneer die specifieke gebruiker de vraag beantwoordt.


  1. De nieuwe primaire sleutel-ID van het record ophalen uit de MySQL-query voor invoegen?

  2. Hoe meerdere rijen samenvoegen?

  3. hoe krijg ik een gedetailleerd foutenrapport wanneer een php-mysql-script mislukt?

  4. Asynchrone replicatie instellen tussen MariaDB Galera-clusters