私は現在、本質的にクイズアプリケーションを作成しているプロジェクトに取り組んでいます。10 ~ 20 問の多肢選択式または短答式のクイズに答えることができます。ユーザーの回答を正しい回答と照合し、ユーザーの回答のスコアを保持する機能が必要です。
後で、クイズをすべてオンラインで作成するためのバックエンド機能を実装するかもしれませんが、今のところ、データベースを直接操作することはやめておきます。
さて、私の質問です..すべての機能を使用できるようにデータベースとテーブルを設計する方法について、かなり迷っています。これが私が現在設定している方法です:
クイズ表
- 名前列
- ID行
質問表
- ID行
- 対応するクイズ ID 行
- 実際の質問テキスト行
回答表
- 対応するクイズ ID 行
- 対応する質問 ID 行
- 実際の回答テキスト行
- if_correct_answer 行
したがって、各クイズには独自の ID があり、各質問には独自の ID とその親クイズ ID があり、回答には親クイズ ID と親質問 ID があります。
現時点では、「正解」の問題は次のように機能しています。正解を選択すると、if_correct_answer 行の値が 0 よりも大きくなり、最後にすべての回答の値が加算され、それは彼らが正解した数です。
これはデータベースを設計する良い方法ですか? ここの別の投稿で基本的な考え方を見ましたが、それを完全に理解しているか、正しく使用しているかはわかりません。私は基本的に、すべての異なる ID を調整する方法について混乱してしまいます。(私は mySQL と PHP の初心者ですが、おそらく役に立たないでしょう)