sql >> データベース >  >> RDS >> Mysql

PHPとMySQLを使用して「クイズ」Webアプリケーションを開発するためのデータベース設計

    4つの簡単なテーブルから始めます:

    ユーザー

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

    質問

    - 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
    

    このテーブルデザインについての私の考えは次のとおりです。

    • テーブルUsers 登録ユーザーを保存するためのものです。
    • テーブルQuestions すべての質問を保存するためのものです。
      • is_activeがあります アクティブな質問のみを選択的に表示できるようにします(WHERE is_active = '1'を使用) )
    • テーブルquestion_choices 使用可能なすべてのオプションを保存するためのものです。 is_right_choiceがあります これは、特定の質問に対する正しい答えがどの選択であるかを定義します。
    • テーブルUser_question_answers ユーザーからの回答を保存するためのものです。
      • is_rightがあります より高速な検索のために、その特定の質問と回答の選択が正しいかどうかを確認します(is_right_choiceに基づく) 以前に定義されています。
      • answer_timeもあります その特定のユーザーがいつ質問に答えるかに注意してください。


    1. Slick 3.0の一括挿入または更新(アップサート)

    2. SQLに聖書を保存するための最良の方法は何ですか?

    3. SQL ServerのWHERE句のアンパサンド(&)演算子

    4. Oracle UTL_HTTP Post Multipart / Form-Data(JSON&ZIP)の例