IBM Technical Contest
  National Level Database Designing

       Narendran Thangarajan,
             @naren_live
 SSN College of Engineering, Chennai.
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.
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.
2. Requirements Analysis
• 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.
Conceptual Schema
Mandatory Features
 All details related to Customers - PASSENGER, TRAVEL_AGENT

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




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


     All details related to Flight - FLIGHT,FLIGHT_LEG, LEG_INSTANCE

                         A Flight is a travel from
                         origin to destination




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




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




• Details about Airplane : AIRCRAFT_TYPE, AIRPLANE,
  LEG_INSTANCE

 Aircraft Types are the different varieties of
                                                                     Each Leg Instance is
 airplanes like AirBus, Boeing
                                                                     assigned an Airplane


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




   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


• Origins and Destination – ROUTE




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



  Each Flight Leg has a cost associated with it.
Systematically convert the EER model
      to a relational schema
• First make a flat conversion of attributes  fields.

• Propagate keys based on participation constraints.

• Normalization.
Relational Schema
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
Efficiency
• Selection of Data model – ORDMS.

• Creation of correct indices.
  – Spatial Indices
  – Organizational Indices (for nested relations)

• Indexing specific fields to enable faster JOINs.
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.
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.
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
Extendibility
• Class – Sub Class relationship.

• Hierarchical structure enables addition of
  extra features.

• Relations are properly normalized.
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.
References
1. Fundamentals of DATABASE SYSTEMS, Fifth Edition -Ramez
   Elmasri, 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
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.

Airline reservation system db design

  • 1.
    IBM Technical Contest National Level Database Designing Narendran Thangarajan, @naren_live SSN College of Engineering, Chennai.
  • 2.
    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.
  • 3.
    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.
  • 4.
    2. Requirements Analysis •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.
  • 5.
  • 6.
    Mandatory Features Alldetails related to Customers - PASSENGER, TRAVEL_AGENT Customer Details – Derived : Further specializes to Passenger and Travel Agent Person – Base Entity : Has all the details like Name, Address, etc.
  • 7.
    Mandatory Features All details related to Flight - FLIGHT,FLIGHT_LEG, LEG_INSTANCE A Flight is a travel from origin to destination The Flight_legs for every day are instances of the same Flight_leg entity Each Flight has one or more Flight_legs, depending upon number of intermediate stops
  • 8.
    Mandatory Features • Detailsabout Airplane : AIRCRAFT_TYPE, AIRPLANE, LEG_INSTANCE Aircraft Types are the different varieties of Each Leg Instance is airplanes like AirBus, Boeing assigned an Airplane Airplane includes all the individual Flights. Each Flight is of a particular Aircraft Type
  • 9.
    Mandatory Features 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
  • 10.
    Mandatory Features • Originsand Destination – ROUTE Route consists of all the routes possible as defined by IATA. Each Flight Leg has a cost associated with it.
  • 12.
    Systematically convert theEER model to a relational schema • First make a flat conversion of attributes  fields. • Propagate keys based on participation constraints. • Normalization.
  • 13.
  • 14.
    Database Design • Choiceof ORM – Why not RM. • Better support for composition of services. • ER vs EER : – Extensibility – Need for Aggregation • OOM based ORDBMS – Oracle 11g R2
  • 15.
    Efficiency • Selection ofData model – ORDMS. • Creation of correct indices. – Spatial Indices – Organizational Indices (for nested relations) • Indexing specific fields to enable faster JOINs.
  • 16.
    Innovation • Automated distance/farecalculation using Spatial Features. • Promoting Flight Services using Data Mining. • Find airports in proximity during emergency situations. • Using Ad-hoc queries to generate Demographic details.
  • 17.
    Security • Access Controlwith 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.
  • 18.
    Presence of Bugsin SQL • Extensively tested my system and ensured it satisfies all the considered requirements. • Tested using the tool QUEST CODE TESTER FOR ORACLE
  • 19.
    Extendibility • Class –Sub Class relationship. • Hierarchical structure enables addition of extra features. • Relations are properly normalized.
  • 20.
    Best Practices • AdaptedSDLC 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.
  • 21.
    References 1. Fundamentals ofDATABASE SYSTEMS, Fifth Edition -Ramez Elmasri, 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
  • 22.
    SDLC stages inthis 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.