0% found this document useful (0 votes)
35 views16 pages

Assignment 2

The document describes the database schema for an airline reservation system. It defines several tables including flights, passengers, bookings and others and establishes relationships between them. It also includes SQL commands to create the tables and constraints.

Uploaded by

mussepovn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views16 pages

Assignment 2

The document describes the database schema for an airline reservation system. It defines several tables including flights, passengers, bookings and others and establishes relationships between them. It also includes SQL commands to create the tables and constraints.

Uploaded by

mussepovn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

ASSIGNMENT 2 NURLAN MUSSEPOV

Airline_info:
airline_id (int) PK
airline_code (varchar(30))
airline_name (varchar(50))
airline_country (varchar(50))
created_at (timestamp)
updated_at (timestamp)
info (varchar(50))

Airport:
airport_id (int) PK
airport_name (varchar(50))
country (varchar(50))
state (varchar(50))
city (varchar(50))
created_at (timestamp)
updated_at (timestamp)

Baggage_check:
baggage_check_id (int) PK
check_result (varchar(50))
created_at (timestamp)
updated_at (timestamp)
booking_id (int)
passenger_id (int)
Baggage:
baggage_id (int) PK
weight_in_kg (decimal(4,2))
created_at (timestamp)
updated_at (timestamp)
booking_id (int)
Boarding_pass:
boarding_pass_id (int) PK
booking_id (int)
seat (varchar(50))
boarding_time (timestamp)
created_at (timestamp)
updated_at (timestamp)
Booking_flight:
booking_flight_id (int) PK
booking_id (int)
flight_id (int)
created_at (timestamp)
updated_at (timestamp)
Booking:
booking_id (int) PK
flight_id (int)
passenger_id (int)
booking_platform (varchar(50))
created_at (timestamp)
updated_at (timestamp)
status (varchar(50))
price (decimal(7,2))
Flights:
flight_id (int) PK
sch_departure_time (timestamp)
sch_arrival_time (timestamp)
departing_airport_id (int)
arriving_airport_id (int)
departing_gate (varchar(50))
arriving_gate (varchar(50))
airline_id (int)
act_departure_time (timestamp)
act_arrival_time (timestamp)
created_at (timestamp)
updated_at (timestamp)
Passengers:
passenger_id (int) PK
first_name (varchar(50))
last_name (varchar(50))
date_of_birth (date)
gender (varchar(50))
country_of_citizenship (varchar(50))
country_of_residence (varchar(50))
passport_number (varchar(20))
created_at (timestamp)
updated_at (timestamp)
Security_check:
security_check_id (int) PK
check_result (varchar(20))
created_at (timestamp)
updated_at (timestamp)
passenger_id (int)

Relationships
Passengers:
One-to-many relationship with Security_check, Booking, and Baggage_check tables based on
passenger_id.

Booking:
One-to-many relationship with Baggage_check, Baggage, Boarding_pass, and Booking_flight
tables based on booking_id.

Flights:
One-to-many relationship with Booking_flight table based on flight_id.

Airport:
One-to-many relationship with Flights table based on departing_airport_id and
arriving_airport_id.

Airline_info:
One-to-many relationship with Flights table based on airline_id.

POSTGRE REQUEST:
1)
CREATE TABLE Airline_info (
airline_id INT,
airline_code VARCHAR(30),
airline_name VARCHAR(50),
airline_country VARCHAR(50),
created_at TIMESTAMP,
updated_at TIMESTAMP,
info VARCHAR(50)
);

CREATE TABLE Airport (


airport_id INT,
airport_name VARCHAR(50),
country VARCHAR(50),
state VARCHAR(50),
city VARCHAR(50),
created_at TIMESTAMP,
updated_at TIMESTAMP
);

CREATE TABLE Baggage_check (


baggage_check_id INT,
check_result VARCHAR(50),
created_at TIMESTAMP,
updated_at TIMESTAMP,
booking_id INT,
passenger_id INT
);
CREATE TABLE Baggage (
baggage_id INT,
weight_in_kg DECIMAL(4,2),
created_at TIMESTAMP,
updated_at TIMESTAMP,
booking_id INT
);

CREATE TABLE Boarding_pass (


boarding_pass_id INT,
booking_id INT,
seat VARCHAR(50),
boarding_time TIMESTAMP,
created_at TIMESTAMP,
updated_at TIMESTAMP
);

CREATE TABLE Booking_flight (


booking_flight_id INT,
booking_id INT,
flight_id INT,
created_at TIMESTAMP,
updated_at TIMESTAMP
);

CREATE TABLE Booking (


booking_id INT,
flight_id INT,
passenger_id INT,
booking_platform VARCHAR(50),
created_at TIMESTAMP,
updated_at TIMESTAMP,
status VARCHAR(50),
price DECIMAL(7,2)
);

CREATE TABLE Flights (


flight_id INT,
sch_departure_time TIMESTAMP,
sch_arrival_time TIMESTAMP,
departing_airport_id INT,
arriving_airport_id INT,
departing_gate VARCHAR(50),
arriving_gate VARCHAR(50),
airline_id INT,
act_departure_time TIMESTAMP,
act_arrival_time TIMESTAMP,
created_at TIMESTAMP,
updated_at TIMESTAMP
);

CREATE TABLE Passengers (


passenger_id INT,
first_name VARCHAR(50),
last_name VARCHAR(50),
date_of_birth DATE,
gender VARCHAR(50),
country_of_citizenship VARCHAR(50),
country_of_residence VARCHAR(50),
passport_number VARCHAR(20),
created_at TIMESTAMP,
updated_at TIMESTAMP
);

CREATE TABLE Security_check (


security_check_id INT,
check_result VARCHAR(20),
created_at TIMESTAMP,
updated_at TIMESTAMP,
passenger_id INT
);

2)
ALTER TABLE Airline_info
ADD PRIMARY KEY (airline_id);

ALTER TABLE Airport


ADD PRIMARY KEY (airport_id);

ALTER TABLE Baggage_check


ADD PRIMARY KEY (baggage_check_id);
ALTER TABLE Baggage
ADD PRIMARY KEY (baggage_id);

ALTER TABLE Boarding_pass


ADD PRIMARY KEY (boarding_pass_id);

ALTER TABLE Booking_flight


ADD PRIMARY KEY (booking_flight_id);

ALTER TABLE Booking


ADD PRIMARY KEY (booking_id);

ALTER TABLE Flights


ADD PRIMARY KEY (flight_id);

ALTER TABLE Passengers


ADD PRIMARY KEY (passenger_id);

ALTER TABLE Security_check


ADD PRIMARY KEY (security_check_id);

3)
-- Passengers with Security_check
ALTER TABLE Security_check
ADD CONSTRAINT fk_passenger_id_security_check
FOREIGN KEY (passenger_id)
REFERENCES Passengers(passenger_id);

-- Passengers with Booking


ALTER TABLE Booking
ADD CONSTRAINT fk_passenger_id_booking
FOREIGN KEY (passenger_id)
REFERENCES Passengers(passenger_id);

-- Passengers with Baggage_check


ALTER TABLE Baggage_check
ADD CONSTRAINT fk_passenger_id_baggage_check
FOREIGN KEY (passenger_id)
REFERENCES Passengers(passenger_id);

-- Booking with Baggage_check


ALTER TABLE Baggage_check
ADD CONSTRAINT fk_booking_id_baggage_check
FOREIGN KEY (booking_id)
REFERENCES Booking(booking_id);

-- Booking with Baggage


ALTER TABLE Baggage
ADD CONSTRAINT fk_booking_id_baggage
FOREIGN KEY (booking_id)
REFERENCES Booking(booking_id);

-- Booking with Boarding_pass


ALTER TABLE Boarding_pass
ADD CONSTRAINT fk_booking_id_boarding_pass
FOREIGN KEY (booking_id)
REFERENCES Booking(booking_id);

-- Booking with Booking_flight


ALTER TABLE Booking_flight
ADD CONSTRAINT fk_booking_id_booking_flight
FOREIGN KEY (booking_id)
REFERENCES Booking(booking_id);

-- Flights with Booking_flight


ALTER TABLE Booking_flight
ADD CONSTRAINT fk_flight_id_booking_flight
FOREIGN KEY (flight_id)
REFERENCES Flights(flight_id);

-- Airport with Flights by departing_airport_id


ALTER TABLE Flights
ADD CONSTRAINT fk_departing_airport_id_flights
FOREIGN KEY (departing_airport_id)
REFERENCES Airport(airport_id);

-- Airport with Flights by arriving_airport_id


ALTER TABLE Flights
ADD CONSTRAINT fk_arriving_airport_id_flights
FOREIGN KEY (arriving_airport_id)
REFERENCES Airport(airport_id);

-- Airline_info with Flights by airline_id


ALTER TABLE Flights
ADD CONSTRAINT fk_airline_id_flights
FOREIGN KEY (airline_id)
REFERENCES Airline_info(airline_id);

4)
-- Airline_info
ALTER TABLE Airline_info
ALTER COLUMN airline_id SET NOT NULL,
ALTER COLUMN airline_code SET NOT NULL,
ALTER COLUMN airline_name SET NOT NULL,
ALTER COLUMN airline_country SET NOT NULL,
ADD CONSTRAINT unique_airline_code UNIQUE (airline_code);

-- Airport
ALTER TABLE Airport
ALTER COLUMN airport_id SET NOT NULL,
ALTER COLUMN airport_name SET NOT NULL,
ALTER COLUMN country SET NOT NULL,
ALTER COLUMN state SET NOT NULL,
ALTER COLUMN city SET NOT NULL;

-- Baggage_check
ALTER TABLE Baggage_check
ALTER COLUMN baggage_check_id SET NOT NULL,
ALTER COLUMN check_result SET NOT NULL,
ALTER COLUMN booking_id SET NOT NULL,
ALTER COLUMN passenger_id SET NOT NULL;

-- Baggage
ALTER TABLE Baggage
ALTER COLUMN baggage_id SET NOT NULL,
ALTER COLUMN weight_in_kg SET NOT NULL,
ALTER COLUMN booking_id SET NOT NULL;

-- Boarding_pass
ALTER TABLE Boarding_pass
ALTER COLUMN boarding_pass_id SET NOT NULL,
ALTER COLUMN booking_id SET NOT NULL,
ALTER COLUMN seat SET NOT NULL,
ALTER COLUMN boarding_time SET NOT NULL;

-- Booking_flight
ALTER TABLE Booking_flight
ALTER COLUMN booking_flight_id SET NOT NULL,
ALTER COLUMN booking_id SET NOT NULL,
ALTER COLUMN flight_id SET NOT NULL;

-- Booking
ALTER TABLE Booking
ALTER COLUMN booking_id SET NOT NULL,
ALTER COLUMN flight_id SET NOT NULL,
ALTER COLUMN passenger_id SET NOT NULL,
ALTER COLUMN booking_platform SET NOT NULL,
ALTER COLUMN status SET NOT NULL,
ALTER COLUMN price SET NOT NULL;

-- Flights
ALTER TABLE Flights
ALTER COLUMN flight_id SET NOT NULL,
ALTER COLUMN sch_departure_time SET NOT NULL,
ALTER COLUMN sch_arrival_time SET NOT NULL,
ALTER COLUMN departing_airport_id SET NOT NULL,
ALTER COLUMN arriving_airport_id SET NOT NULL,
ALTER COLUMN airline_id SET NOT NULL;

-- Passengers
ALTER TABLE Passengers
ALTER COLUMN passenger_id SET NOT NULL,
ALTER COLUMN first_name SET NOT NULL,
ALTER COLUMN last_name SET NOT NULL,
ALTER COLUMN date_of_birth SET NOT NULL,
ALTER COLUMN gender SET NOT NULL,
ALTER COLUMN country_of_citizenship SET NOT NULL,
ALTER COLUMN country_of_residence SET NOT NULL,
ALTER COLUMN passport_number SET NOT NULL,
ADD CONSTRAINT unique_passport_number UNIQUE (passport_number);
-- Security_check
ALTER TABLE Security_check
ALTER COLUMN security_check_id SET NOT NULL,
ALTER COLUMN check_result SET NOT NULL,
ALTER COLUMN passenger_id SET NOT NULL;

5)
ALTER TABLE airline_info
RENAME TO airline;
6)
ALTER TABLE Booking
RENAME COLUMN price TO ticket_price;
7)
ALTER TABLE Flights
ALTER COLUMN departing_gate TYPE TEXT;

8)
ALTER TABLE airline
DROP COLUMN info;

You might also like