0

これを構成する正しい方法に頭を悩ませています...

コンテストの審査機能を備えたイベント管理アプリケーションを構築しています。複数のラウンドがあり、それぞれ複数の審査員と複数の参加者がいます。任意のジャッジが複数のラウンドでジャッジすることができ、任意の参加者が複数のラウンドに参加することができます。ただし、各ラウンドのスコアは、参加者 1 人、審査員 1 人につき 1 つだけです。

次のテーブルを作成しました。

 - user 
        - user_id
        - user_name
        - user_role_id
 - user_role
        - user_role_id
        - user_role_name
        - user_role_desc
 - round
        - round_id
        - round_name
        - round_loc
 - user_round (to join many-to-many users and rounds)
        - user_id
        - round_id
 - score
        - score_id
        - score_value
        - round_id
        - user_id_judge
        - user_id_participant

user_role は、審査員、参加者、管理者、サポートなどを定義します。次に、ロールが割り当てられた 1 つのテーブルにすべてのユーザーを配置します。これが混乱の原因です。たとえば、スコアを定義する場合、これは、ユーザー テーブルから 2 つのキーを含めて、審査員と参加者の両方を定義する必要があることを意味します。私が考えていないこれを行うことに問題はありますか?最初は審査員テーブルと参加者テーブルを別々にするつもりでしたが、現在の構造は「正しい方法」に沿ったものになっていると思いました。私は他に何を考えていませんか?

4

2 に答える 2