ONLINE RAILWAY RESERVATION
SYSTEM

SANJAY KUMAR
CSE/11/176D
PROBLEM STATEMENT
Information about the route, cancellation of tickets, departure
time, arrival time, number of trains available and other such
information.
Store and retrieve information about the various transactions
related to Rail travel.
Keep track of all its passengers and thus schedule their
journey accordingly.
Maintains records of passengers travelling in the different
trains on different dates reaching different destinations in the
system.
User friendly interface to administrator and customer
FUNCTIONS OF USER
Train Enquiry
 Book Ticket
 Payment
 Check PNR Status
 Cancel Ticket
 Login and Logout

FUNCTIONS OF ADMIN
Add/Remove Trains
 Add/Remove User
 Book Ticket
 Cancel Ticket
 Get Passenger List
 Login and Logout

Tables and
Normalization
Admin table
usernam
e

passwor
d

first_na
me

last_nam age
e

email

Registrat
ion-date

The above table consists of username as a primary key which determines
all other attributes of it. There is no partial and transitive dependency so it is
in 3NF.

User table
usernam
e

passwor
d

first_na
me

last_nam age
e

email

Registrat
ion-date

The above table consists of username as a primary key which determines
all other attributes of it. There is no partial and transitive dependency so it
is in 3NF.
Train table
train_no

train_nam
e

source

destinatio distanc
n
e

arrival_tim
e

dep_time

Train number is the primary key of train table . It consists of atomic
values of attributes and there is no partial and transitive dependency so
it is in 3NF.
Ticket table

P train_n
N o
R

train
_na
me

s dest
o inati
ur on
c
e

dist clas
ance s

fare arriva dep Nam dat
l_tim artur e
e
e
e_ti
me

seat_
no
1 NF – 3 NF conversion of Train table
Train_details
train_no

train_nam
e

source

destinatio distanc
n
e

Fare table
train_no

class

fare

arrival_tim
e

dep_time
Ticket _details
PNR

train_n
o

name

date

seat_n
o

class

Ticket1 table
PNR

Ticket2
table
PNR

train_n
o

name

date

fare

seat_n
o

class

fare
Class_details
train_n
o

Genera
l

Sleeper Ac I

Ac II

Ac III

Payement table

receipt_n
o

username card_no

pin_no

bank

type
TRIGGERS
If user has entered data in payment, send a
trigger to change the value of paid field in
ticket (initially set at zero).
 Confirmation mail to be sent to the user on
his email if he has cancelled the ticket or
created an account.
 When a new train is added to the train table
the fare table should also be updated.

Snapshots
THANK YOU

Online Railway Reservation System