Making the tables with db generalization
Smells a bit like homework this, but ....

Why do you have an id column on music_videos? 
Can one music_videos be multiple videos? 
And likewise for lessons? 
Those two id columns seems redundant. 

Other than that, from the information given, it seems decent enough.

Generally speaking, you'll need to decide on some structure between the data, what belongs to where, what is inherited from others, and then make the tables depending on the cardinalities which arise from those.