Designing the NOTFLIX Database
Graded pledged optional-pairs Miniproject 2

Goal
Learn Entity Relationship Diagrams, the dominant data modeling technique
Prep work
If you have not yet done it, watch the Draw.io tutorial
Note: the tutorial may or may not show the same context and ERD as the exercise below. Do not just copy it.
Task
This is a single/pair exercise. You may choose to do it individually, OR with
one other student in class. Create an ERD diagram for the business described below using Draw.io.
Print out the ERDs deliver it in class by the beginning of class.
If you are working as a pair, one copy is sufficient. Make sure that you write your names on both copies. Make copies for
yourself.
Criteria
Use the notations demonstrated in class to provide:
- Tables/Entities
- Primary keys (with "PK" or underlined)
- Attributes
- Foreign keys, shown both as relationships (lines) and as attributes (mark with "FK")
- Relationships, labeled with text (usually a verb) to clarify their meaning
- Upper and lower cardinalities
- Many-to-many relationships need to be resolved
Make it neat and legible. Use special care in avoiding having too many lines crossing each other.
The Interview
You are working for a small consulting firm that specializes in helping clients managing their data. Your current engagement is Notflix, an Internet startup that plans to compete in the streaming of indie and ULB (Ultra Low Budget) shows - the kind of show that would not be picked by Netflix or Disney+, yet have the potential to achieve cult or viral status. They are just starting building their database systems.
You are interviewing Ms. Bella Moovee, the founder and CEO of Notflix. Bella would like to begin sketching the design of the
database that will support the operations of her company.
“Tell me a little about how Notflix operates...”
“Sure! Notflix is a competitor to well-established streaming services: we have a unique market niche, but we operate in a similar
way. Our customers open accounts with us. Naturally, we collect several pieces of data on each customer (e.g., name, DoB, etc.);
we allow only one account per customer, but an account might have several Users. Each User has its own Username and DoB, but no
password. By contrast, each account has an account number, password, and status (e.g., “active,” “suspended,” etc.).
“How are you getting paid?” asked you
“Accounts send us payments at regular dates. We need to store dates and amounts.“
“Makes sense - got it. What happens when a User uses your service?”
“We track Users’ activities, which we call ‘Viewings.’ For example, a User might watch a certain show from showtime 0:00 to
showtime 40:35, and then come back later to watch from 35:23 to 1:22:40. These are two separate viewings. We track the time at
which they happened, so for instance the first viewing in the example might happen on Sep. 22nd at 9:23:00 PM, and the second on
Sep. 24th at 7:30:10 PM.
“What kind of information do you track about the shows?”
“Obviously shows have a title, the date in which they were released, and one or more genres (e.g., Sci-fi, Western, Rom-Com…).
Each User may record its own genre preferences on a scale from -1 “Painful to my eyes!” to +2 “Loved it!”. Users might also
express preferences on the shows they watched, on the same scale. These preference data will be used by our recommendation
engine."
“Thank you Ms. Moovee! I will bring you an initial draft of the design for your DB very soon, so we can keep on working at it”.
Tips for success
The description of the assignment is somewhat vague. You will experience some discomfort because of that. That feeling is actually a common experience in data modeling. You will have to think hard about what data is needed. As a general recommendation, do not overdo. Be reasonable in your assumptions and keep your model simple. Stay faithful to the text. Handle the problems that are described above. Do not try to handle all the conceivable issues at Notflix.
My recommended use for GenAI is to utilize it as a means to verify your work AFTER you have given it a first pass without
help.
GenAI as a tool for creating ERD drawings is in my experience most lacking.