1

質問のタイトルはおそらく少し不可解ですが、意味のある短いバージョンを思いつくことができませんでした.

これは、とBookingの間の多対多の関係です。と の間の多対多の関係であるテーブルもあります。CustomerEventevent_activityEventActivity

私は今、予約が参加したいアクティビティのイベントを指定できるようにしたいと考えていbooking_event_activityます。Bookingevent_activity

明らかにandbooking_event_activityへの外部キーが必要になります(これは独自の複合主キーの一部でもあります) が、イベントの主キーとなる最終的な外部キーを指定するにはどうすればよいでしょうか? 私はそれを作りますか:CustomerActivity

  1. 予約のイベント外部キーへの外部キー?
  2. event_activity のイベント外部キーへの外部キー?
  3. 1. と 2. のそれぞれに 1 つずつ、2 つの外部キー?
  4. イベントテーブルの主キーへの直接の外部キー?
4

1 に答える 1

1

booking_event_activityテーブルが列customerIdeventId、およびactivityIdを参照するようにすることができます。eventId列 (少なくとも SQL Server では) は と の両方への外部キー参照になる可能性がありますevent_activitiesbooking注意してください! この方法を使用すると、カスケード関係が期待どおりに機能しない場合があります。

于 2012-05-17T14:40:53.837 に答える