今日のインタビューの最後の質問で困惑しました:
(元の図) 次のビジネス ニーズを満たすデータベース テーブル構造を設計します:
1. 某加盟店では、50ポイント以上ゲームをプレイしたユーザーのみが当選できる期間限定のゲーム抽選会を開催しており、各ユーザーは複数のイベントに参加することができます。
2. イベント後、以下を含む宝くじ記録のリストを編集する必要があります:
3. ユーザー A が 10 回の抽選で 2 回勝った場合、リストには 2 つのエントリが表示されますユーザー A の当選記録; ユーザー B が 8 回抽選しても当選しなかった場合、ユーザー B がゲームをプレイして最も高いスコアを獲得した抽選記録のみが表示されます。ユーザー A とユーザー B の抽選結果は、最終的に 3 つのレコードがリストに登録されます。
4. 記録時刻の逆順に並べ替えます。
5. リスト内の 20 項目ごとにページめくりの要件を満たします。
そこで、SQL ステートメントを調べることになると思いましたが、面接官は、その数字は気にしないでください。最も重要なのはテーブル構造と需要分析です。最後まで、私はまだ答えることができませんでした。
3 つのテーブル。最初のテーブルは各ユーザーのゲームの記録テーブルです。2 番目のテーブルは、イベントの宝くじ記録を逆順に記録する場合を使用して、ユーザーの勝利記録と勝てなかった場合の最高のゲーム記録を与える要件に基づいています。 20ページめくってください