Project Cs Tara

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 19

VELAMMAL VIDYALAYA

SHOLINGANALLUR

SENIOR SCHOOL
CERTIFICATE EXAMINATION

COMPUTER SCIENCE (083)


PROJECT REPORT
ON

DAILY TRAVEL BOOKING SYSTEM


2024 - 2025
NAME - S. TARA TAZMEEN
ROLL NO -
CLASS - XII
SECTION - A1
GROUP - MPCC
BONAFIDE CERTIFICATE
This is to certify that this COMPUTER SCIENCE Project on the topic DAILY TRAVEL

BOOKING SYSTEM has been successfully completed by S. Tara Tazmeen of class XII

(COMPUTER SCIENCE – 083), Roll.no…………………. at Velammal Vidyalaya,

Sholinganallur for the partial fulfilment of this project as a part of Senior School Certificate

Examination-CBSE, New Delhi for the academic Year 2024– 2025.

Date: …………….

Signature of Principal Signature of the Guide

Submitted for SSCE 2024-2025, COMPUTER SCIENCE Practical examination on

………………….

Signature of the Signature of the

Internal Examiner External Examiner


ACKNOWLEDGEMENT

Apart from the efforts taken by me, the success of the project depends largely on the
encouragement and guidelines of many others. I take this opportunity to express my gratitude
to the people who have been instrumental in the successful completion of this project.

I express deep sense of gratitude to almighty God for giving me the strength to complete
the project successfully.

I express my heartfelt gratitude to my parents for the constant encouragement while


carrying out this project.

I express my deep sense of gratitude to the luminary, the Ms.BANUMATHI L.S, who has
been continuously motivating and extending a helping hand to us.

My sincere thanks to Mr. C. MANIMARAN a guide, mentor, above all a friend, who
critically reviewed my project and guided me during the implementation of the project.

The guidance and support received from all the members who contributed, was vital
for the success of the project. I am grateful for their constant support and help.
S. TARA TAZMEEN

XII- A1

TABLE OF CONTENT:
1. ABSTRACT

2. SYSTEM CONFIGURATION
3. INTRODUCTION PYTHON

MYSQL

4. RELATION BETWEEN PYTHON AND MYSQL

5. MYSQL QUERIES USED IN THIS PROJECT

6. DATABASE CONNECTIVITY

7. SOURCE CODE

8. OUTPUT (SCREENSHOT)

9. MYSQL TABLE

10. BIBILOGRAPHY

ABSTRACT
Objectives of a Daily Travel Booking System:

Effective Management:

The automation and simplification of administrative work is one of the main goals of a travel
booking system. This includes maintaining records of booking, updating booking, deleting
bookings, and inserting new bookings. The technology reduces the administrative load on travel
employees by automating these procedures, freeing them up to concentrate on more strategic
duties that advance the institution as a whole.

SYSTEM CONFIGURATION
HARDWARE CONFIGURATION
Microsoft windows 7 professional/windows 8/windows 8.2:
• Processor : Intel Core i5 or equivalent
• Memory : 2 GB (32-bit), 4 GB (64-bit)
• Disk space : 1.5 GB of free disk space

SOFTWARE REQUIREMENTS
• 1 GB RAM (2 GB+ recommended)
• 9-58 GB free hard disk space depending on edition and configuration, including
space required for temporary files
• DVD-ROM drive (if installing from a Media Kit DVD)
• Basic GPU – Any vendor DirectX 9.0 class or better (Pixel Shader Level 2)
• Intel® Pentium® or compatible, 1.6 GHz minimum (2GHz+ recommended)
• 1024x768 or higher-resolution monitor
• MOUSE OR OTHER POINTING DEVICE
INTRODUCTION:

PYTHON:
Python is a high-level, interpreted scripting language developed in the late 1980s by Guido van Rossum
at the National Research Institute for Mathematics and Computer Science in the Netherlands. The
initial version was published at the all sources newsgroup in 1991, and version 1.0 was released in
1994.

Python 2.0 was released in 2000, and the 2.x versions were the prevalent releases until December 2008.
At that time, the development team made the decision to release version 3.0, which contained a few
relatively small but significant changes that were not backward compatible with the 2.x versions.
Python 2 and 3 are very similar, and some features of Python 3 have been backported to Python 2. But
in general, they remain not quite compatible.
Both Python 2 and 3 have continued to be maintained and developed, with periodic release updates for
both. As of this writing, the most recent versions available are 2.7.15 and 3.6.5. However, an official
End of life of January 1,2020 has been established for Python 2, after which time it will no longer be
maintained. If you are a newcomer to Python, it is recommended that you focus on Python 3, as this
tutorial will do.
Python is still maintained by a core development team at the Institute, and Guido is still in charge,
having been given the title of BDFL (Benevolent Dictator for Life) by the Python community. The
name Python, by the way, derives not from the snake, but from the British comedy troupe Monty
Python’s Flying Circus, of which Guido was, and presumably still is, a fan. It is common to find
references to Monty Python sketches and movies scattered throughout the Python documentation.

Python is Popular
Python has been growing in popularity over the last few years. The 2018 Stack Overflow Developer
Survey ranked Python as the 7th most popular and the number one most wanted technology of the year.
World-class software development countries around the globe use Python every single day. According
to research by Dice Python is also one of the hottest skills to have and the most popular programming
language in the world based on the Popularity of programming Language Index.

Python is Interpreted
Many languages are compiled, meaning the source code you create needs to be translated into machine
code, the language of your computer’s processor, before it can be run. Programs written in an
interpreted language are passed straight to an interpreter that runs them directly.
This makes for a quicker development cycle because you just type in your code and run it, without the
intermediate compilation step.

One potential downside to interpreted languages is execution speed. Programs that are compiled into
the native language of the computer processor tend to run more quickly than interpreted programs. For
some applications that are particularly computationally intensive, like graphics processing or intense
number crunching, this can be limiting.
In practice, however, for most programs, the difference in execution speed is measured in milliseconds,
or seconds at most, and not appreciably noticeable to a human user. The expediency of coding in an
interpreted language is typically worth it for most applications.

Python is Free
The Python interpreter is developed under an OSI-approved open-source license, making it free to
install, use, and distribute, even for commercial purposes.
A version of the interpreter is available for virtually any platform there is, including all flavors of Unix,
Windows, macOS, smartphones and tablets, and probably anything else you ever heard of. A version
even exists for the half dozen people remaining who use OS/2.
Python is Portable
Because Python code is interpreted and not compiled into native machine instructions, code written for
one platform will work on any other platform that has the Python interpreter installed. (This is true of
any interpreted language, not just Python.)

Python is Simple
As programming languages go, Python is relatively uncluttered, and the developers have deliberately
kept it that way.
A rough estimate of the complexity of a language can be gleaned from the number of keywords or
reserved words in the language. These are words that are reserved for special meaning by the compiler
or interpreter because they designate specific built-in functionality of the language.
Python 3 has 33 keywords, and Python 2 has 31. By contrast, C++ has 62, Java has 53, and Visual
Basic has more than 120, though these latter examples probably vary somewhat by implementation or
dialect.

MYSQL:
Database Management System & Types of DBMS:
A Database Management System (DBMS) is a software application that interacts with the
user, applications and the database itself to capture and analyze data. The data stored in the
database can be modified, retrieved and deleted, and can be of any type like strings,
numbers, images etc.

Types of DBMS:
There are mainly 4 types of DBMS, which are Hierarchical, Relational, Network, and
Object-Oriented DBMS.

Hierarchical DBMS: As the name suggests, this type of DBMS has a style of predecessor-
successor type of relationship. So, it has a structure similar to that of a tree, wherein the
nodes represent records and the branches of the tree represent fields.

Relational DBMS (RDBMS): This type of DBMS, uses a structure that allows the users to
identify and access data in relation to another piece of data in the database.

Network DBMS: This type of DBMS supports many to many relations wherein multiple
member records can be linked.

Object-oriented DBMS: This type of DBMS uses small individual software called objects.
Each object contains a piece of data, and the instructions for the actions to be done with the
data.

Structured Query Language (SQL)


SQL is the core of a relational database which is used for accessing and managing the
database. By using SQL, you can add, update or delete rows of data, retrieve subsets of
information, modify databases and perform many actions. The different subsets of SQL are
as follows:
• DDL (Data Definition Language) –It allows you to perform various operations on the
database such as CREATE, ALTER and DELETE objects.
• DML (Data Manipulation Language)– It allows you to access and manipulate data. It
helps you to insert, update, delete and retrieve data from the database.
• DCL (Data Control Language)– It allows you to control access to the database.
Example – Grant or Revoke access permissions.
• TCL (Transaction Control Language) – It allows you to deal with the transaction of
the database. Example – Commit, Rollback, Save point, Set Transaction.

MySQL & its Features


MySQL is an open-source relational database management system that works on many
platforms. It provides multi-user access to support many storage engines and is backed by
Oracle. So, you can buy a commercial license version from Oracle to get premium support
services.
The features of MySQL are as follows:
Ease of Management –The software very easily gets downloaded and also uses an event
scheduler to schedule the tasks automatically.
•Robust Transactional Support –Holds the ACID (Atomicity, Consistency,
Isolation, and Durability) property, and also allows distributed multi-version support.
• Comprehensive Application Development –MySQL has plugin libraries to embed the
database into any application. It also supports stored procedures, triggers, functions,
views and many more for application development. You can refer to the RDS
Tutorial, to understand Amazon’s RDBMS.
• High Performance –Provides fast load utilities with distinct memory caches and table
index partitioning.
• Low Total Cost Of Ownership –This reduces licensing costs and hardware
expenditures.
• Open Source & 24 * 7 Support –This RDBMS can be used on any platform and
offers 24*7 support for open source and enterprise edition.
• Secure Data Protection –MySQL supports powerful mechanisms to ensure that only
authorized users have access to the databases.
• High Availability –MySQL can run high-speed master/slave replication
configurations and it offers cluster servers.
• Scalability & Flexibility –With MySQL you can run deeply embedded applications
and create data warehouses holding a humongous amount of data.
MySQL Data Types
• Numeric – This data type includes integers of various sizes, floating-point(real) of
various precisions and formatted numbers.

• characters. This data type also has a variable-length string called CHARACTER
LARGE OBJECT(CLOB) which is used to specify columns that have large text
values.
• Bit-string – These data types are either of a fixed length or varying length of bits.
There is also a variable-length bit string data type called BINARY LARGE
OBJECT(BLOB), which is available to specify columns that have large binary
values, such as images.
• Boolean –This data type has TRUE or FALSE values. Since SQL, has NULL values,
a three-valued logic is used, which is UNKNOWN.
• Date & Time –The DATE data type has: YEAR, MONTH, and DAY in the form
YYYY-MM-DD. Similarly, the TIME data type has the components HOUR,
MINUTE, and SECOND in the form HH:MM: SS. These formats can change based
on the requirement.
• Timestamp & Interval –The TIMESTAMP data type includes a minimum of six
positions, for decimal fractions of seconds and an optional WITH TIME ZONE
qualifier in addition to the DATE and TIME fields. The INTERVAL data type
mentions a relative value that can be used to increment or decrement an absolute
value of a date, time, or timestamp.
Python MySQL Database Connection:
Arguments required to connect MySQL from Python
You need to know the following detail of the MySQL server to perform the connection
from Python.
• Username – i.e., the username that you use to work with MySQL Server. The default
username for the MySQL database is a root
• Password – Password is given by the user at the time of installing the MySQL
database. If you are using root then you won’t need the password.
• Host Name – is the server name or Ip address on which MySQL is running. if you are
running on localhost, then you can use localhost, or it’s IP, i.e. 127.0.0.0
• Database Name – Database name to which you want to connect.

READ Operation
READ Operation on any database means to fetch some useful information from the
database.
Once our database connection is established, you are ready to make a query into this
database. You can use either fetchone() method to fetch single record or fetchall() method to
fetch multiple values from a database table.
• fetchone() − It fetches the next row of a query result set. A result set is an object that
is returned when a cursor object is used to query a table.
• fetchall() − It fetches all the rows in a result set. If some rows have already been
extracted from the result set, then it retrieves the remaining rows from the result set.
DATABASE CONNECTIVITY:
Steps to connect MySQL database in Python using MySQL Connector Python
1. Install MySQL Connector Python using pip.
2. Use the mysql.connector.connect()method of MySQL Connector Python with
required parameters to connect MySQL.
3. Use the connection object returned by a connect () method to create a cursor object to
perform Database Operations.
4. The cursor.execute()to execute SQL queries from Python.
5. Close the Cursor object using a cursor.close() and MySQL database connection using
connection.close() after your work completes.
6. Catch Exception if any that may occur during this process.

SOURCE CODE:

import mysql.connector

# Connect to MySQL Server try:


conn = mysql.connector.connect(
host="localhost",
user="root",
password="your_password",
database="daily_travel_booking"
)
if conn.is_connected():
print("Connection Successful!")
cursor = conn.cursor() except
mysql.connector.Error as err:
print(f"Error: {err}") # Create
Database (if not exists)
cursor.execute("CREATE DATABASE IF NOT EXISTS daily_travel_booking")
cursor.execute("USE daily_travel_booking")

# Create Booking Table create_table_query =


'''
CREATE TABLE IF NOT EXISTS bookings ( booking_id
INT AUTO_INCREMENT PRIMARY KEY,
customer_name VARCHAR(100), contact_number
VARCHAR(15),
travel_date DATE,
destination VARCHAR(100),
fare FLOAT
)
'''
cursor.execute(create_table_query)
print("Table Created Successfully!")

def insert_booking():
customer_name = input("Enter Customer Name: ")
contact_number = input("Enter Contact Number: ") travel_date =
input("Enter Travel Date (YYYY-MM-DD): ")
destination = input("Enter Destination: ") fare
= float(input("Enter Fare: "))

query = '''
INSERT INTO bookings (customer_name, contact_number, travel_date,
destination, fare)
VALUES (%s, %s, %s, %s, %s)
'''
values = (customer_name, contact_number, travel_date, destination, fare)
cursor.execute(query, values) conn.commit()
print("Booking Inserted Successfully!")

def display_bookings(): query =


"SELECT * FROM bookings"
cursor.execute(query)
results = cursor.fetchall()

if cursor.rowcount == 0:
print("No Bookings Found!")
else: for row in results:
print(f"ID: {row[0]}, Name: {row[1]}, Contact: {row[2]}, Date:
{row[3]}, Destination: {row[4]}, Fare: {row[5]}")

def search_booking():
booking_id = int(input("Enter Booking ID to Search: ")) query =
"SELECT * FROM bookings WHERE booking_id = %s"
cursor.execute(query, (booking_id,)) result = cursor.fetchone()

if result: print(f"ID: {result[0]}, Name: {result[1]}, Contact:


{result[2]}, Date:
{result[3]}, Destination: {result[4]}, Fare: {result[5]}") else:
print("Booking Not Found!")

def update_booking():
booking_id = int(input("Enter Booking ID to Update: ")) new_fare =
float(input("Enter New Fare: "))

query = "UPDATE bookings SET fare = %s WHERE booking_id = %s"


cursor.execute(query, (new_fare, booking_id)) conn.commit()

if cursor.rowcount > 0:
print("Booking Updated Successfully!") else:
print("Booking Not Found!")
def delete_booking():
booking_id = int(input("Enter Booking ID to Delete: "))
query = "DELETE FROM bookings WHERE booking_id = %s"
cursor.execute(query, (booking_id,)) conn.commit()

if cursor.rowcount > 0:
print("Booking Deleted Successfully!") else:
print("Booking Not Found!")

def main_menu():
while True:
print("\n--- Daily Travel Booking System ---")
print("1. Insert Booking") print("2. Display All
Bookings") print("3. Search Booking")
print("4. Update Booking") print("5. Delete
Booking")
print("6. Exit")

choice = int(input("Enter Your Choice: "))


if choice == 1:
insert_booking()
elif choice == 2:
display_bookings()
elif choice == 3:
search_booking() elif
choice == 4:
update_booking() elif
choice == 5:
delete_booking() elif
choice == 6:
print("Exiting... Thank you!")
break
else:
print("Invalid Choice! Please Try Again.")

# Exception Handling try:


main_menu() except
mysql.connector.Error as err:
print(f"Database Error: {err}") except
ValueError:
print("Invalid Input! Please Enter Valid Data.") except
Exception as e:
print(f"Unexpected Error: {e}") finally:
if conn.is_connected():
cursor.close()
conn.close()
print("Connection Closed!")
OUTPUT SCREEN
MYSQL TABLE
BIBLIOGRAPHY

SITES REFFERED FOR SOME BASIC INFORMATON:

1. https://www.scribd.com
2. https://www.slideshare.net
3. https://en.wikipedia.org
4. https://www.geeksforgeeks.org/

BOOKS REFFERED:
1. Introduction to Python (class: XI), Sumita Arora
2. Introduction to Python (class: XII), Sumita Arora and Preeti Arora

You might also like