0% found this document useful (0 votes)
160 views15 pages

TGV Movie Ticket Booking System Report

The document is a final project report for a movie ticket booking system created by a group of students. It provides an overview of the project including the background and objectives. It outlines the current manual system and its limitations. It then describes the business rules and entities involved through an Entity Relationship Diagram. The report also includes the data dictionary and relational schema to define the database structure. The SQL statements section will demonstrate queries on the database tables to retrieve and maintain booking data.

Uploaded by

maizatulnazuha
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)
160 views15 pages

TGV Movie Ticket Booking System Report

The document is a final project report for a movie ticket booking system created by a group of students. It provides an overview of the project including the background and objectives. It outlines the current manual system and its limitations. It then describes the business rules and entities involved through an Entity Relationship Diagram. The report also includes the data dictionary and relational schema to define the database structure. The SQL statements section will demonstrate queries on the database tables to retrieve and maintain booking data.

Uploaded by

maizatulnazuha
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

Final Project Report

ITS 232

TGV’S MOVIE TICKET


BOOKING SYSTEM
SEMESTER MARCH – AUGUST 2021
GROUP: JCS143[STATE YOUR GROUP]

NURIN HANNANI BINTI HALIMI


2020887648

MAIZATUL NAZUHA BINTI SAADON


2020824396

SYAMIMI FARHANA BINTI ABDUL KARIM


2020868232
FINAL PROJECT REPORT ITS 232

Table of Contents
1. Project Overview
1.1 Organization Background
1.2 Current System Descriptions
1.3 Project Objectives
2. Business Rules and Entity Relationship Diagram (ERD)
2.1 List of Business Rules
2.2 Complete ER Diagram
2.3 Data Dictionary
2.4 Complete Relational Schema
3. Database Declaration
3.1 Tables
4. SQL Statements
4.1 Simple SQL Queries
4.2 Retrieving Data from Multiple Tables
4.3 Scalar Functions and Arithmetic/ Column Functions and Grouping
4.4 Sub Queries / Maintaining Data
5. References

2|Page
FINAL PROJECT REPORT ITS 232

1. Project Overview
1.1 Organization Background

Tanjung Golden Village Cinemas or we called it as TGV Cinemas is a completely


owned subsidiary of Tanjong Public Limited Company. TGV Cinemas has grown to
become one of Malaysia's premier film exhibition companies, but also a pioneer of the
cinema industry and owner of premier multiplexes in Malaysia, since its inception in
1995. Yeoh Oon Lai founded it on June 28, 1994. In addition, Maxis Tower in Kuala
Lumpur serves as the company's headquarters. They are located in 34 multiplexes with
268 screens and more than 45,000 seats all over Malaysia including major shopping
centers in Kuala Lumpur, Selangor, Negeri Sembilan, Perak, Penang, Johor,
Terengganu and Sarawak.

They have been struggling to ensure all of their customer to have the best
cinematic experience by striving to improve every imperfection every day. Behind these
screens is a dedicated team dedicated to making customers happy. They renovated
some of their flagship locations to give them a new look, primarily to create a more
pleasant, lively, and contemporary surroundings. Some of the cinema halls were
redesigned and renovated to make better use of the available space. Apart from the
facelift, TGV Cinemas is entirely digital. Cinemagoers can enjoy unrivalled brightness,
sharpness, and excellent image quality in high resolution content such as films,
documentaries, and other alternative content. They also take pleasure in the flavorful
quality of our food and beverages, providing the best popcorn in town as well as an
interesting selection of options for customers at any of our 38 sites across the country.

3|Page
FINAL PROJECT REPORT ITS 232

1.2 Current System Descriptions

The current system of movie ticket booking in TGV Cinema (Tanjung Golden
Village) Cinema involves a few procedures. These procedures must be followed in the
right way so that there is no system error occurring in the movie ticket booking system. A
system error that occurs can cause the system to crash temporarily and will
inconvenience other customers.
These are the steps that need to be followed to book your ticket at TVG Cinema.
First thing first, customers need to log in to [Link] . It is likely that the website is a
bit slow due to many customers who are booking tickets at the same time. It can also
happen to run out of tickets depending on the movie that is hot on the market so
customers need to be alert and quick in booking tickets. The renewal of the number of
tickets takes a little time so that the customers need to be patient if there is a run out of
tickets. Next, the customers need to find the movie that they have planned to watch at
that time and choose the movie and ticket right after that. Then, choose the date of the
movie that customers want to watch. From the list given, select the movie theatre and
select the show time. Please be careful with all these options. You might choose the
wrong one and waste your own money. Then, choose the number of seats from the label
given according to price and row such as normal seat, executive seat and VIP seat.
Then, click on the row and the seats you want to book. Finally, click on "Pay" and the
price will be mentioned below. Lastly, click to make a payment.
There are two payment methods that are provided, which are the customers can
choose to do the online payment method or offline. The online method will be as
described above but the offline method will be a little bit different. The offline method has
two ways which is you can book online and pay to the cashier as you come to the
cinema. The second one is that customers can come directly to the cinema and select
the movie ticket they want and then continue to make payment at the cashier.

1.3 Project Objectives

1. To make this system user friendly as the process of booking movie tickets can be
done easily.
2. To prevent the overlapping of movie tickets for each movie showtimes.
3. To record the list of customers for future references

4|Page
FINAL PROJECT REPORT ITS 232

2. Business Rules and Entity Relationship Diagram (ERD)


2.1 List of Business Rules

1)Each employee can register many customer information. Many customer can register
information by an employee.

2) Every customer can make many payment. Many payment can be paid by a customer.

3) Many payments are made to get many tickets. Many tickets can be obtained by
making many payments.

4) Each ticket for one hall. One hall consists for one ticket.

5) Each ticket for one showtime. One show time consists for one ticket.

6)Every hall have only one showtime. One show time provided for one hall.

2.2 Complete ER Diagram


[Illustrate a complete Entity Relationship Diagram including entities involved, relationship
or connectivity, cardinalities, specialization hierarchy (if any), PKs, FKs and etc.]

5|Page
FINAL PROJECT REPORT ITS 232

2.3 Data Dictionary


TABLE ATTRIBUTE NAME CONTENTS TYPE FORMAT RAN REQUIRED PK FK
NAME GE OR REFERENC
FK ETABLE

EMPLOYEE EMPLOYEE_ID Employee VARCHAR(5) XX999 NA Y PK


ID
EMPLOYEE_NAME Employee CHAR(50) XXXXXXXX NA Y
name XX
EMPLOYEE_PHONE Employee VARCHAR(12) 999-9999 NA Y
_NUM phone 9999
number
EMPLOYEE_SHIFT Employee VARCHAR(10) 9999-9999 NA Y
shift

CUSTOMER CUSTOMER_ID Customer VARCHAR(5) XX999 NA Y


ID PK
CUSTOMER_NAME Customer CHAR(50) XXXXXXXX NA Y
Name XX
CUSTOMER_NO_P Customer VARCHAR(12) 999-9999 NA Y
HONE number 9999
phone
EMPLOYEE_ID Employee VARCHAR(5) XX999 NA Y FK
ID EMPLOYEE

HALL HALL_NUM Hall NUMERIC(2) 99 NA Y PK


Number
HALL_TYPE Hall type VARCHAR(8) XXXXXXXX NA Y

TOTAL_SEAT Total seat NUMERIC (3) 999 NA Y

SHOWTIME MOVIE_TITLE Movie title VARCHAR(20) XXXXXXXX NA Y PK


XX
MOVIE_TIME Movie time TIME [Link] NA Y

MOVIE_DATE Movie date DATE YYYY-MM- NA Y


DD
MOVIE_GENRE Movie CHAR(10) XXXXXXXX NA Y
genre XX
MOVIE_DURATION Duration of VARCHAR(10) 9X 99XXX NA Y
the movie
HALL_NUM Hall NUMERIC(2) 99 NA Y FK
number HALL

6|Page
FINAL PROJECT REPORT ITS 232

PRICE_CHILD Ticket price NUMERIC(4,2) 99.99 NA Y


for children
PRICE_ADULT Ticket price NUMERIC(4,2) 99.99
for adult

TICKET TICKET_ID Ticket ID VARCHAR(5) XX999 NA Y PK


TICKET_DATE Ticket date DATE 99999999 NA Y
TICKET_TIME Ticket time TIME 99999999 NA Y
MOVIE TITLE Movie title VARCHAR(20) XXXXXXXX NA Y FK
XX SHOWTIME

HALL_NUM Hall NUMERIC(2) 99 NA Y FK


number HALL

SEAT_NUM Seat VARCHAR(3) X99


number

PAYMENT PAYMENT_ID Payment ID VARCHAR(5) XX999 NA Y PK


PAYMENT_DATE Payment DATE YYYY-MM- NA Y
date DD
PAYMENT_TIME Payment TIME [Link] NA Y
time
CUSTOMER_ID Customer VARCHAR(5) XX999 NA Y FK
ID CUSTOMER

TICKET_ID Ticket ID VARCHAR(5) XX999 NA Y FK TICKET

PAYMENT_TICKET PAYMENT_ID Payment ID VARCHAR(5) XX999 NA Y PK,


FK PAYMENT

TICKET_ID Ticket_ID VARCHAR(5) XX999 NA Y PK,


FK TICKET

7|Page
FINAL PROJECT REPORT ITS 232

2.4 Complete Relational Schema


- EMPLOYEE (EMPLOYEE_ID, EMPLOYEE_NAME, EMPLOYEE_PHONE_NUM,
EMPLOYEE_SHIFT)
- CUSTOMER (CUSTOMER_ID, CUSTOMER_NAME, CUSTOMER_NO_PHONE,
EMPLOYEE_ID*)
- HALL (HALL_NUM, HALL_TYPE, TOTAL_SEAT)
- SHOWTIME (MOVIE_TITLE, MOVIE_TIME, MOVIE_DATE, MOVIE_GENRE,
MOVIE_DURATION, HALL_NUM*, PRICE_CHILD, PRICE_ADULT)
- TICKET (TICKET_ID, TICKET_DATE, TICKET_TIME, MOVIE_TITLE*,
HALL_NUM*, SEAT_NUM)
- PAYMENT (PAYMENT_ID, PAYMENT_DATE, PAYMENT_TIME, CUSTOMER_ID*,
TICKET_ID*)
- PAYMENT_TICKET (PAYMENT_ID*, TICKET_ID*)

3. Database Declaration
3.1 Tables

[Show all tables declaration and sample of output for each table. For table declaration,
you can show the SQL statements of each table]

Example:
1. Table: House
CREATE TABLE HOUSE
(HOUSENO VARCHAR(4) NOT NULL,
ADDRESS VARCHAR(25),
HOUSECATEGORY VARCHAR(10),

8|Page
FINAL PROJECT REPORT ITS 232

OWNERID VARCHAR(4),
PRIMARY KEY (HOUSENO),
FOREIGN KEY (OWNERID) REFERENCES OWNER;

Sample of output :

4. SQL Statements

4.1 Simple SQL Queries

I. Display all the employee that is working in the cinema. The result must be sorted
by employee id descending.
Query 1:

SOLUTION :
SELECT EMPLOYEE_ID, EMPLOYEE_NAME, EMPLOYEE_PHONE_NUM,
EMPLOYEE_SHIFT
FROM EMPLOYEE
ORDER BY EMPLOYEE_ID DESC;

9|Page
FINAL PROJECT REPORT ITS 232

II. List the detail of tickets that their ticket price less than 15.00
Query 2 :

SOLUTION :
SELECT*FROM TICKET
WHERE TICKET_PRICE <= '15.00';

III. List the detail of the customers that is their name start with letter ‘M’
Query 3:

SOLUTION:
SELECT CUSTOMER_ID, CUSTOMER_NAME, CUSTOMER_NO_PHONE
FROM CUSTOMER
WHERE CUSTOMER_NAME LIKE 'M%';

IV. Display the information about hall that their total seat is 200
Query 4:

SOLUTION :
SELECT*FROM HALL
WHERE TOTAL_SEAT ='200';

10 | P a g e
FINAL PROJECT REPORT ITS 232

V. List the all the employees that their shift on on 9 am until 7pm. The result must
be sorted by employee name ascending.

SOLUTION :
SELECT*FROM EMPLOYEE
WHERE EMPLOYEE_SHIFT ='0900-1900'
ORDER BY EMPLOYEE_NAME ASC;

4.2 Retrieving Data from Multiple Tables


[Show the SQL statement. Followed by the sample of output.]

11 | P a g e
FINAL PROJECT REPORT ITS 232

4.3 Scalar Functions and Arithmetic/ Column Functions and Grouping

I. Give 10% discount on the ticket price. Display MOVIE_TITLE, TICKET_TYPE,


the old price and the new price.

SOLUTION :
SELECT S.MOVIE_TITLE,TICKET_TYPE,TICKET_PRICE AS "OLD PRICE",
(TICKET_PRICE-(TICKET_PRICE*0.10)) AS "NEW PRICE"
FROM SHOWTIME S,TICKET T
WHERE S.MOVIE_TITLE = T.MOVIE_TITLE;

II. Change the payment date for payment id PA004 and PA005 instead 2022-06-30

12 | P a g e
FINAL PROJECT REPORT ITS 232

change to 2022-05-30.

SOLUTION :
SELECT PAYMENT_ID,PAYMENT_TIME,
SUBDATE(PAYMENT_DATE,INTERVAL 1 MONTH) AS "NEW PAYMENT DATE"
FROM PAYMENT
WHERE PAYMENT_ID IN ('PA004','PA005');

III. For all the customers, display CUSTOMER_ID, CUSTOMER_NO_PHONE and


the sum of all ticket prices for each customer. Name the derived column
TOTAL_PAYMENT.

SOLUTION :
SELECT CUSTOMER_ID,CUSTOMER_NO_PHONE,SUM(TICKET_PRICE)
FROM TICKET, CUSTOMER
GROUP BY CUSTOMER_ID;

13 | P a g e
FINAL PROJECT REPORT ITS 232

IV. Calculate total payment for ticket prices for adult. Name the derived column
TOTAL_PAYMENT.

SOLUTION :
SELECT SUM(TICKET_PRICE) AS TOTAL_PAYMENT
FROM TICKET
WHERE TICKET_TYPE LIKE 'A%';

V. List all the ticket types excluding adults with average ticket price less than 20.00

SOLUTION :
SELECT TICKET_ID,TICKET_TYPE,AVG(TICKET_PRICE) AS AVG_TPRICE
FROM TICKET,CUSTOMER
WHERE TICKET_TYPE NOT IN ('ADULT')
GROUP BY CUSTOMER_ID,TICKET_TYPE
HAVING AVG(TICKET_PRICE) < 20.00
ORDER BY CUSTOMER_ID,TICKET_TYPE;

4.4 Sub Queries / Maintaining Data


[Show the SQL statement. Followed by the sample of output.]

14 | P a g e
FINAL PROJECT REPORT ITS 232

5. References

[Please use APA format]


Basic Format for Books

Author, A. A. (Year of publication). Title of work: Capital letter also for subtitle. Location:
Publisher.

Example:

Calfee, R. C., & Valencia, R. R. (1991). APA guide to preparing manuscripts for
journal publication. Washington, DC: American Psychological Association.

Basic Format for Online Periodical

Author, A. A., & Author, B. B. (Date of publication). Title of article. Title of Online
Periodical, volume number (issue number if available). Retrieved from
[Link]

Example:

Bernstein, M. (2002). 10 tips on writing the living Web. A List Apart: For People
Who Make Websites, 149. Retrieved from [Link]

Basic Format for Human

Name:

Position:

Date interview:

15 | P a g e

You might also like