11
Flights
Flights
The flight operates on schedule between airports.
Natural key: flight number and departure date, but a surrogate key is used.
Flight ID
flight number
scheduled departure and arrival
actual departure and arrival
Departure and arrival airports
Flight status
filter: (aircraft_code = f.aircraft_code)
A flight connects the departure and arrival airports. If there's no direct flight,
the ticket includes multiple flights.
Column | Type | Modifiers | Description
---------------------+-------------+--------------+----------------------------
flight_id | integer | not null | Flight ID
flight_no | char(6) | not null | Flight Number
scheduled_departure | timestamptz | not null | Scheduled departure time
scheduled_arrival | timestamptz | not null | Scheduled Arrival Time
departure_airport | char(3) | not null | Departure Airport
Arrival Airport
status | varchar(20) | not null | Flight Status
aircraft_code | char(3) | not null | Aircraft code (IATA)
Actual Departure Time
actual_arrival | timestamptz | | Actual Arrival Time
Indexes:
PRIMARY KEY, btree (flight_id)
UNIQUE CONSTRAINT, btree (flight_no, scheduled_departure)
Check Constraints:
CHECK (scheduled_arrival > scheduled_departure)
CHECK ((actual_arrival IS NULL)
OR ((actual_departure IS NOT NULL AND actual_arrival IS NOT NULL)
AND (actual_arrival > actual_departure)))
CHECK (status IN ('On Time', 'Delayed', 'Departed',
'Arrived', 'Scheduled', 'Cancelled'))
Foreign Key Constraints:
FOREIGN KEY (aircraft_code) REFERENCES aircrafts_data(aircraft_code)
FOREIGN KEY (arrival_airport) REFERENCES airports_data(airport_code)
FOREIGN KEY (departure_airport) REFERENCES airports_data(airport_code)