0% found this document useful (0 votes)
5 views9 pages

Module Cod1

The document outlines the Milestone 1 assessment for the Level 6 Data and Web Development module, detailing the submission requirements and deadlines. It focuses on the concept of normalization in database design, explaining the process through various normal forms (UNF, 1NF, 2NF) and providing examples of table structures for a movie booking system. The final tables after achieving 2NF are listed, demonstrating the relationships and dependencies among the data entities.

Uploaded by

chanaman980
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views9 pages

Module Cod1

The document outlines the Milestone 1 assessment for the Level 6 Data and Web Development module, detailing the submission requirements and deadlines. It focuses on the concept of normalization in database design, explaining the process through various normal forms (UNF, 1NF, 2NF) and providing examples of table structures for a movie booking system. The final tables after achieving 2NF are listed, demonstrating the relationships and dependencies among the data entities.

Uploaded by

chanaman980
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Module Code & Module Title

Level 6 – Data and Web Development

Assessment Type
Submission: Milestone 1
AY 2025 2026
Academic Semester: Autumn Semester 2025

Student Name: Niharika Poudel


London Met ID: 23056271
College ID: NP01CP4S240082
Assignment Due Date: Wednesday, December 24, 2025
Assignment Submission Date: Wednesday, December 24, 2025
Word Count:

I confirm that I understand my coursework needs to be submitted online via MST Classroom under the relevant
module page before the deadline for my assignment to be accepted and marked. I am fully aware that late
submissions will be treated as non-submission and a mark of zero will be awarded.
1. Normalization
Normalization is the systematic approach of breaking complex database tables into simpler, that
reduce data anomalies and improves the overall database performance making us easy to
understand. In the process of normalization, the splitting is performed very carefully so that no
information is lost. The higher the normal form is, the lower the redundancy. Generally, four
forms of redundancy are done over here i.e. UNF, 1NF, 2NF and 3NF.

Figure 1 Movie Booking System Business Case Diagram

1.1 UNF

MovieBooking (User_ID, Username, User_Address, User_Gmail {


Movie_Id, Movie_title, duration, Movie_language, genre, ReleaseDate {
Theatre_City_ID, City_Name, City_Contact, City_Location {
TheatreID, Theatre_Name, Theatre Contact, Threatre_Location {
Hall_ID, Hall_Name, Hall_Capacity {
Show_ID, ShowDate, ShowTime {
Ticket_ID, Ticket_Price, Ticket_seat, Ticket_Satus, Purchase_Date, Purchase_Time
Booking_Date, Booking_Time, Cancellation_Date, Cancellation_Time)}}}}})
1.2 1NF

In 1NF here we eliminate the Repeating Group by creating a separate table for them.
Steps to Achieve 1NF:
1. Identify repeating groups, eliminate it ensuring atomic values in each column.
2. Assign primary keys to newly created tables.
3. Add foreign keys to maintain relationships.
4. Carry forward unique identifier to new relation.

User-1 (User_ID, Username, User_Address, User_Gmail, User_Contact )

Movie-1 (Movie_Id, User_ID* movie_title, duration, movie_language, genre, ReleaseDate)

Theatre_City-1(Theatre_City_ID, Movie_ID, User_Id*, City_Hall_Name,


City_Hall_Location, City_Hall_Contact)

Threatre- (TheatreID, User_ID*, Movie_ID*, Theatre_City_ID* Threatre_Name,


Theatre_Location, Threatre_Contact)

Hall-1 (Hall_ID, TheatreID*, User_ID*, Movie_ID* Hall_Name, Hall_Capacity)

Show-1 (Show_ID, Movie ID* , Hall_ID* Theatre_Id * User_Id* ShowDate, ShowTime)

Ticket -1 (Ticket_ID, Show_Id * User_Id*Movie_ID* Hall_ID*, Ticket_Price, Ticket_seat,


Booking_Date, Booking_Time, Cancellation_Date, Cancellation_Time)
1.3 2NF

A table now is said to be in 2NF if all 1NF requirements are fulfilled and then there is no
partial dependency. At first, we check for the composite key, and in the table containing
composite key we then check for the partial and functional dependencies.

(1) In User table, we don’t look after the partial and functional dependencies as it doesn’t have a
composite key.

User-2 (User_ID, Username, User_Address, User_Gmail, User_Contact )

(2) In table Movie,

Movie (Movie_Id, User_ID* movie_title, duration, movie_language, genre, ReleaseDate)

Movie_ID Movie_Title, duration, Movie_Language, genre, Release_Date) P.D

User_ID  NO

Movie_ID, User_ID  NO

For movie, now we have,

Movie (Movie_ID, Movie_Title, duration, Movie_Language, genre, Release_Date)

Movie_User (Movie_ID, User_ID)

(3) In table Threatre_City,

Theatre_City-1(Theatre_City_ID, Movie_ID, User_Id*, City_Hall_Name,


City_Hall_Location, City_Hall_Contact)

Threatre_City_ID  City_Hall_Name, City_Hall_Location, City_Hall_Contact

User_ID 

Movie_ID 

Threatre_City_ID, User_ID 
Threatre_City_ID, Movie_ID 

User_ID, Movie_ID

Theatre_City_ID, Movie_ID, City_ID, User_ID 

Theatre_City (Threatre City_ID, City_Hall_Name, City_Hall_Location, City_Hall_Contact)

Theatre_City_ Mapping (City_Hall_ID, Threatre_ID, Movie_ID, User_ID)

(4) In table Theatre,

Theatre (TheatreID, User_ID*, Movie_ID*, Theatre_City_ID*, Theatre_Name,


Theatre_Location, Theatre_Contact)

Movie_ID 

Threatre_ID ( Theatre_Name, Theatre_Location, Theatre_Contact)

User_ID 

Theatre_City_ID 

Movie_ID, User_ID 

Movie_ID, Theatre_ID 

Theatre_ID, User_ID 

Movie_ID, User_ID, Theatre_ID, Threatre_City_ID 

For Theatre, now we have,

Threatre (Theatre_ID, Theatre_Name, Theatre_Location)

UserMovieCityTheatre (User_ID, Movie_ID, Threatre_ID, Theatre_City_ID)


(5) For table, Hall

Hall (Hall_ID, TheatreID*, User_ID*, Movie_ID* Hall_Name, Hall_Capacity)

User_ID *, Movie_ID *, Theatre_ID * Hall_ID*  NO

Hall (Hall_ID, Hall_Name, Hall_Capacity)

UserMovieCityTheatre_Hall (Hall_ID, Theatre_ID)

(6) For table Show,

Show (Show_ID, Movie ID* , Hall_ID* Theatre_Id * User_Id* Theatre_City_ID*


ShowDate, ShowTime)

User_ID *, Movie_ID*, Threatre_City_ID *, Theatre_ID *, Hall_ID*, Show_ID NO

Show (Show_ID, ShowDate, ShowTime)

UserMovieCityTheatreHallShow (Show_ID, Movie_ID, Hall_ID, Threatre_ID)

(7) For table Ticket,

Ticket (Ticket_ID, Theatre_ID* Theatre_City_ID* Show_Id * User_Id*Movie_ID*


Hall_ID*, Ticket_Price, Ticket_seat, Booking_Date, Booking_Time, Cancellation_Date,
Cancellation_Time)

Ticket (Ticket_ID, Ticket_Price, Ticket_seat, Booking_Date, Booking_Time,


Cancellation_Date, Cancellation_Time)

UserMovieCityTheatreHallShowTicket (Ticket_ID, Show_ID, User_ID, Theatre_ID,


Theatre_City_ID, Movie_ID, Hall_ID, City_ID)
Final Tables after 2NF

1. User-2 (User_ID, Username, User_Address, User_Gmail, User_Contact)


2. Movie (Movie_ID, Movie_Title, duration, Movie_Language, genre, Release_Date)
3. Movie_User (Movie_ID, User_ID)
4. Theatre_City (Threatre City_ID, City_Hall_Name, City_Hall_Location,
City_Hall_Contact)
5. Theatre_City_ Mapping (City_Hall_ID, Threatre_ID, Movie_ID, User_ID)
6. Threatre (Theatre_ID, Theatre_Name, Theatre_Location)
7. UserMovieCityTheatre (User_ID, Movie_ID, Threatre_ID, Theatre_City_ID)
8. Hall (Hall_ID, Hall_Name, Hall_Capacity)
9. UserMovieCityTheatre_Hall (User_ID, Movie_ID, Theatre_City_ID, Hall_ID,
Theatre_ID)
10. Show (Show_ID, ShowDate, ShowTime)
11. UserMovieCityTheatreHallShow (User_ID, Theatre_City_ID, Show_ID, Movie_ID,
Hall_ID, Threatre_ID)
12. Ticket (Ticket_ID, Ticket_Price, Ticket_seat, Booking_Date, Booking_Time,
Cancellation_Date, Cancellation_Time)
13. UserMovieCityTheatreHallShowTicket (Ticket_ID, Show_ID, User_ID, Theatre_ID,
Theatre_City_ID, Movie_ID, Hall_ID, City_ID)

You might also like