0

次のケースのリレーショナル データ モデルをどのようにモデル化しますか?

leader is chosen to lead group
a group is led by one and only one leader
a leader leads 0 to 1 group

これが私の解決策です

Group [GroupID(PK)]
Leader[LeaderID(PK)]
Leads [GroupID(PK), LeaderID(FK)]

しかし、これにより、実際には多くのリーダーがグループを率いることができます。

ありがとうございました。どんな入力でも大歓迎です。

4

2 に答える 2

2

leaderOfまあ、テーブルの (一意の) フィールドとして持つことができLeaderます。の場合NULL、リーダーはどのグループも率いていません。番号の場合、その番号は率いるグループの ID です。

usersまたはplayersテーブルがどこかにある場合は、そのleaderOfフィールドをそのテーブルに配置し、 LeaderandLeadsテーブルを完全に削除する方がよい場合もあります。

于 2012-11-25T18:33:52.527 に答える
0

グループにそのリーダーを知らせ、リーダーにそのグループを知らせてください。

Group [ GroupID(PK), LeaderID(FK) not null ]
Leader[ LeaderID(PK), GroupID(FK) ]
于 2012-11-25T18:35:56.260 に答える