If I understand your question correctly, you should create a separate table Entity that would be a base type for all your movies, pictures, etc. And a separate table ListsItems that would contain following columns: (list_id
, entity_id
), and table UsersLists of (user_id
, list_id
).
UsersLists would contain users to lists mapping (every user may have many lists), ListsItems would contain lists to entities mapping (every list may have many entities), and Entity would contain entity type (movie, picture, whatever) and specific entity ID that would point to its native table (Movie, Picture, etc).
Aufziehvogel asked you about number of types because it's important for this entity type field resolving in a design. If you have a finite predefined number of types, you may make column entity_type
an Enumeration, but if user should be able to create their own types, that's a more complicated problem and a table SpecifiedEntity should replace specific tables (Movies, Pictures, etc).
You may read something about normalization of relational databases to understand this issue in all the existing details.