-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathSQLQuery_FlightDataWarehouseCreation.sql
More file actions
75 lines (70 loc) · 1.96 KB
/
Copy pathSQLQuery_FlightDataWarehouseCreation.sql
File metadata and controls
75 lines (70 loc) · 1.96 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
CREATE DATABASE FlightsOnTimeGPT2_DW
GO
Use FlightsOnTimeGPT2_DW
GO
CREATE TABLE Airlines_Dim
(AirlineKey INT NOT NUll IDENTITY,
Airline_code NCHAR(2),
Airline VARCHAR(MAX),
PRIMARY KEY (AirlineKey));
GO
CREATE TABLE AirportDestination_Dim
(AirportDestinationKey INT NOT NUll IDENTITY,
Airport_name VARCHAR(MAX),
Airport_code NCHAR(3),
Latitude float,
Longitude float,
Airport_state VARCHAR(MAX),
Airport_country VARCHAR(MAX),
Airport_city VARCHAR(MAX),
PRIMARY KEY (AirportDestinationKey));
GO
CREATE TABLE AirportOrigin_Dim
(AirportOriginKey INT NOT NUll IDENTITY,
Airport_name VARCHAR(MAX),
Airport_code NCHAR(3),
Latitude float,
Longitude float,
Airport_state VARCHAR(MAX),
Airport_country VARCHAR(MAX),
Airport_city VARCHAR(MAX),
PRIMARY KEY (AirportOriginKey));
GO
CREATE TABLE Calendar_Dim
(
CalendarKey INT NOT NULL IDENTITY,
Year_calendar int,
Day_of_week VARCHAR(20),
Month_calendar VARCHAR(20),
Day_calendar VARCHAR(5),
Full_date DATE,
PRIMARY KEY (CalendarKey));
GO
CREATE TABLE Delay_Dim
(DelayKey INT NOT NUll IDENTITY,
Delay_ID NCHAR(1),
Delay_Description NCHAR (50),
PRIMARY KEY (DelayKey));
go
CREATE TABLE OnTimeRecord_Fact
(FlightNumberKey INT NOT NUll IDENTITY,
CalendarKey INT,
AirlineKey INT,
AirportDestinationKey INT,
AirportOriginKey INT,
DelayKey INT,
Flight_number float,
Departure_delay float,
Arrival_delay float,
Delay_minutes float,
PRIMARY KEY(FlightNumberKey, CalendarKey, AirlineKey, AirportDestinationKey, AirportOriginKey, DelayKey),
FOREIGN KEY (Calendarkey) REFERENCES Calendar_Dim (CalendarKey),
FOREIGN KEY (AirlineKey) REFERENCES Airlines_Dim (AirlineKey),
FOREIGN KEY (AirportDestinationkey) REFERENCES AirportDestination_Dim (AirportDestinationKey),
FOREIGN KEY (AirportOriginKey) REFERENCES AirportOrigin_Dim(AirportOriginKey),
FOREIGN KEY (DelayKey) REFERENCES Delay_Dim(DelayKey)
);
GO
--Uncomment the next 2 lines to delete all the data warehouse
--DELETE FROM FlightDelay_Fact;
--go