-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsql.db
More file actions
36 lines (32 loc) · 1.18 KB
/
sql.db
File metadata and controls
36 lines (32 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CREATE TABLE IF NOT EXISTS Pilots (
Pilot_ID INTEGER PRIMARY KEY AUTOINCREMENT,
First_Name TEXT NOT NULL,
Last_Name TEXT NOT NULL,
License_Number TEXT UNIQUE NOT NULL,
Experience_Years INTEGER
);
CREATE TABLE IF NOT EXISTS Destinations (
Destination_ID INTEGER PRIMARY KEY AUTOINCREMENT,
Airport_Code TEXT UNIQUE NOT NULL,
City TEXT NOT NULL,
Country TEXT NOT NULL
);
CREATE TABLE IF NOT EXISTS Flights (
Flight_ID INTEGER PRIMARY KEY AUTOINCREMENT,
Flight_Number TEXT UNIQUE NOT NULL,
Departure_Airport TEXT NOT NULL,
Destination_ID INTEGER,
Departure_Time DATETIME NOT NULL,
Arrival_Time DATETIME NOT NULL,
Status TEXT CHECK(Status IN ('Scheduled', 'Delayed', 'Cancelled', 'Completed')),
Aircraft_Type TEXT,
FOREIGN KEY (Destination_ID) REFERENCES Destinations(Destination_ID)
);
CREATE TABLE IF NOT EXISTS Flight_Pilot (
Assignment_ID INTEGER PRIMARY KEY AUTOINCREMENT,
Flight_ID INTEGER,
Pilot_ID INTEGER,
Role TEXT CHECK(Role IN ('Captain', 'First Officer')),
FOREIGN KEY (Flight_ID) REFERENCES Flights(Flight_ID),
FOREIGN KEY (Pilot_ID) REFERENCES Pilots(Pilot_ID)
);