0

私は休止状態で作業しています。

関係の詳細:

  • 1 人の USER が複数の COMMUNITY に所属
  • 1つのFACULTYで1つのCOMMUNITYに対応
  • 教員はユーザーです

ここでFACULTYは弱いエンティティであり、次のような主キー属性なしでFaculty.javaを作成する必要があります。

private Integer facultyId;

フィールドのみ

User user; Community community;

ここで冗長な教員 ID を作成するよりも、アプローチするより良い方法はありますか?

4

1 に答える 1

0

あなたの関係の詳細は私を混乱させます:

実際に考えてみると、1 人の USER が多数の COMMUNITY に所属している場合、1 つの COMMUNITY には多数の USERS が必ず存在します。そう思いませんか??あなたはこれについて再考しなければなりません..

それでも...定義された関係を考慮して、教員にコミュニティ以外の属性が割り当てられていない限り、教員用に別のテーブルを作成する代わりに(必須ではないと思います)、列を追加することをお勧めしますCOMMUNITY_ROLE として COMMUNITY TABLE を作成し、必要なユーザーに対してロールを FACULTY として定義します。利点: USER-COMMUNITY は 1 対 MANY の関係であるため、COMMUNITY にユーザーを配置し、COMMUNITY_ROLE で FACULTY または NULL を定義します。

それでも、ユーザーコミュニティは多対多になると強く感じています。これにより、上記の関係の詳細に基づいた上記の回避策が無効になると思いますが、これは間違っていると思います。

于 2012-12-21T11:30:20.537 に答える