Final Dbms Report
Final Dbms Report
IN
COMPUTER SCIENCE AND ENGINEERING
PROJECT ASSOCIATES
PruthviRaj R C 4BD23CS151
Raghavendra P 4BD23CS155
Rakesh K U 4BD23CS157
Ramesh H M 4BD23CS163
PROJECT GUIDES
2024-2025
Bapuji Institute of Engineering and Technology
Department of Computer Science and Engineering
Davanagere-577004
Bapuji Institute of Engineering and Technology
Davanagere-577004
CERTIFICATE
This is to certify that PruthviRaj R.C, Raghvendra P, Rakesh K U and Ramesh H M bearing
USN 4BD23CS151, 4BD23CS155, 4BD23CS157 and 4BD23CS163 respectively of Computer
Science and Engineering department have satisfactorily submitted the Mini Project report entitled
“Online Movie Ticket Bookings” for 4th SEM DBMS MINI PROJECT (BCS403). The
project report has been approved as it satisfies the academic requirements for the year 2024-25.
We express our sincere thanks to our resourceful guides Professor, Department of Computer
Science and Engineering, B.I.E.T., Davanagere, and Prof. Archana T Chawhan, Assistant
Professor, Department of Computer Science and Engineering, B.I.E.T., Davanagere, and Prof.
Drusti Shastri, Assistant Professor, Department of Computer Science and Engineering,
B.I.E.T., Davanagere, who helped us in every aspect of our project. We are indebted to their
discussions about the technical aspects and suggestions pertaining to our project.
We are grateful to Dr. Nirmala C R, Professor and H.O.D, Department of Computer Science
and Engineering, B.I.E.T., Davanagere, for endeavouring encouragement, facilities and
extended support.
We also express our whole hearted gratitude to our respected Principal, Dr. H B Aravind for
his moral support and encouragement.
We would like to extend our gratitude to all staff of the Department of Computer Science
and Engineering for the help and support rendered to us. We have benefitted a lot from the
feedback, and suggestions given by them.
We would like to extend our gratitude to all our family members and friends especially for their
advice and moral support.
PruthviRaj R C 4BD23CS151
Raghvendra P 4BD23CS155
Rakesh K U 4BD23CS157
Ramesh H M 4BD23CS163
Bapuji Educational Association (Regd.)
Bapuji Institute of Engineering and Technology, Davanagere-577004
Vision
Mission
“BIET contributes to the growth and development of its students by imparting a broad based
engineering education and empowering them to be successful in their chosen field by
inculcating in them positive approach, leadership qualities and ethical values.”
Vision
Mission
1. Adapting best teaching and learning techniques that cultivates Questioning and
Reasoning culture among the students.
3. Establishing Industry Institute relationship to bridge skill gap and make them
industry ready and relevant.
PEO1 To apply skills acquired in the discipline of computer science and engineering for
solving Societal and industrial problems with apt technology intervention.
PEO2 To continue their carrier ion industry/ academia or pursue higher studies and
research.
PSO1 Analyse and develop solutions for problems that are complex in nature but applying
the knowledge acquired from the core subjects of this program.
PSO2 To develop secure, scalable, resilient and distributed applications for industry and
societal requirements.
PSO3 To learn and apply the concepts and contract of emerging technologies like artificial
intelligence, machine learning, deep learning, big-data analytics, IOT, cloud
computing etc for any real time problems.
Course Outcomes:
PAGE
NO
CHAPTER 1 : INTRODUCTION 01-06
1.1 Introduction 01
1.5 Objectives 03
4.1 ER Diagram 07
4.2 Description 08
CONCLUSION 23
REFERENCES 24
LIST OF FIGURES
1 4.1 ER Diagram 07
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION
The Online Movie Ticket Booking System is a modern web-based application designed to
simplify and enhance the movie-going experience by automating the ticket booking process. By
integrating real-time show schedules, seat selection options, and secure online payment
gateways, the system eliminates the traditional hassles of queuing at cinema counters and
facilitates a smooth, user-friendly booking process.
This platform empowers users to browse current and upcoming movie listings, view available
showtimes across multiple theatres, and select their preferred seats from an interactive layout.
The streamlined booking experience is supported by a powerful backend database that manages
theatre information, movie schedules, seat inventory, user profiles, and transaction records with
high accuracy and efficiency.
The core objective of the system is to improve accessibility, convenience, and operational
efficiency in the cinema ticketing domain. It supports both single and multiple ticket bookings,
group discounts, and ticket cancellations, allowing users to customize their viewing experience
according to their preferences. A user-friendly dashboard allows registered users to manage
bookings, receive e-tickets, and view booking history, while administrators can add new movie
entries, update theatre schedules, and monitor overall booking activity.
Security and reliability are key features of the system. It ensures data integrity through encrypted
transactions and robust authentication mechanisms. The admin panel offers complete control
over the movie and theatre database, including show management, pricing strategies, seat
allocation, and report generation.
Additionally, the system is designed with scalability in mind, making it easily integrable with
mobile applications and third-party ticketing services. Features such as email and SMS
confirmations, customer feedback collection, password recovery, and promotional notifications
enhance user engagement and satisfaction. With the potential for future enhancements like
recommendation systems, AI-driven customer service bots, and predictive analytics for viewer
trends, the platform sets a solid foundation for transforming the traditional cinema ticket booking
process into a dynamic digital experience.
To efficiently manage and work with such data, we use a Database Management System (DBMS).
A DBMS is a software system specifically designed to define, store, retrieve, and manipulate
data in a structured and organized way. It provides a logical view of the data, freeing users from
worrying about how the data is physically stored or maintained behind the scenes. The DBMS
manages everything from the structure of the database — including tables, fields, and records —
to how the data is accessed and kept consistent. It ensures that data is accurate, secure, and
accessible to authorized users, while also enforcing rules and constraints that maintain data
integrity.
One major advantage of using a DBMS is that it simplifies data handling through high-level
query languages. Users no longer need to write low-level programs for every data operation.
Instead, with languages like SQL (Structured Query Language), they can perform complex tasks
using short, readable commands — such as retrieving all records from a table, updating specific
values, or filtering results based on conditions. These fourth-generation languages allow for
powerful interaction with the database, supporting both casual users and developers.
DBMS systems are used across a wide range of applications, from small desktop apps to large
enterprise systems. Examples of commonly used DBMS software include MySQL, which is
popular in open-source and web development; SQL Server, which is widely used in Microsoft-
based environments; Oracle, known for handling large-scale enterprise data; and legacy systems
like dBase and FoxPro, which were popular in earlier decades and are still used in some
organizations. Overall, a DBMS plays a critical role in data-driven systems, ensuring that data is
well-organized, secure, and easy to work with, no matter the scale or complexity of the
application.
1.5 OBJECTIVES
To design a user-friendly web platform for automating movie ticket bookings, seat selection,
and showtime browsing. It will include real-time movie listings and seat availability for accurate,
up-to-date booking experiences.
To implement a secure, database-driven system for administrators to manage theatres,
movie schedules, seat layouts, and ticket transactions. Secure payment gateways and automated
ticket generation will reduce manual work and booking errors.
To develop a robust admin panel for managing movies, bookings, and theater operations.
With 24/7 access and a scalable MySQL database, the system ensures data security, integrity,
and smooth operations.
CHAPTER 2
LITERATURE SURVEY
Summary:
Describes the technical framework for building an online booking portal using standard web
technologies. The system includes features such as dynamic seat selection, SMS/email
notifications, and admin-side schedule control.
CHAPTER 3
REQUIREMENT SPECIFICATION
The basic hardware required for the development of this project is:
RAM: Minimum 6 GB
Backend: PHP
Database: MySQL
CHAPTER 4
DESIGN
4.1 ER DIAGRAM
4.2 Description
The ER Model figure shows a conceptual view of the database. It represents real-world
entities and the associations among them. At the view level, the ER model is considered an
ideal approach for designing databases. So, let's explore each entity involved in the online
movie ticket booking system:
USER TABLE shows the structure and details of the users who register and log in to the
platform to book movie tickets.
MOVIE TABLE shows the structure and details of the movies available for booking,
including attributes like title, genre, duration, language, and rating.
SHOWTIME TABLE shows the structure and details of the movie showtimes, including the
date, time, and screen on which the movie is being shown.
BOOKING TABLE shows the structure and details of the ticket bookings made by users,
including selected seats, showtime ID, and booking timestamp.
THEATRE TABLE shows the structure and details of the theatres or screens where movies
are played, including location, screen number, and capacity.
PAYMENT TABLE shows the structure and details of the payments made by users for their
bookings, including the payment method, transaction status, and amount.
REVIEW TABLE shows the structure and details of the user reviews and ratings provided for
the movies.
Key Features:
In summary, the Online Movie Ticket Booking System combines modern web technologies
and database management principles to deliver a reliable, secure, and user-centric solution
for cinema operations. It lays a strong foundation for future innovations in digital
entertainment services, while demonstrating core concepts in software and database design.
Step 1: Mapping of Regular Entity Types. For each regular (strong) entity type E in the ER
schema, create a relation R that includes all the simple attributes of E. Include only the simple
component attributes of a composite attribute. Choose one of the key attributes of E as the primary
key for R. If the chosen key of E is a composite, then the set of simple attributes that form it will
together form the primary key of R. If multiple keys were identified for E during the conceptual
design, the information describing the attributes that form each additional key is kept in order to
specify secondary (unique) keys of relation R. Knowledge about keys is also kept for indexing
purposes and other types of analyses.
Step 2: Mapping of Weak Entity Types. For each weak entity type W in the ER schema with
owner entity type E, create a relation R and include all simple attributes (or simple components
of composite attributes) of was attributes of R. In addition, include as foreign key attributes of R,
the primary key attribute(s) of the relation(s) that correspond to the owner entity type(s); this takes
care of mapping the identifying relationship type of W. The primary key of R is the combination
of the primary key(s) of the owner(s) and the partial key of the weak entity type W, if any. If there
is a weak entity type E2 whose owner is also a weak entity type E1, then El should be mapped
before E2 to determine its primary key first.
Step 3: Mapping of Binary 1:1 Relationship Types. For each binary 1:1 relationship type R in
the ER schema, identify the relations S and T that correspond to the entity types participating in
R. There are three possible approaches: 1. The foreign key approach. 2. The merged relationship
approach, and 3. The cross-reference or relationship approach. The first approach is the most
useful and should be followed unless special conditions exist, as we discuss below.
1.Foreign key approach: Choose one of the relations-S, say and include as a foreign key
in S the primary key of T. It is better to choose an entity type with total participation in R in
the role of S. Include all the simple attributes (or simple components of composite attributes)
of the 1:1 relationship type R as attributes of S.
Step 4: Mapping of Binary 1: N Relationship Types. For each regular binary 1: N relationship
type R, identify the relation S that represents the participating entity type at the N-side of the
relationship type. Include as foreign key in S the primary key of the relation T that represents the
other entity type participating in R; we do this because each entity instance on the N-side is related
to at most one entity instance on the 1-side of the relationship type. Include any simple attributes
(or simple components of composite attributes) of the 1: N relationship type as attributes of S.
Step 5: Mapping of Binary M: N Relationship Types. For each binary M: N relationship type
R, create a new relation S to represent R. Include as foreign key attributes in S the primary keys
of the relations that represent the participating entity types; their combination will form the
primary key of S. Also include any simple attributes of the M: N relationship type (or simple
components of composite attributes) as attributes of S. Notice that we cannot represent an M: N
relationship type by a single foreign key attribute in one of the participating relations (as we did
for 1:1 or 1: N relationship types) because of the M: N cardinality ratio; we must create a separate
relationship relation S.
Step 6: Mapping of Multivalued Attributes. For each multivalued attribute A, create a new
relation R. This relation R will include an attribute corresponding to A, plus the primary key
attribute K-as a foreign key in R-of the relation that represents the entity type or relationship type
that has A as a multivalued attribute. The primary key of R is the combination of A and K. If the
multivalued attribute is composite, we include its simple components.
Step 7: Mapping of N-array Relationship Types. For each n-array relationship type R, where n>
2, create a new relation S to represent R. Include as foreign key attributes in S the primary keys
of the relations that represent the participating entity types. Also include any simple attributes of
the n-array relationship type (or simple components of composite attributes) as attributes of S.
The primary key of S is usually a combination of all the foreign keys that reference the relations
representing the participating entity types. However, if the cardinality constraints on any of the
entity types E participating in R is 1, then the primary key of S should not include the foreign key
attribute that references the relation E corresponding to E.
CHAPTER 5
IMPLEMENTATION CODE
def create_tables():
conn, cursor = get_db_connection()
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
user_id INTEGER PRIMARY KEY AUTOINCREMENT,
username TEXT UNIQUE NOT NULL,
cursor. Execute('''
CREATE TABLE IF NOT EXISTS movies (
movie_id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
genre TEXT,
duration TEXT,
language TEXT,
rating TEXT,
image TEXT,
description TEXT
)
''')
cursor. Execute('''
CREATE TABLE IF NOT EXISTS theaters (
theater_id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
location TEXT,
city TEXT
)
''')
cursor.execute('''
CREATE TABLE IF NOT EXISTS showtimes (
show_id INTEGER PRIMARY KEY AUTOINCREMENT,
movie_id INTEGER,
theater_id INTEGER,
show_date TEXT,
show_time TEXT,
seats_available INTEGER,
price INTEGER,
FOREIGN KEY (movie_id) REFERENCES movies(movie_id),
FOREIGN KEY (theater_id) REFERENCES theaters(theater_id)
)
cursor.execute('''
CREATE TABLE IF NOT EXISTS bookings (
booking_id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER,
show_id INTEGER,
num_seats INTEGER,
seats TEXT,
total_amount INTEGER,
booking_time TEXT,
FOREIGN KEY (user_id) REFERENCES users(user_id),
FOREIGN KEY (show_id) REFERENCES showtimes(show_id)
)
'')
conn.commit()
conn.close()
sample_movies = [
("Avengers: Endgame", "Action", "3h 1m", "English", "8.4/10", “avengers_endgame.jpg",
"The epic conclusion to the Infinity Saga."),
("Jawan", "Action/Thriller", "2h 49m", "Hindi", "8.5/10", "movie_images/jawan.jpg",
"A high-octane action thriller."),
("Pathaan", "Action/Spy", "2h 26m", "Hindi", "7.8/10", "movie_images/pathaan.jpg",
"India's biggest Spy thriller."),
("Oppenheimer", "Biography/Thriller", "3h", "English", "8.8/10", "movie_images/oppenheimer.jpg",
"The story of the father of the atomic bomb."),
sample_theaters = [
("PVR Cinemas", "Phoenix Marketcity", "Mumbai"),
("INOX", "R-City Mall", "Mumbai"),
("Cinepolis", "Viviana Mall", "Thane"),
("Miraj Cinemas", "Nirmal Lifestyle", "Mumbai"),
("Carnival Cinemas", "Moviestar", "Thane"),
]
CHAPTER 6: SNAPSHOTS
The Online Movie Ticket Booking System provides a structured, automated approach to cinema ticket
reservations, ensuring efficiency, accuracy, and a seamless user experience. By integrating PHP and
MySQL, the system facilitates secure transactions, optimized showtime scheduling, and real-time booking
management, reducing the complexities of manual ticketing processes. This platform enhances customer
convenience by offering an intuitive interface for browsing movies, selecting seats, and making secure
payments. Additionally, it streamlines administrative tasks by enabling theater managers to manage movie
schedules, track bookings, and maintain an organized database effortlessly. Future improvements could
include real-time seat availability APIs, dynamic pricing based on demand, and AI-powered customer
support for personalized movie recommendations and assistance. The system has the potential to evolve
into a comprehensive entertainment management platform, incorporating concessions pre-orders, loyalty
programs, and partnerships with streaming services.
With ongoing enhancements, the Online Movie Ticket Booking System can redefine the digital cinema
experience, making ticket reservations simpler, faster, and more reliable for audiences everywhere.
23
REFERENCES
1. Fundamentals of database systems, Ramez Elmasri and S B Navathe, 7th Edition, 2017, Pearson
2. Database management systems, Ramakrishnan, and Gehrke, 3rd Edition, 2014, McGraw Hill.
3. Coronel, Morris, and Rob, Database Principles Fundamentals of Design, Implementation and
Management, Cengage Learning 2012,
4. Silberschatz Korth and Sudharshan, Database System Concepts, 6th Edition, McGraw Hill,
2013.
5. https://www.w3schools.com/
6. https://www.tutorialspoint.com/website_development/index.html
24