I just spent two whole days refactoring and improving my jjlab.net website.
One thing I had to think very carefully about for my modeling was the class/instance distinction for various things, you can see my notes below.
So channels have shows, and shows have features.
A series has segments, and segments have a video.
A series is an instance of a show, and a segment is an instance of a feature.
Everything is easy when you know how!