私はゲームアプリケーションを開発しており、どのユーザーがプレイしたゲームの所有者であるかを処理する正しい方法について議論しています。
位置情報のみを提供する匿名のゲストとして、または登録ユーザーとしてプレイできます。すべてのユーザーがデータベースに保存されます。ゲームを完了すると、スコアとともにデータベース エントリが追加されます。また、誰がゲームをプレイしたかを記録したいと考えています。
表は次のようになります。
USERS ( ID | ユーザー名 | パスワード | 国 ) GAMES ( ID | ユーザー ID | スコア )
今のところ、GAMES(user_id) に USERS(id) への参照を保存するだけですが、匿名ユーザーをどのように処理すればよいですか?
1 つの方法は、すべての匿名ユーザーを ID と場所だけで保存し、anonymous_id という名前の列を GAMES に追加することです。ただし、プレーヤーが登録されているかどうかに応じて、すべてのゲームで user_id または anonymous_id のいずれかを NULL にする必要があります。
もう 1 つの方法は、すべての匿名ユーザーを USER テーブルに追加し、user_name と password を null にできるようにすることです。
これを処理するより良い方法はありますか?
アドバイスをいただければ幸いです。