title: News database design
body: <p>I am making a news website but I want to let the user insert statuses from Facebook. The user can put the status anywhere in the news while writing it.  I want to display the news as it's inserted.  </p>
  
  <p>Here's an example of news' content </p>
  
  <blockquote>
    <p>"Some user inserted text <em>Status</em> Some other text <em>Some other status</em> another text <em>Another Status</em>" </p>
  </blockquote>
  
  <p>So I'm thinking what is a good database design in that case. The status has user, who has wrote it, date and content. The news has title, description and date. </p>
  
  <p>I've come up with five tables.</p>
  
  <p>Table <strong>NewsHeader</strong> </p>
  
  <pre><code>id  
  NewsTitle  
  NewsDesc  
  NewsDate
  User
  </code></pre>
  
  <p>Table <strong>NewsContent</strong> - contains only id and the message from the status or  text of the news</p>
  
  <pre><code>id  
  content
  </code></pre>
  
  <p>Table <strong>NewsContentDetails</strong> - contains details of the status</p>
  
  <pre><code>id
  ContentUser
  ContentDate
  </code></pre>
  
  <p>Table <strong>NewsContentDetailsLink</strong> -  junction table of <strong>NewsContent</strong> and <strong>NewsContentDetails</strong></p>
  
  <pre><code>NewsContentId  
  NewsContentDetailsId
  </code></pre>
  
  <p>Table <strong>NewsHeaderContent</strong> - junction table of <strong>NewsHeader</strong> and <strong>NewsContent</strong></p>
  
  <pre><code>NewsHeaderId  
  NewsContentId
  </code></pre>
  
  <p>Is that a good database design or is there's a better way to do it? I'm concerned that I'll have to write many JOINs in the sql query when displaying the news and that will be slow.</p>
  
  <p><strong>EDIT:</strong>
  The DB design suggested by @hrr </p>
  
  <blockquote>
  <pre><code>**News:**
  </code></pre>
    
    <p>ID | Title | Content | User | Date </p>
  
  <pre><code>**Elements:**
  </code></pre>
    
    <p>ID | Content | User | Date | News_ID</p>
  </blockquote>
  
  <p>But some fields in <strong>elements</strong> will be empty and I think that this's not a good option.</p>
  
  <p>Thanks in advance :)</p>