CS 336 — Principles of Information and Data Management
In this project, you will design and implement a relational database system to support the
operations of an online railway booking system. You will use HTML for the user interface,
interface and database server.
You will have to install your own virtual machine with a web server that will host your web
application as well as a MySQL server. Everything will be under the AWS (Amazon Web
Services). Many resources and recitations will be provided about how to do everything so don’t
You are to work in teams of four.
As you probably know, there is a multitude of online railway booking systems on the web. The
basic idea behind your on-line railway booking system is that it will allow customers to use the
web to browse/search the contents of your database (at least that part you want the customer to
see) and to make train reservations over the web. It should also allow users to query the database
for available train schedules (direct or indirect) between a pair of cities for a given date and
Your database system must be based on the specifications and requirements that follow.
1 System Users
The users of your system will be the customers (passengers) that use your system to make a
reservation, customer representatives who provide customer-related services, and the site’s
manager/admin. You should assume that the computer knowledge of the users is limited, and thus
your system must be easy to access and operate.
2 Required Data
The data items required for the train reservation database can be classified into six categories:
trains, stations, train schedules, reservations, customers and employees.
The above classification does not imply any particular table arrangement. You are responsible
for arranging the data items into tables, determining the relationships among tables and identifying
the key attributes. Finally, you should specify and enforce integrity constraints on the data,
including referential integrity constraints.
You will first create an E-R diagram of your online railway reservation system before developing
your relational model. Details of this assignment will be forthcoming.
2.1 Train Data
Your system should store information about trains. Every train has a unique four-digit number id.
2.1 Station Data
A station has a unique id, a name, the name of the city this station is, and the state.
2.3 Train Schedule Data
The basic information related to this data is:
1. Transit line name (e.g. Northeast Corridor)
6. Departure datetime
7. Arrival datetime
8. Travel time
All trains perform a specific route based on a unique transit line throughout the day. Depending
on the transit line, the trains start from a specific origin and arrive at a specific destination station.
For example, the Northeast Corridor transit line has origin the New York Penn station and
destination the Trenton station. Every transit line starts from its origin on a specific time and arrives
at its destination at another specific time. It also has a number of stops, with each stop having its
own arrival and departure times. For example, the Northeast Corridor line with train #3806 starts
at 3:48am from Trenton, and arrives at NY Penn Station at 5:21am with a total travel time of 93
minutes. While performing this route it stops to 10 stations which are Princeton, New Brunswick,
Edison, Metuchen, …, etc. and each of these stations have their own departure/arrival time. A
route has also an associated fare which depends on the type of the route (if it is one way, or round
trip), as well as fare discounts for children, seniors and disabled.. You can assume that every transit
line has a fixed fare from origin to destination and then the individual stops have a
fare=fare/number of stops in this line. For example, the Northeast Corridor line (which goes from
Trenton to NY Penn) has a fare of $50. Then if we assume that it has 10 stops in between (e.g.
Trenton, Princeton, New Brunswick, Edison, Metuchen, etc.), the fare between two consecutive
stops would be $50/10 = $5, between two stops (e.g. NB-> Metuchen) $10 etc. Children have a
discount of 25%, seniors 35% and disabled 50%. Round trip tickets have double fare.
本网站支持淘宝 支付宝 微信支付 paypal等等交易。如果不放心可以用淘宝交易！
E-mail: [email protected] 微信:itcsdx