title: Adding extra fields to prevent needing joins
body: <p>In consideration of schema design, is it appropriate to add extra table fields I wouldn't otherwise need in order to prevent having to do a join? Example:</p>
  
  <pre><code>products_table
  | id | name | seller_id
  
  users_table
  | id | username |
  
  reviews_table
  | id | product_id | seller_id |
  </code></pre>
  
  <p>For the reviews table, I could use a join on the products table to get the user id of the seller. If I leave it out of the reviews table, I have to use a join to get it. There are often tables where several joins are needed to get at some information where I could just have my app add redundant data to the table instead. Which is more correct in terms of schema design?</p>