-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathSQLQuery1.sql
133 lines (99 loc) · 3.5 KB
/
SQLQuery1.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
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
use Staging
--Creating new customer dimension tables from data which we got
CREATE TABLE customer_dataDIM (
customer_id NVARCHAR(50) NOT NULL PRIMARY KEY,
customer_unique_id NVARCHAR(50) NOT NULL,
customer_zip_code_prefix INT NOT NULL,
customer_city NVARCHAR(20) NOT NULL,
customer_state NVARCHAR(10) NOT NULL,
)
--Checking Table
SELECT * from customer_dataDIM
--Creating new order dimension tables from data which we got
CREATE TABLE orders_dataFACT(
order_id NVARCHAR(50) NOT NULL,
customer_id NVARCHAR(50) NOT NULL,
order_status NVARCHAR(50) NOT NULL,
order_purchase_timestamp DATETIME NOT NULL,
order_approved_at DATETIME NOT NULL,
order_delivered_carrier_date DATETIME NOT NULL,
order_delivered_customer_date DATETIME NOT NULL,
order_estimated_delivery_date DATETIME NOT NULL,
PRIMARY KEY (order_id) ,
FOREIGN KEY (customer_id) REFERENCES customer_dataDIM(customer_id)
)
--Checking Table
SELECT * from orders_dataFACT
--Creating new review dimension tables from data which we got
CREATE TABLE order_review_dataDIM(
review_id NVARCHAR(50) NOT NULL,
order_id NVARCHAR(50) NOT NULL,
review_score int,
review_creation_data_timestamp DATETIME NOT NULL,
review_answer_timestamp DATETIME NOT NULL,
PRIMARY KEY (review_id),
FOREIGN KEY (order_id) REFERENCES orders_dataDIM(order_id)
)
--Checking Table
SELECT * from order_review_dataDIM
--Creating new order payment dimension tables from data which
CREATE TABLE order_payment_dataDIM (
order_id NVARCHAR(50) NOT NULL,
Payment_sequential INT,
payment_type NVARCHAR(30) NOT NULL,
payment_installments INT,
payment_value FLOAT,
PRIMARY KEY (order_id),
FOREIGN KEY (order_id) REFERENCES orders_dataDIM(order_id)
)
--Checking Table
SELECT * FROM order_payment_dataDIM
--Creating new order payment dimension tables from data which
CREATE TABLE geoloacation_dataDim(
geoloaction_zip_code_prefix INT NOT NULL,
geoloaction_lat FLOAT NOT NULL,
geoloaction_lng FLOAT NOT NULL,
geoloaction_city NVARCHAR(50) NOT NULL,
geoloaction_state NVARCHAR(50),
PRIMARY KEY (geoloaction_zip_code_prefix)
);
--Checking Table
SELECT * FROM geoloacation_dataDim
--Creating new order payment dimension tables from data which
CREATE TABLE sellers_dataDim(
seller_id NVARCHAR(50) NOT NULL,
seller_zip_code INT NOT NULL,
seller_city NVARCHAR(50) NOT NULL,
seller_state NVARCHAR(50) NOT NULL,
PRIMARY KEY (seller_id),
FOREIGN KEY (seller_zip_code) REFERENCES geoloacation_dataDim(geoloaction_zip_code_prefix)
);
--Checking Table
SELECT * FROM sellers_dataDim
--Creating new order payment dimension tables from data which
CREATE TABLE order_item_dataDim (
order_id NVARCHAR(50) NOT NULL,
order_item_id INT NOT NULL,
product_id NVARCHAR(50) NOT NULL,
seller_id NVARCHAR(50) NOT NULL,
shipping_limit_date DATETIME NOT NULL,
price FLOAT NOT NULL,
freight_value FLOAT NOT NULL,
PRIMARY KEY (order_id),
FOREIGN KEY (order_id) REFERENCES orders_dataDIM(order_id),
FOREIGN KEY (seller_id) REFERENCES sellers_dataDim(seller_id)
);
--Checking Table
SELECT * FROM order_item_dataDim
--Data Load from data Warehouse Database to this Database is Done by ETL(Talend)
--i Mistakenly named order_data table as Dimension tables (DIM) follwing table is Fact table
EXEC sp_rename 'orders_dataDIM', 'orders_dataFACT';
--Testing
use Staging
select * from customer_dataDIM;
select * from geoloacation_dataDim
select * from order_item_dataDim
select * from order_payment_dataDIM
select * from order_review_dataDIM
select * from orders_dataFACT
select * from sellers_dataDim