Making the tables with db generalization Can anyone tell me what will be the best way to make the tables for the following diagram: 



I was thinking about this:

videos
------

 - id 
 - title 

music_videos
------------
 - id
 - video_id
 - artist
 - genre

lessons
-------
 - id
 - video_id
 - teacher


Is it right?

(i'm using MySQL if that makes any difference)
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.