私のアプリには、クラスと学生の2つのエンティティがあり、次のように多対多の関係にあります。
私の問題は、私のアプリでは、クラスの生徒のステータスが2つあることです。合格と不合格です。クラスや生徒にモデル化する方法がわかりません。たとえば、学生のステータスを表すために別のエンティティを作成する必要がありますか?または、ステータス属性をクラスエンティティに追加するだけですか?
私のアプリには、クラスと学生の2つのエンティティがあり、次のように多対多の関係にあります。
私の問題は、私のアプリでは、クラスの生徒のステータスが2つあることです。合格と不合格です。クラスや生徒にモデル化する方法がわかりません。たとえば、学生のステータスを表すために別のエンティティを作成する必要がありますか?または、ステータス属性をクラスエンティティに追加するだけですか?
おそらく、クラスに属性を追加することはできません。20人の学生が同じクラスを受講している場合、それらの間に属性は1つしかないからです。
クラスと生徒の両方と1対1の関係にあり、ステータスを含む別のエンティティを追加する必要があります。そして相互に、学生とクラスの両方がステータスと多対多の関係を持ちます。
編集:別の解決策は、既存の関係の間にステータスを直接挿入することだと思います。したがって、クラスには一連のステータスがあり、各ステータスには学生がいます。
したがって、関係は、クラスからステータスまで1対多、ステータスから学生まで多対1になります。クラスと生徒の間に明確な関係はありません。
特定のクラスの生徒のステータスを表す3番目のエンティティを用意することをお勧めします。たとえば、「classStatuses」のセット。成績、クレジット、支援記録など、他の情報を後で保存する必要がある場合があるため。
最終的なスキームは次のようになります
クラス-多対多の関係にある学生。
Student- 1対多のClassStatus。(写真は、学生がそれぞれのステータスで受講しているクラスの配列としてのものです)
このようにして、クラス内の生徒を検索したり、生徒が受講しているクラスを検索したり、クラスのステータスを確認したりできます。