Designing the data model
Designing an efficient and scalable data model is essential for our Netflix-like service. The data model defines the structure and relationships of the entities involved in the system, ensuring that data is stored and retrieved effectively. Let’s explore the key entities and their relationships:
- User: The central entity, representing a customer, which can have multiple profiles associated with it, allowing for personalized experiences within a single account
- Profile: Linked to a user, this entity represents individual viewing preferences and settings and is associated with the
WatchHistory
,Watchlist
, andRating
entities to track personalized interactions with content - Movie: A standalone content entity that has its own metadata, and it can be part of a user’s
WatchHistory
andWatchlist
and receiveRatings
fromProfiles
- TVShow: Represents a series that contains multiple
Episodes
, has its own metadata, and, likeMovies
, can be...