title: ER model: when to add a relationship and when not to add
body: <p>Consider this example of an ER design. I have three entities:</p>
  
  <ol>
  <li>Singer</li>
  <li>Album</li>
  <li>Song</li>
  </ol>
  
  <p>Each singer has at least one album (by definition) and each album has at least one song. Each song belongs to only one album. So I have also two relationships:</p>
  
  <ol>
  <li>album:singer (1-or-more:exactly-1)</li>
  <li>song:album (1-or-more:exactly-1)</li>
  </ol>
  
  <p>If I would like to get who sing the song, I could join tables pivoting on album entities.</p>
  
  <p>Now my question is: should I add also a direct relationship between singer and song or not? I don't understand if it depends only on the use case or if there is a strict rule/best practice. If I add it, I use more disk space but I need less memory for querying song author (I don't need joins).</p>
  
  <p>Which is the solution?</p>