2012-03-25 9 views
1

私は自分のシステムに次のエンティティを持っています:COMPANYPOSITIONAPPLICANTSPOSITIONAPPLICANTSの間には多対多の関係がありますが、現在のモデルではCOMPANYAPPLICANTSの間に多対多の関係があることは示されていません。データベース設計の質問、どう思いますか?

それはのcompany_id、position_idとapplicant_idを持っているか、私はCOMPANYPOSITIONPOSITIONAPPLICANTSに参加している他に参加するテーブルを持っている必要があり、結合テーブルfooを持っているあなたに意味を成していますか?

+0

POSITIONリファレンスはありませんCOMPANY? POSITIONとAPPLICANTSのテーブルを結合するだけで、POSITIONを介してAPPLICANTSとCOMPANYの関係を取得する必要があるからです。 –

+0

COMPANYとPOSITIONの関係は何ですか? – jpm

+0

@ user306848それはありますが、会社がどれくらい多くの応募者を持っているかを知りたい場合は、3ウェイ参加する必要があります –

答えて

2

私はそうは思わない。指定されたCOMPANYAPPLICANTをJOIN経由でPOSITIONと得ることができます。

私は、彼らがEMPLOYEEAPPLICANTからの移行時にCOMPANYと個々の関係が重要になると思います。私はあなたが提案するようにモデル化しません。

+0

あなたの多対多のテーブルから 'Position'へのFKが' position_id'だけでなく、 'FOREIGN KEY(position_id、company_id)REFERNCES REFERNCES位置(position_id、company_id)'の複合体である場合、 'Position'を使わずに、多対多テーブルを使って'応募者 'と '会社'テーブルに直接参加することができます。複合主キーは扱いが簡単ではありませんが、一部の結合を回避するのに役立ちます。 –

関連する問題