-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathschema.sql
36 lines (33 loc) · 1010 Bytes
/
schema.sql
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 "passengers" (
"id" INTEGER,
"first_name" TEXT NOT NULL,
"last_name" TEXT NOT NULL,
"age" INTEGER,
PRIMARY KEY("id")
);
CREATE TABLE "airlines" (
"id" INTEGER,
"name" TEXT NOT NULL UNIQUE,
"concourse" TEXT NOT NULL CHECK("concourse" IN ('A', 'B', 'C', 'D', 'E', 'F', 'T')),
PRIMARY KEY("id")
);
CREATE TABLE "flights" (
"id" INTEGER,
"airline_id" INTEGER,
"number" INTEGER NOT NULL,
"departing_from" TEXT NOT NULL,
"heading_to" TEXT NOT NULL,
"departure_datetime" NUMERIC NOT NULL DEFAULT CURRENT_TIMESTAMP,
"arrival_datetime" NUMERIC NOT NULL,
PRIMARY KEY("id"),
FOREIGN KEY("airline_id") REFERENCES "airlines"("id")
);
CREATE TABLE "checkins" (
"id" INTEGER,
"passenger_id" INTEGER,
"flight_id" INTEGER,
"datetime" NUMERIC NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY("id"),
FOREIGN KEY("passenger_id") REFERENCES "passengers"("id"),
FOREIGN KEY("flight_id") REFERENCES "flights"("id")
);