You combine several different types of objects in several places - for example, it looks like you are trying to create a single rating table that applies to albums, artists and tracks. Take a close look at whether it might be easier to have three separate tables for three different types of ratings.
The same goes for comment . Also, in this table, your current structure (having one comment_id on an album, artist or track) seems to limit each type of object to one comment, which makes no sense.
For genre , type and thumb consider nesting these tables in a parent object. Does it make sense to have, for example, one row of the thumb that is shared between several artists, or would it be easier just for each artist to have a thumb path stored directly in it?
Finally, for all the relationships you have drawn, you need to determine the power of the relationship. For each of them, determine which table belongs to another, and how many rows in one table can exist for each row in another. For example, the relationship between album and track is a one-to-many relationship, as each album contains multiple tracks, but each track belongs to the same album. Use notations such as β note notes β to denote this information.
source share