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

Airline reservation system db design

Embed Size (px)

DESCRIPTION

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

Citation preview

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.