Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Name: Siddhi Sunil Khade

Division: TE3
Batch: B
Roll. No: 22

Experiment 2: Implementation of all dimension table and fact table based


on experiment 1 case study

Problem Statement:
Design a data warehouse for a regional weather bureau. The weather bureau has about 100 probs, which are
scattered throughout various land and ocean locations in the region to collect basic weather data, including air
pressure, temperature and precipitation at each hour. All data are sent to the central station, which has collected
such data for more than 10 years. Design Star schema and Snowflake schema such that it should facilitate
efficient querying and online analytical processing and derive general weather patterns in multidimensional
space.

1. Creating and inserting records into Dimension tables

a. Region_dim table

create table region_dim (


region_name varchar2(30),
district varchar2(30),
city varchar2(30),
province varchar2(30),
primary key (region_name)
);

desc region_dim;
insert into region_dim values ('bhandup','mumbai','mumbai','maharashtra');
insert into region_dim values ('chembur','kurla','mumbai','maharashtra');
insert into region_dim values ('airoli','navi mumbai','navi mumbai','maharashtra');
insert into region_dim values ('mulund','mumbai','mumbai','maharashtra');
insert into region_dim values ('dombivali','palghar','mumbai','maharashtra');

select * from region_dim;

b. Time_dimension table

create table time_dim ( time int, day varchar2(30), month varchar2(30), season varchar2(30), primary key
(time) ); desc time_dim;

insert into time_dim values (2,'monday','jan','winter');


insert into time_dim values (6,'tuesday','aug','monsoon');
insert into time_dim values (4,'thursday','may','summer');
insert into time_dim values (1,'wednesday','feb','winter');
insert into time_dim values (3,'sunday','nov','winter');
select * from time_dim;
c. Temperature_dimension table

create table temperature_dim (


temperature int,
temperature_range varchar2(30),
temperature_unit varchar2(30),
primary key (temperature)
);
desc temperature_dim;

insert into temperature_dim values (24,'20-30','celcius');


insert into temperature_dim values (33,'20-40','celcius');
insert into temperature_dim values (22,'10-30','celcius');
insert into temperature_dim values (17,'10-50','celcius');
insert into temperature_dim values (32,'10-50','celcius');
select * from temperature_dim;
d. Precipitation_dimension table

create table precipitation_dim (


precipitation int,
precipitation_range varchar2(30),
precipitation_desc varchar2(30),
primary key (precipitation)
);
desc precipitation_dim;

insert into precipitation_dim values (10,'10-30','normal');


insert into precipitation_dim values (80,'20-100','moderate');
insert into precipitation_dim values (110,'100-300','higher');
insert into precipitation_dim values (30,'10-50','normal');
insert into precipitation_dim values (50,'10-80','moderate');
select * from precipitation_dim;
2. Creating Fact Table

create table fact (


count int,
region_name varchar2(30) references region_dim(region_name),
time int references time_dim(time),
temperature int references temperature_dim(temperature),
precipitation int references precipitation_dim(precipitation),
area varchar2(30)
);
desc fact
(inserting records 10 times in a fact table using cross join)
insert into fact
select r.region_name,t.time,tp.temperature,p.precipitation
from
region_dim r cross join time_dim t cross join temperature_dim tp cross join precipitation_dim p;
select * from fact;

You might also like