title: sql table design structure - notifications table with multiple types like voucher, comment, followed etc
body: <p>I have a table <code>user_notifications</code>:</p>
  
  <p>and I have multiple types of notifications like:</p>
  
  <ul>
  <li><code>Deal Notification</code></li>
  <li><code>Promotion Notification</code></li>
  <li><code>Followed Notification</code></li>
  <li><code>Follow Request Notification</code></li>
  <li><code>Voucher Notification</code></li>
  <li><code>Post Comment Notification</code></li>
  <li><code>Tagged Notification</code></li>
  </ul>
  
  <p>etc</p>
  
  <p>each <code>type</code> of notification, have its own table like: <code>Deal</code> have a <code>Deal Table</code>, <code>Promotion</code> have a <code>Promotion Table</code> etc, when the notification is clicked it will link to the data in that table.</p>
  
  <p>Currently I have the main table <code>user_notifications</code> to store generic data that ALL <code>types</code> share like: <code>notification_id</code>, <code>Created_date</code>, <code>Sender_id</code>, <code>Receiver_id</code> etc</p>
  
  <p>and multiple side-tables like: <code>n_deal</code>, <code>n_promotion</code>, <code>n_followed</code> etc</p>
  
  <p>that will be JOINED to <code>user_notifications</code>, when retrieving specific type of data</p>
  
  <p>is this the correct table structure design for this case?</p>