INDIAN RAILWAY RESERVATION PROJECT [2015] INDIAN RAILWAY ONLINE This is to certify that the following students have completed the project Railway Reservation System under the guidancef
Trang 1Instructor:
Semester : III
Class : 1308
Group Member:
Instructor Signature: - 1.Nguyen Hoai Nam
- 2 Huynh Le Quoc Bao
- 3 Van Tuan Kiet
Ho Chi Minh city , 03 - 03 - 2015
Trang 2INDIAN RAILWAY RESERVATION PROJECT
<GROUP 4>
[2015]
INDIAN RAILWAY
ONLINE
This is to certify that the following students have completed the project Railway
Reservation System under the guidancefor the fulfillment as prescribed by
CNC-Aptech in the SEM3
STUDENTS:
NGUYEN HOAI NAM 605121
HUYNH LE QUOC BAO 756918
VAN TUAN KIET 761724
Trang 33.1 hardware:request hardware 6
3.2.Software: user software 6
3.3 System requirement 6
4 Use case diagram 7
4.1 activity diagram for booking ticket 9
4.2 activity diagram for cancel ticket 10
4.3 system view: use case for guest 11
4.4 system view: use case for clerk 12
4.5 system view: use case for admin 13
5 entity relationship diagram 14
5.1 list of entity types 14
5.2 List of relationships 14
5.3 entity relationship diagram 14
5.4 Mapping of ERD to relational model 16
5.5 normalizaton 19
5.6 table design and structure 19
Trang 4INDIAN RAILWAY RESERVATION PROJECT
5.7 queries 30
6 form design 29
Trang 51 Font-end
interface design
Indian railway reservations
Huynh Le Quoc Bao
2 Design Database Indian
railway reservations
Nguyen Hoai NamDocument
3 Back-end
interface design
Indian railway reservations
Van Tuan Kiet
Trang 6INDIAN RAILWAY RESERVATION PROJECT
1 About project
This system is basically concerned with the reservation and cancellation of railway tickets to the passenger The need of this this system arouse because as
is the know fact that India has the largest railway network in the whole world and
it is not nossible to handle such a large system manually By computerizing it, it became possible to overcome the limitations and make the system operations more efficient The complexity in handling data and records of such a vast
system got reduced and became easier by computerizing the system.
Being more specific, this online railway reservation systemcan perform the basic functions like reservation and cancellation The users are requied to register on the server for getting access to the database and query result retrieval Upon registration completion, each user has an account which is essentially referred to
as the ‘view level’ of the customer The account contains comprehensive
information of the user entered during the registration and allows the user to access their past reservation, cancellations, enquire about trains and train
schedule, seat availability and make afresh reservations The user will also be able to update their account details, etc.
The master user of this system is the Railway Administrator who can login using
a master password and once a user is authenticated as the admin, he/she can access and modify information stored in the database of this system This
includes adding and updating of train, station, train routes and also managing the user and the passenger details.
2 Problem Definition
The railway network is a very vast system to be handled manually and its
computerization with prove to be of great help to both the employess and the
passengers The customer and the admin are the two paries which are allowed to have access to the database of the system and have different view level schemas to the database information.
The customers are privileged with the following services:
- register as a customer by providing certain personel details.
- Make fresh reservations and book one or more ticks.
- View past booking and can even do cancellation of booked ticket.
- See trains between a pair of stations, check seat availability in trains and get the fare details.
Administrator is privileged with the following services:
- Login as the master user using a master password.
- Add train, route, station…
- Add reservation informations and confirm these one by clerk users.
The system’s sercurity has been kept into consideration well The database of the system cannot be accessed by any user either admin or clerk users without being
Trang 7Monitor: 14 inch, colors
Intel Xeon MP Dual Core 7140N 3.3GHz - 667MHz / 2x 2Gb PC2 ECC DDR2-SDRAM/ 4 GB / 73GB Hot-Swap 3.5" 15K RPM Ultra320 SAS HDD / 8X DVDROM / Dual Gigabit 10/100/1000 / 1300W HS 2/2 Rack 3U
3.2.Software: Use software:
SQL 2000 Advance Server…
3.3 System requirement
No Items Description
1 Operating System Windows 2000,Xp or higher
2 Database MS SQL sever 2005 of higher
Trang 8INDIAN RAILWAY RESERVATION PROJECT
3 SoftWare Microsoft Visual Studio 2005 or
higher
4 use case diagram.
This diagram description all task of reservation and buy a ticket generally And so on,
we two another diagrams for 2 main tasks in resavation operation(4.1; 4.2) In the real world, we just need to know how to get ticket So these diagram will answer for that thing
Trang 94.1 ACTIVITY DIAGRAM FOR BOOKING TICKET
Trang 10INDIAN RAILWAY RESERVATION PROJECT
4.2 ACTIVITY DIAGRAM FOR CANCEL TICKET
Trang 114.3 SYSTEM VIEW: USER CASE FOR GUEST
Trang 12INDIAN RAILWAY RESERVATION PROJECT
4.4 SYSTEM VIEW: USER CASE FOR CLERK
Trang 134.5 SYSTEM VIEW : USE CASE FOR ADMIN
Trang 14INDIAN RAILWAY RESERVATION PROJECT
5 ENTITY RELATIONSHIP DIAGRAM
5.1 List of entity types:
Trang 154 Route Source_distance, stop_number, arrival_time,
departure_time
5 Station Station_ID, station_name
6 Tran_status Available_date, Booked_seatAC1,
waiting_seatsAC1, available_seatsAC1,….
5.2 List of relationships:
S.no Relation type Entity types involved
2 Consists of Station, route
6 Starts from/ ends on Train, stations
Trang 16INDIAN RAILWAY RESERVATION PROJECT
5.3 entity relationship drigram
Trang 172 Passenger Passenger(PNR, gender, passenger_name,
age, booked_by)
3 Train Train(Train_id, train_name, days_available,
train_type)
4 Station Station(station_id, station_name)
Step 2: Mapping of weak entity type:
S.no Entity type Relation
1 Route Route(Train_id, stop_number, Source_distance,
arrial_time, departure_time)
2 Train_status Train_status( Train_id, available_date,
booked_seatsAC1, Waiting_seatsAC1, Available_seatsAC1,…)
Step 3 : mapping of 1:M relationship
Relation Entities Approach Relation
Starts
From
Train, station Foreign key Train( train_id, train_name,
days_available, train_type, fare_classAC1, seats_classAC1,…) Ends at Train, Station Foreign key Train( train_id, train_name,
days_available, train_type, fare_AC1, seats_AC1,…) Show Station, passenger Foreign key Passenger(PNR, seat_number,
Trang 18INDIAN RAILWAY RESERVATION PROJECT
Show
Destinatio
n
Station, passenger Foreign key Passenger(PNR, seat_number,
class, name, age, gender, fare, destination_id
5.5 normalization
Trang 195.6 TABLE DESIGN & STRUCTURE
Trang 20INDIAN RAILWAY RESERVATION PROJECT
TRAIN
TRAIN_CLASS
TRAIN_STATUS
Trang 21ROUTE
Trang 22INDIAN RAILWAY RESERVATION PROJECT
RESERVATION
PASSENGER_TICKET
PASSENGER
Trang 23ADMIN
Trang 24INDIAN RAILWAY RESERVATION PROJECT
CREATE TABLE [dbo].[DAYS_AVAILABLE](
[TRAIN_ID] [int] NOT NULL,
[AVAILABLE_DAYS] [varchar](20) NOT NULL,
CONSTRAINT [PK_DAYS_AVAILABLE] PRIMARY KEY CLUSTERED
CREATE TABLE [dbo].[STATION](
[STATION_ID] [varchar]( ) NOT NULL,
[STATION_NAME] [varchar](30) NOT NULL,
CONSTRAINT [PK_STATION] PRIMARY KEY CLUSTERED
(
[STATION_ID] ASC
)WITH PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
Trang 25[GENDER] [varchar]( ) NOT NULL,
[AGE] [int] NOT NULL,
[MOBILE] [varchar](12) NOT NULL,
[CITY] [varchar](20) NOT NULL,
[STATE] [varchar](25) NOT NULL,
[SECURITY_QUESTION] [varchar](40) NOT NULL,
[SECURITY_ANSWER] [varchar](20) NOT NULL
CREATE TABLE [dbo].[ADMIN](
[USERID] [varchar](20) NOT NULL,
[PASSWORD] [varchar](15) NOT NULL,
CONSTRAINT [PK_ADMIN] PRIMARY KEY CLUSTERED
CREATE TABLE [dbo].[TRAIN_CLASS](
[TRAIN_ID] [int] NOT NULL,
[FARE_AC1] [int] NOT NULL,
[SEAT_AC1] [int] NOT NULL,
[FARE_AC2] [int] NOT NULL,
[SEAT_AC2] [int] NOT NULL,
[FARE_AC3] [int] NOT NULL,
[SEAT_AC3] [int] NOT NULL,
[FARE_SLEEPER] [int] NOT NULL,
Trang 26INDIAN RAILWAY RESERVATION PROJECT
[SEAT_SLEEPER] [int] NOT NULL,
[FARE_GENERAL] [int] NOT NULL,
[SEAT_GENERAL] [int] NOT NULL,
CONSTRAINT [PK_TRAIN_CLASS] PRIMARY KEY CLUSTERED
CREATE TABLE [dbo].[TRAIN](
[TRAIN_ID] [int] NOT NULL,
[TRAIN_NAME] [varchar](50) NOT NULL,
[TRAIN_TYPE] [varchar](50) NOT NULL,
[SOURCE_STN] [varchar](30) NULL,
[DESTINATION_STN] [varchar](30) NULL,
[SOURCE_ID] [varchar]( ) NULL,
[DESTINATION_ID] [varchar]( ) NULL,
CONSTRAINT [PK_TRAIN] PRIMARY KEY CLUSTERED
CREATE TABLE [dbo].[ROUTE_HAS_STATION](
[TRAIN_ID] [int] NOT NULL,
[STATION_ID] [varchar]( ) NOT NULL,
[STOP_NUMBER] [int] NOT NULL,
CONSTRAINT [PK_ROUTE_HAS_STATION] PRIMARY KEY CLUSTERED
Trang 27)WITH PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
CREATE TABLE [dbo].[ROUTE](
[TRAIN_ID] [int] NOT NULL,
[STOP_NUMBER] [int] NOT NULL,
[STATION_ID] [varchar]( ) NOT NULL,
[ARRIVALL_TIME] [text] NOT NULL,
[DEPARTURE_TIME] [text] NOT NULL,
[SOURCE_DISTANCE] [int] NOT NULL,
CONSTRAINT [PK_ROUTE] PRIMARY KEY CLUSTERED
(
[TRAIN_ID] ASC,
[STOP_NUMBER] ASC,
[STATION_ID] ASC
)WITH PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
CREATE TABLE [dbo].[RESERVATION](
[TRAIN_ID] [int] NOT NULL,
[AVAILABLE_DATE] [varchar](20) NOT NULL,
[EMAILID] [varchar](30) NOT NULL,
[PNR] [varchar](25) NOT NULL,
[RESERVATION_DATE] [text] NOT NULL,
[RESERVATION_STATUS] [varchar](20) NULL,
CONSTRAINT [PK_RESERVATION] PRIMARY KEY CLUSTERED
(
Trang 28INDIAN RAILWAY RESERVATION PROJECT
[TRAIN_ID] ASC,
[AVAILABLE_DATE] ASC,
[EMAILID] ASC,
[PNR] ASC
)WITH PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
CREATE TABLE [dbo].[PASSENGER](
[PNR] [varchar](25) NOT NULL,
[SEAT_NUMBER] [int] NOT NULL,
[PASSENGER_NAME] [varchar](30) NOT NULL,
[AGE] [int] NOT NULL,
[GENDER] [varchar]( ) NOT NULL,
[TRAIN_ID] [int] NOT NULL,
[BOOKED_BY] [varchar](30) NULL,
CONSTRAINT [PK_PASSENGER] PRIMARY KEY CLUSTERED
CREATE TABLE [dbo].[TRAIN_STATUS](
[TRAIN_ID] [int] NOT NULL,
[AVAILABLE_DATE] [varchar](20) NOT NULL,
[BOOKED_AC1] [int] NULL,
[BOOKED_AC2] [int] NULL,
[BOOKED_AC3] [int] NULL,
[BOOKED_SLEEPER] [int] NULL,
[BOOKED_GENERAL] [int] NULL,
[WAITING_AC1] [int] NULL,
[WAITING_AC2] [int] NULL,
[WAITING_AC3] [int] NULL,
[WATTING_SEEPER] [int] NULL,
[WATTING_GENERAL] [int] NULL,
[AVAILABLE_AC1] [int] NULL,
[AVAILABLE_AC2] [int] NULL,
[AVAILABLE_AC3] [int] NULL,
[AVAILABLE_SLEEPER] [int] NULL,
[AVAILABLE_GENERAL] [int] NULL,
Trang 29REFERENCES [dbo].[DAYS_AVAILABLE] ([TRAIN_ID])
GO
ALTER TABLE [dbo].[TRAIN] CHECK CONSTRAINT [FK_TRAIN_DAYS_AVAILABLE]
GO
IF NOT EXISTS SELECT FROM sys.foreign_keys WHERE object_id
ALTER TABLE [dbo].[TRAIN] WITH CHECK ADD CONSTRAINT [FK_TRAIN_STATION]
FOREIGN KEY([SOURCE_ID])
REFERENCES [dbo].[STATION] ([STATION_ID])
IF NOT EXISTS SELECT FROM sys.foreign_keys WHERE object_id
ALTER TABLE [dbo].[TRAIN] WITH CHECK ADD CONSTRAINT [FK_TRAIN_STATION1]
FOREIGN KEY([DESTINATION_ID])
REFERENCES [dbo].[STATION] ([STATION_ID])
GO
ALTER TABLE [dbo].[TRAIN] CHECK CONSTRAINT [FK_TRAIN_STATION1]
GO
IF NOT EXISTS SELECT FROM sys.foreign_keys WHERE object_id
ALTER TABLE [dbo].[TRAIN] WITH CHECK ADD CONSTRAINT [FK_TRAIN_TRAIN_CLASS]
FOREIGN KEY([TRAIN_ID])
REFERENCES [dbo].[TRAIN_CLASS] ([TRAIN_ID])
GO
ALTER TABLE [dbo].[TRAIN] CHECK CONSTRAINT [FK_TRAIN_TRAIN_CLASS]
GO
IF NOT EXISTS SELECT FROM sys.foreign_keys WHERE object_id
ALTER TABLE [dbo].[ROUTE_HAS_STATION] WITH CHECK ADD CONSTRAINT
[FK_ROUTE_HAS_STATION_STATION] FOREIGN KEY([STATION_ID])
REFERENCES [dbo].[STATION] ([STATION_ID])
GO
ALTER TABLE [dbo].[ROUTE_HAS_STATION] CHECK CONSTRAINT
[FK_ROUTE_HAS_STATION_STATION]
GO
Trang 30INDIAN RAILWAY RESERVATION PROJECT
IF NOT EXISTS SELECT FROM sys.foreign_keys WHERE object_id
ALTER TABLE [dbo].[ROUTE_HAS_STATION] WITH CHECK ADD CONSTRAINT
[FK_ROUTE_HAS_STATION_TRAIN] FOREIGN KEY([TRAIN_ID])
REFERENCES [dbo].[TRAIN] ([TRAIN_ID])
GO
ALTER TABLE [dbo].[ROUTE_HAS_STATION] CHECK CONSTRAINT
[FK_ROUTE_HAS_STATION_TRAIN]
GO
IF NOT EXISTS SELECT FROM sys.foreign_keys WHERE object_id
ALTER TABLE [dbo].[PASSENGER_TICKET] WITH CHECK ADD CONSTRAINT
[FK_PASSENGER_TICKET_STATION] FOREIGN KEY([SOURCE_ID])
REFERENCES [dbo].[STATION] ([STATION_ID])
GO
ALTER TABLE [dbo].[PASSENGER_TICKET] CHECK CONSTRAINT
[FK_PASSENGER_TICKET_STATION]
GO
IF NOT EXISTS SELECT FROM sys.foreign_keys WHERE object_id
ALTER TABLE [dbo].[PASSENGER_TICKET] WITH CHECK ADD CONSTRAINT
[FK_PASSENGER_TICKET_STATION1] FOREIGN KEY([DESTINATION_ID])
REFERENCES [dbo].[STATION] ([STATION_ID])
GO
ALTER TABLE [dbo].[PASSENGER_TICKET] CHECK CONSTRAINT
[FK_PASSENGER_TICKET_STATION1]
GO
IF NOT EXISTS SELECT FROM sys.foreign_keys WHERE object_id
ALTER TABLE [dbo].[ROUTE] WITH CHECK ADD CONSTRAINT [FK_ROUTE_STATION]
FOREIGN KEY([STATION_ID])
REFERENCES [dbo].[STATION] ([STATION_ID])
GO
ALTER TABLE [dbo].[ROUTE] CHECK CONSTRAINT [FK_ROUTE_STATION]
GO
IF NOT EXISTS SELECT FROM sys.foreign_keys WHERE object_id
IF NOT EXISTS SELECT FROM sys.foreign_keys WHERE object_id
ALTER TABLE [dbo].[RESERVATION] WITH CHECK ADD CONSTRAINT
[FK_RESERVATION_PASSENGER_TICKET] FOREIGN KEY([PNR])
REFERENCES [dbo].[PASSENGER_TICKET] ([PNR])
GO
ALTER TABLE [dbo].[RESERVATION] CHECK CONSTRAINT
Trang 31OBJECT_ID( '[dbo].[PASSENGER]'))
ALTER TABLE [dbo].[PASSENGER] WITH CHECK ADD CONSTRAINT [FK_PASSENGER_TRAIN]
FOREIGN KEY([TRAIN_ID])
REFERENCES [dbo].[TRAIN] ([TRAIN_ID])
IF NOT EXISTS SELECT FROM sys.foreign_keys WHERE object_id
ALTER TABLE [dbo].[TRAIN_STATUS] WITH CHECK ADD CONSTRAINT
[FK_TRAIN_STATUS_TRAIN] FOREIGN KEY([TRAIN_ID])
REFERENCES [dbo].[TRAIN] ([TRAIN_ID])
Trang 32INDIAN RAILWAY RESERVATION PROJECT
Trang 34INDIAN RAILWAY RESERVATION PROJECT
Trang 356.2 BACK-END FORM:
These form follow user like clerk or administrators can manager all informations such as insert a new train, route, fare, confirm ticket not only have all forms like font-end area but also this area have some new form like add trains, add route…
Trang 36INDIAN RAILWAY RESERVATION PROJECT