title: DB design to use sub-type or not?
body: <p>The database I'm designing has 3 major tables: <code>BOOKS</code>, <code>ARTICLES</code>, <code>NOTES</code>.<br>
  Each book or article can have multiple notes, my original design was just like that, which means both notes on books and notes on articles go the 'notes' table. Here are the columns for the <code>NOTES</code> table:</p>
  
  <ul>
  <li><code>note_id</code></li>
  <li><code>note_type</code></li>
  <li><code>note_type_id</code></li>
  <li><code>note_content</code></li>
  </ul>
  
  <p><code>NOTE_TYPE</code> can be either 'book' or 'article'; <code>NOTE_TYPE_ID</code> is the FK for a book_id <em>if</em> the note_type is 'book' <strong>OR</strong> an article id if the note_type is 'article'. </p>
  
  <p>Now I start to wonder if that's the correct(or best normalized) design. An alternative approach is to use 5 tables</p>
  
  <p>books / articles / notes / book_notes / article_notes</p>
  
  <p>This way I can keep book notes and article notes separately, the columns are like</p>
  
  <p>'notes' { note_id, note_content  } 
  'book_notes' { book_id, note_id }
  'article_notes' { articel_id, note_id }</p>
  
  <p>Which one is correct or better?</p>