case_study airline ticket
DESCRIPTION
Case Study ER-Model Airline TicketingTRANSCRIPT
Task#1:
Draw an Entity Relationship Diagram (ER Model) for the given case study along with proper associations and cardinalities.
Task#2:
Derive the tables from the ER model and normalize up to third normal form (3rd NF)
Task#3:
De-normalize the database (obtained after completing task#2) by using the “collapsing tables” technique.
Case Study
Air-Ticket Reservation System
Section 1: Introduction
1.1 Vision Statement:
1.1.1 Software Purpose
The main purpose of this software is to reduce the manual errors involved in the airline reservation process and make it convenient for the airline staff to perform their daily reservation related tasks e.g. tickets reservation, flight scheduling, announcements etc. in automated way.
1.1.2 Software Scope
This software provides options for passengers to view and search different flights along with their timings and reservation details for a particular date.
For administrators (staff members), it will facilitate them to manage the route schedules (adding, editing, canceling and viewing routes), reservations (booking, modifying, canceling and viewing) and staff.
1.1.3 Software Perspective
The Airline reservation system (ARS) is an independent application. It is a self-contained product, designed for Local Area Network (LAN) with easy-to-use and interactive graphical user interfaces. Separate interfaces will be provided for passengers and administrators. Passengers will be able to use the passenger-interface (on dedicated terminal computers) within the office premises to view, search and print the flight schedules, see flash news and news alerts etc. The administrators on the other hand will be able to use the given administrator-interface to manage ticket reservations and route schedules etc. However, all the information will be stored in a central database and both the passengers and administrators will use this information to perform their permitted activities. Also note that access to administrator-interface will be role based (i.e. different staff members will have different access level) while the passengers (using passenger-interface) will not require any authentication (i.e. any passenger can use it).
1.2 Document conventions and definitions:
ARS - Airline Reservation SystemLAN - Local Area NetworkGUI - Graphical User InterfaceOS - Operating SystemAdmin - Administrator
Passenger Admin
Air Ticket Reservation
System
AdministratorInterface
Passenger interface
Database
Section 2: Overall description
2.1 User characteristics
No technical experience is required, basic knowledge of handling system is sufficient. Users will use the system at three levels:
1) Super-admins2) Sub-admins3) Passengers
Super-admins include members from higher management. They will have full rights of the system, including all the sensitive tasks e.g. add, edit Flight schedule.
Sub-admins include the operating staff. They will have rights of passenger reservation including reserving, editing, viewing and canceling tickets.
Passengers, on the other hand will have access to see news, search route schedules, available seats and print these details.
2.2 Operating environment
ARS will be a client/server based system, running on LAN. Both clients and servers will be Linux based systems. Entire application along with database will be installed on the central server. Administrators and passengers will be able to perform the intended functionality through GUI interfaces provided on individual machines.
Separate Terminal computers (3 to 4) will be provided to passengers, where they will be able to see and search flight schedules, available seats and announcements etc. A printer will also be installed with theses terminals so that passengers could print details of flight (and seats) they selected.
2.3 External Interfaces
The application will also need to connect to local airport services database system to get the current status of the runway and other notifications etc. The super admins will use this information to reserve the runway for them and to schedule their flights. Application will connect with this database system through provided interface.
The system also needs to connect to an international weather forecasting service to get weather forecasting details. This information will also be used for flight scheduling.
2.4 Assumptions and dependencies
It is assumed that passengers will first see the flight schedules and fare details from the passenger terminal computers (dedicated only for the passengers). After selecting a particular flight and seat, they will get print of it and will go to reservation booth, where sub admin staff member will reserve ticket for them by seeing the printed specification.
Also, any breaking news e.g. modification of flight timing etc. will be immediately added to the system by admins, and will immediately be visible through passenger interface.
--- Best of Luck ---
Solution First Task
Task#1:Draw an Entity Relationship Diagram (ER Model) for the given case study along with proper associations and cardinalities.
Task#2:Derive the tables from the ER model and normalize up to third normal form (3rd NF)
Task#3:
De-normalize the database (obtained after completing task#2) by using the “collapsing tables” technique.
Task#1:Draw an Entity Relationship Diagram (ER Model) for the given case study along with proper associations and cardinalities.
Entity Relationship Diagram
Task#2:Derive the tables from the ER model and normalize up to third normal form (3rd NF)
TablesJetsJetID Number Primary KeyJetName TextJetType Text
FlightsFlightID Number Primary KeyFlightDate DateFlightJetID Number Foreign Key (Refers JetID in Table Jets)FlightSource TextFlighDestination TextFlightTime TextRunWayID Number Foreign Key (Refers RunWayID in Table Runways)ReservedBy Number Foreign key (Refers StaffMemberID in Table Staff)
PassengersPassengerID Number Primary KeyPassengerName TextPassengerCell Text
StaffStaffMemberID Number Primary KeyStaffMemberName TextStaffMemberDesignation TextStaffMemberContact Text
TicketsTicketID Number Primary KeyTicketType TextPassengerID NumberFlightType Number Foreign Key (Refers FlightID in Table Flights)
AnnouncementsAnnouncementID Number Primary KeyAnnouncementText TextAnnouncementStartDate DateAnnouncementExpDate DateStaffMemberID Number Foreign Key (Refers StaffMemberID in Table
Staff)
RunwayRunwayID Number Primary KeyRunwayTrack TextTowerAssigned Number
So an abstract graphical view of the database may look like:
Task#3:
De-normalize the database (obtained after completing task#2) by using the “collapsing tables” technique.
De-normalizeTable collapsing: table collapsing de-normalization technique is used on one-to-one and many-to-many relations. In ER model given in task-1 we do not have man-to-many relations, however, one-to-one relations were identified between “Tickets”, “Passengers” entities and “Runway”, “Flights” and “Jets” entities.First we collapse the “Passengers” and “Tickets” tables. We suppose that “PassengerCell” attribute is unnecessary so finally the resultant “Tickets” table after collapsing becomes:
TicketsTicketID Number Primary KeyTicketType TextPassengerID NumberPassengerName StringFlightID Number Foreign Key (Refers FlightID in Table Flights)
Next we collapse “Runway”, “Flights” and “Jets” tables
First collapsing “Runways” table with “Flights” (suppose we need “RunwayTrack” field only) we get:
Flights’FlightID Number Primary KeyFlightDate DateFlightJetID Number Foreign Key (Refers JetID in Table Jets)FlightSource TextFlighDestination TextFlightTime TextRunWayID Number Foreign Key (Refers RunWayID in Table Runways)RunwayTrack StringReservedBy Number Foreign key (Refers StaffMemberID in Table Staff)
Then we merge “Jets” Table with “Flights”. The final structure of “Flights” table becomes:
FlightsFlightID Number Primary KeyFlightDate Date
FlightJetID Number Foreign Key (Refers JetID in Table Jets)JetName StringJetType StringFlightSource TextFlighDestination TextFlightTime TextRunWayID Number Foreign Key (Refers RunWayID in Table Runways)RunwayTrack StringReservedBy Number Foreign key (Refers StaffMemberID in Table Staff)
Finally the abstract view may look like:
Solution Second Task
Task:
In Sub Task no. 3 of first Task, you denormalized all one-to-one and many-to-many relationships; in this assignment you will denormalize all one-to-many relationships by taking into account the same Air Ticket reservation system, in order to optimize it further.
So, de-normalize all one-to-many relationships (left after Sub Task no. 3 in Task no. 1) using Pre-joining technique.
The pre-joined tables should:
Contain no redundant columns (matching join criteria columns) Contain only those columns absolutely necessary for the application to meet its
processing needs
Note:
i need to show the database resulted from the previous first task (after denormalization) and the resultant database after performing pre-join denormalization in this task.