airline reservation system db design

22
IBM Technical Contest National Level Database Designing Narendran Thangarajan, @naren_live SSN College of Engineering, Chennai.

Upload: narendran-thangarajan

Post on 22-Nov-2014

16.335 views

Category:

Technology


6 download

DESCRIPTION

Won in the National Level DB Design Competition held at IIT Kharagpur. The topic was Airline Reservation System.

TRANSCRIPT

Page 1: Airline reservation system db design

IBM Technical Contest

National Level Database Designing

Narendran Thangarajan,@naren_live

SSN College of Engineering, Chennai.

Page 2: Airline reservation system db design

The Problem Statement

• Consider an Airline Company, AIRCONNECT.

• It was launched as a Low-Cost carrier in 2005. Now it is emerging as one of the market leaders.

• Need for a renewed database structure.

Page 3: Airline reservation system db design

1. Gathering Requirements

• Collection of details about existing airline reservation systems.

• Experiencing the usage of the different sales channels available.

• Planning the non-functional requirements to enhance performance, reliability and robustness.

Page 4: Airline reservation system db design

• Analysis of the collected information to extract the required details, constraints, necessities etc.

• Identification of entities.– Categorization

– Noun Phrase method

• Deduction of relationships among the entities in terms of Functional Dependencies.

• Generation of new entities (based on relationships).

• Identification of attributes from the requirements.

2. Requirements Analysis

Page 5: Airline reservation system db design

Conceptual Schema

Page 6: Airline reservation system db design

Mandatory FeaturesAll details related to Customers - PASSENGER, TRAVEL_AGENT

Person – Base Entity : Has all the details like Name, Address, etc.

Customer Details – Derived : Further specializes to Passenger and Travel Agent

Page 7: Airline reservation system db design

All details related to Flight - FLIGHT,FLIGHT_LEG, LEG_INSTANCE

Mandatory Features

A Flight is a travel from origin to destination

Each Flight has one or more Flight_legs, depending upon number of intermediate stops

The Flight_legs for every day are instances of the same Flight_leg entity

Page 8: Airline reservation system db design

• Details about Airplane : AIRCRAFT_TYPE, AIRPLANE, LEG_INSTANCE

Aircraft Types are the different varieties of airplanes like AirBus, Boeing

Airplane includes all the individual Flights. Each Flight is of a particular Aircraft Type

Each Leg Instance is assigned an Airplane

Mandatory Features

Page 9: Airline reservation system db design

Airports – AIRPORT

Each Flight Leg must have an airport as the origin and destination.

Airport entity holds the details about each airport, including its geodetic details

Mandatory Features

Page 10: Airline reservation system db design

• Origins and Destination – ROUTE

Route consists of all the routes possible as defined by IATA.

Each Flight Leg has a cost associated with it.

Mandatory Features

Page 11: Airline reservation system db design
Page 12: Airline reservation system db design

Systematically convert the EER model to a relational schema

• First make a flat conversion of attributes fields.

• Propagate keys based on participation constraints.

• Normalization.

Page 13: Airline reservation system db design

Relational Schema

Page 14: Airline reservation system db design

Database Design

• Choice of ORM – Why not RM.

• Better support for composition of services.

• ER vs EER : – Extensibility

– Need for Aggregation

• OOM based ORDBMS – Oracle 11g R2

Page 15: Airline reservation system db design

Efficiency

• Selection of Data model – ORDMS.

• Creation of correct indices.– Spatial Indices

– Organizational Indices (for nested relations)

• Indexing specific fields to enable faster JOINs.

Page 16: Airline reservation system db design

Innovation

• Automated distance/fare calculation using Spatial Features.

• Promoting Flight Services using Data Mining.

• Find airports in proximity during emergency situations.

• Using Ad-hoc queries to generate Demographic details.

Page 17: Airline reservation system db design

Security

• Access Control with tuple-level and field-level granularity.

• Role Based Access Control

– Separate set of privileges for Passenger, Travel Agent and Moderator

• Sensitive Data are encrypted using SHA-1 hashing algorithm.

• Monitoring DBA and restricting privilege escalation.

Page 18: Airline reservation system db design

Presence of Bugs in SQL• Extensively tested my system and ensured it satisfies all the

considered requirements.

• Tested using the tool QUEST CODE TESTER FOR ORACLE

Page 19: Airline reservation system db design

Extendibility

• Class – Sub Class relationship.

• Hierarchical structure enables addition of extra features.

• Relations are properly normalized.

Page 20: Airline reservation system db design

Best Practices

• Adapted SDLC for arriving at the design.

• Requirements Analysis – 5 rounds of discussion with the users and travel agents.

• Visited websites to understand the existing Internet Booking implementations.

• Booked a Ticket in SpiceJet using TeleBooking to understand the Telebooking system.

• Documentation of every SDLC stage.

Page 21: Airline reservation system db design

References

1. Fundamentals of DATABASE SYSTEMS, Fifth Edition -RamezElmasri, Shamkant B. Navathe

2. An Introduction to Database Systems - C. J. Date

3. Maruthi Air Links Pvt. Ltd – Chennai.

4. Amadeus Global Reservation System

5. www.spicejet.com

6. www.flykingfisher.com

Page 22: Airline reservation system db design

SDLC stages in this project :

1. Requirements Gathering - Users, Travel Agents.

2. Requirements Specification Document.

3. Requirements Analysis – Documented

4. Conceptual Design : EER Model.

5. EER to Schema Mapping.

6. Implementation using Oracle 11g.

7. Testing using Quest Code Tester.