This document describes an online railway reservation system. It includes sections on the problem statement, functions for users and administrators, database tables and normalization, triggers, and snapshots. The problem statement indicates the system needs to store and retrieve transaction information about rail travel. Sections on functions list features like ticket booking, checking status, and cancellation for users, and adding/removing trains and users for administrators. Tables shown include users, trains, tickets, and payments, along with normalization to third normal form. Triggers are described to update fields when payment is made or an account is cancelled/created.
2. 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
3. FUNCTIONS OF USER
Train Enquiry
Book Ticket
Payment
Check PNR Status
Cancel Ticket
Login and Logout
4. FUNCTIONS OF ADMIN
Add/Remove Trains
Add/Remove User
Book Ticket
Cancel Ticket
Get Passenger List
Login and Logout
6. 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.
7. 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
8. 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
11. 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.