So here's how we would think of the problem in a NoSQL situation, like with Apigee's App Services.
We will have a collection for artists, one for albums, and another for songs.
We can roughly think of a collection as being synonymous with a 'table' in relational databases. What's the difference?