ちょっとしたオンライン クイズ/ゲームを作成しています。一意の auto-increment 、フィールド、フィールド、およびフィールド (作成元)をusers
含む -table があります。id
username
password
ip
それはログインなどを処理します。
次に、ユーザーのプロセスを追跡する必要があります。ユーザーはいくつかのタスクまたはレベルを完了する必要があります。しかし、あなたはそれを見たいと思っています。
各タスクの要件は次のとおりです。
- ユーザーが特定のタスクに対して何回試行したかを追跡する
- 彼の最後の試みを追跡する
- 彼がどこで失敗したかを追跡する
- 彼の最短の成功した試みを追跡する
- 彼の最近の成功した試みを追跡します。
私が求めているのは、基本的に、これができるだけスムーズに機能し、迷惑な SQL クエリとコードをできるだけ少なくするために、テーブルをどのように構築する必要があるかということです。
上記のリストに対応するユーザー名とフィールドに各行がバインドされた、タスクごとに 1 つのテーブルが必要ですか? または、どのタスクと上記のリストに対応するすべてのフィールドを示すユーザー名にバインドされた行を持つ 1 つの大きなテーブルですか?
わからないので質問させていただきます。
言及する価値があります: 私が現在持っているものは何も決まっていないので、あなたが望むものは何でも変えることができます.
どんな助けや提案も大歓迎です。
前もって感謝します。
編集:タスクごとに 1 つのテーブルも作成します: tasks(id, name, description, finish_message)
それに伴い、上記で説明したユーザーとタスクと同様のタスク用の新しいテーブル構造が必要になりますが、タスクとテスト用です。