title: How do I specify a weak entity that refers to two other weak entities, which both share a fourth entity?
body: <p>Question title is probably a bit cryptic, but I couldn't come up with a short version that made sense.</p>
  
  <p>So I have a <code>Booking</code> table, which is a many-to-many relationship between <code>Customer</code> and <code>Event</code>. I also have an <code>event_activity</code> table, which is a many-to-many relationship between <code>Event</code> and <code>Activity</code>.</p>
  
  <p>I now want a booking to be able to specify which of an activity's events it wants to take part in. So I have <code>booking_event_activity</code>, which is a many-to-many between <code>Booking</code> and <code>event_activity</code>. </p>
  
  <p>Obviously <code>booking_event_activity</code> is going to need foreign keys to <code>Customer</code> and <code>Activity</code> (which will also be part of its own composite primary key), but how do I specify the final foreign key, which will be an Event's primary key? Do I make it:</p>
  
  <ol>
  <li>a foreign key to Booking's Event foreign key?</li>
  <li>a foreign key to event_activity's Event foreign key?</li>
  <li>two foreign keys, one to each of 1. and 2.?</li>
  <li>a foreign key directly to the Event table's primary key?</li>
  </ol>