Category | Assignment | Subject | Management |
---|---|---|---|
University | Singapore University of Social Science (SUSS) | Module Title | ICT330: Database Management |
Academic Year | 2025 |
---|
A video streaming company wishes to improve its current business model by offering different subscription types to its customers. Each subscription type will make available videos from one or more production houses, e.g., subscription type named A1, introduced in the year 2020, allows customers to view videos from Universal Pictures and Paramount, and subscription type named A2, introduced in the year 2021, allows customers to view videos from Paramount, Frontier Pictures and National Geographic Studios. Each production house has a name and a country in which it is incorporated.
A customer starts by opening an account. Account details include an account number, the customer's name, address and a balance which can be topped up. After account creation, the customer can select subscription types and durations he wishes to subscribe e.g., A1 for 30 days and A2 for 180 days. Each subscription is paid using the account balance. The subscription rate depends on the subscription type as well as the subscription duration.
There is no limit to the number of videos a customer can stream during the subscription period. Video details include a video code, a title, description, a video length (in minutes) and language used. A movie video includes a genre, whereas a documentary includes the name of the producer. The application allows customers to add comments and to rate videos they have watched. Customers can also make friend requests. If a friend request is accepted, the requester can view their friend’s ratings and comments that are marked public. Private comments and ratings cannot be viewed by friends, even if friends' requests are accepted.
The application tracks each video streaming, such as where a customer stops so that the customer can resume watching from that point. The viewing patterns of customers are also tracked, e.g., the start and end points of a video stream, the playing speed and the language of the subtitle if used. The application provides APIs for production houses to extract data for their titles to study the viewing patterns.
Construct a conceptual (ER) model from the statements of requirements to represent the data model, showing
State your assumption(s) for only the data requirements that are not specified. Show your model as ONE diagram.
You are given the following table:
MoviePayment (movieTitle, movieDescription, yearProduced, directorName, director Nationality, directorDOB, actorName, actorNationality, actorDOB, contractFee, roleplayed)
An actor can perform in one or more movies, and a movie may require one or more actors. An actor can play multiple roles in a movie, e.g. Robin Williams played the roles of Daniel Hillard and Mrs. Euphegenia Doubtfire in the movie Mrs. Doubtfire. In some cases, a role within a movie can also be played by multiple actors, e.g., John Travolta and Nicolas Cage played the role of Sean Archer in Face/Off. Each actor in a movie has one contract fee for the movie, irrespective of whether he has a single role or multiple roles.
An actor can play the same role in multiple movies, e.g., Tom Holland plays Peter Parker in movies such as Far From Home, No Way Home and Brand New Day. Of course, different actors can play the same role in different movies, e.g., Andrew Garfield played Peter Parker in the movie The Amazing Spider-Man.
You may assume that there is one director per movie, a movie is identified by a movie title, a director is identified by the director's name, and an actor is identified by the actor's name.
Formulate and list the functional and multi-valued dependencies (MVD). Do not introduce any new columns not in the given table. State your assumption(s) for only the data requirements that are not specified. (8 marks)
Draw a dependency graph and propose candidate key(s) for the table. Show composite keys in brackets. (4 marks)
(i) For each MVD in your answer to Q2(a), explain why it is subsumed or not subsumed.
(ii) Normalise the table to Boyce-Codd Normal Form (BCNF) and Fourth Normal Form (4NF) following the steps covered in the module. (according to the student's answer, whether MVD is not subsumed, apply the procedure)
(iii) Show how you apply the steps to arrive at the tables, and explain whether the structure of each derived table at each iteration is already in BCNF and 4NF (if applicable). (12 marks)
Assemble your BCNF and 4NF tables and constraints clearly by giving each table and the referential integrity constraint(s), if any, in the forms described below:
Tables in this form:
TABLE-NAME(col-name1, col-name2, …, col-namen)
Referential integrity constraint(s), if any, together with the child table in this form:
TABLE-NAMEx.col-namex1 …col-namexn must exist in TABLE-NAMEy.col-namey1…col-nameyn
All SQL statements for this question (create, insert and select statements) MUST be in text format.
You MUST also paste the screenshots of the result of executing all your SQL statements.
(i) Transform the ERD in Figure Q3(a)(i) into a logical model, giving each table and the referential integrity constraint(s), if any, in the forms described below:
Tables in this form:
TABLE-NAME(col-name1, col-name2, …, col-namen)
Referential integrity constraint(s), if any, together with the child table in this form:
TABLE-NAMEx.col-namex1 …col-namexn must exist in TABLE-NAMEy.col-namey1…col-nameyn
(ii) Refer to the description of the columns for the column definition, and then write the appropriate SQL statements to implement ALL tables, derived from the transformation of the ERD in Figure Q3(a)(i) in part (i). List your SQL create statements in the order that they should be executed.
Description for columns:
Constraints:
Refer to Figure Q3(a)(i) for the minimum and maximum cardinalities.
(iii) Use the data in Figure Q3(a)(iii) to populate the tables implemented in part (ii). List your SQL insert statements in the order that they should be executed.
For part (b), use the tables you have created based on Figure Q3(a)(i). You are not allowed to create a view, but you can define inline views where applicable. Formulate SQL queries to display the given result sets:
Need Plagiarism free Answers for your college/ university ICT330 Assignments
Order Non-Plagiarized AssignmentMany students are worried about their ICT330: Database Management tma? Then no need to worry! Our expert team provides Management Assignment Help services designed for students. We are here to help you. Singapore Assignment Help will provide you with expert writers who will write your assignment without any plagiarism and with 100% original content. Check out our free assignment samples and check the quality of our work. Just write “do my assignment”, and we will make sure that your assignment is completed and help you stand out from the rest with better grades!
Let's Book Your Work with Our Expert and Get High-Quality Content