Instructions:​ For this assignment you must submit picture file(s) of the ER diagram that must be drawn using any ER modeling tools or any digital drawing tool. "Handmade" diagrams won’t be accepted.
Consider a Streaming Application database, where we store information about the movies and TV shows, Actors, the users, the list of shows and movies to watch and the watched ones. The data requirements are summarized as follows:
Each TV Show or Movie (Let’s call those with the generic name of "Title") is defined by a TitleId. All the Titles have a title name, a description, a country, an age rating (in the case of tv shows will be the higher form all the chapters, because we will allow each chapter to have his own) and at least one genre.
A genre is defined by the name and a small description. Two Genres can’t have the same name.
A TV Show has Chapters (at least one). And the year of release.
Each chapter belongs to one and only to one show.
Each chapter has a code like this : S001C0001 where S0001 means Season 1 and C0001 means Chapter 1 in the season 1. S003C0001 means the chapter 1 in the season 3. And S005C0013 will be the chapter 13 in the Season 5. Additionally, the chapters will have a duration, a description, an age rating, and the "minute and second" where we consider that the chapter ends. This last element will be used to mark the chapter as completed when the user goes beyond that minute and second.
A Movie has the duration and the year of release and minute and second where we consider that it ends.
A User will be defined by the email. It will have a First Name, Middle Name, Last Name and Date of Birth.
Each user will have a list of titles to watch. For each title, we want to know the date when it was added to the list of titles.
A user can watch a Movie and then we will keep the minute where this person has left it. We will mark the Movie as started for this user with the date of start in the moment the user starts watching it for the first time, and when the user watches beyond the minute and seconds marked as the end of the movie we will mark the movie as completed with the date of end.
A user can watch a Chapter of a TV show and we will keep the minute where this person has left it. We will mark the chapter as completed by that user when the user has watched passed beyond the minute and second marked as limit in the Chapter.
When a user watches for the first time one (any) chapter of a show, we will mark the show itself as started for this user with the date of start, and when all the chapters are marked as finished, we will mark the show as completed with the date of end.
A user can watch movies and chapters from tv shows that are not in their list.
We will have a list of actors each one will have a unique identifier, the artistic name, and the date of birth.
Each actor can act in zero, one or more movies or zero, one or more tv shows. (We won’t care if they are in one chapter or all of them, just in the tv show)
A tv show or a movie MUST have at least one actor (I know that in real life it doesn’t need to be that way, but it is like that for this exercise)
Design an entity-relationship diagram for the streaming platform database described above. Along with all the relevant entities, relationships, and attributes make sure to specify the following:
Key attributes of entities (remember, key attributes are underlined)​
Cardinality ratio and participation constraints for relationships (Preferred in​ Chen notation, that means double line or single line for participation and a number for cardinality, but other notations can be accepted too if your ER diagram tool has not Chen notation)
IMPORTANT: Any assumptions you make that are not in the requirements,​ but affect your design must be written in the document.
RUBRIC:
20 points: for entities and their attributes
-4 points for missing entity;
-1 for missing attributes or incorrect attribute type
-2 for missing keys
-1 point if any weak entity is not defined correctly
15 points: for relationships with correct participating entities and attributes where applicable
-3 points for missing relationship
-1 for missing attributes or incorrect attribute type
-2 for missing keys
10 points: for cardinality
-2 points for missing or wrong cardinality
5 points: for participation constraints
-2 points for missing or wrong participation constraint