You are on page 1of 2

CREATE TABLE Airline (

airlineId INT PRIMARY KEY,


airlineName VARCHAR(255) NOT NULL
);

CREATE TABLE Flight (


flightNumber INT PRIMARY KEY,
departureDateTime DATETIME NOT NULL,
arrivalDateTime DATETIME NOT NULL,
departureCity VARCHAR(255) NOT NULL,
arrivalCity VARCHAR(255) NOT NULL,
ticketPrice DECIMAL(10,2) NOT NULL,
airlineId INT NOT NULL,
FOREIGN KEY (airlineId) REFERENCES Airline(airlineId)
);

CREATE TABLE Ticket (


ticketNumber INT PRIMARY KEY,
departureDate DATE NOT NULL,
seatNumber VARCHAR(10) NOT NULL,
ticketPrice DECIMAL(10,2) NOT NULL,
flightNumber INT NOT NULL,
FOREIGN KEY (flightNumber) REFERENCES Flight(flightNumber)
);

CREATE TABLE Passenger (


passengerId INT PRIMARY KEY,
passengerName VARCHAR(255) NOT NULL,
passengerEmail VARCHAR(255) NOT NULL,
passengerPhone VARCHAR(20) NOT NULL
);

CREATE TABLE Reservation (


reservationNumber INT PRIMARY KEY,
departureDate DATE NOT NULL,
returnDate DATE NOT NULL,
numOfPassengers INT NOT NULL,
ticketNumber INT NOT NULL,
FOREIGN KEY (ticketNumber) REFERENCES Ticket(ticketNumber)
);

CREATE TABLE Employee (


employeeId INT PRIMARY KEY,
employeeName VARCHAR(255) NOT NULL,
jobTitle VARCHAR(255) NOT NULL,
salary DECIMAL(10,2) NOT NULL
);

CREATE TABLE PassengerFlight (


passengerId INT NOT NULL,
flightNumber INT NOT NULL,
ticketNumber INT NOT NULL,
PRIMARY KEY (passengerId, flightNumber, ticketNumber),
FOREIGN KEY (passengerId) REFERENCES Passenger(passengerId),
FOREIGN KEY (flightNumber) REFERENCES Flight(flightNumber),
FOREIGN KEY (ticketNumber) REFERENCES Ticket(ticketNumber)
);

CREATE TABLE EmployeeFlight (


employeeId INT NOT NULL,
flightNumber INT NOT NULL,
dutyStartTime DATETIME NOT NULL,
dutyEndTime DATETIME NOT NULL,
PRIMARY KEY (employeeId, flightNumber),
FOREIGN KEY (employeeId) REFERENCES Employee(employeeId),
FOREIGN KEY (flightNumber) REFERENCES Flight(flightNumber)
);

You might also like