I am using TMDB api to get a list of popular, upcoming, top-rated and now-playing movies separately. I want to store them locally in a database which is updated daily. Each returned movie have a unique id. So, I want to store popular movies in a table named popular, upcoming movies in a table named upcoming and vice versa. If I follow this approach I will be creating four tables with same attributes but I can keep the movieId distinct to avoid redundancy like when the database is updated.
On the other hand if I create a single table then I cannot have movieId as distinct because a movie can be both popular and upcoming which will lead to redundancy when I update my database.Is there any way that a movie is only inserted in database if the movie with same id and same tag(popular, top-rated, upcoming, now-playing) is not present in the database?
How can I design my database so that I can easily get different list of movies from database as recieved from api?