Buscar

ATIVIDADE - PRÁTICAS DE BANCO DE DADOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

CENTRO UNIVERSITÁRIO DAS FACULDADES METROPOLITANAS UNIDAS 
 
Elma Nayara Soares 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ATIVIDADE - BANCO DE DADOS 
Elaboração de um Data Mart 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
São Paulo - SP 
2022 
 
ELMA NAYARA SOARES 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ATIVIDADE - BANCO DE DADOS 
Elaboração de um Data Mart 
 
 
 
 
 
 
 
Atividade apresentada ao Centro Universitário das 
Faculdades Metropolitanas Unidas, como parte das 
exigências para a obtenção de nota referente à N1 
da disciplina Práticas de Banco de Dados. 
 
 
 
Professor: Ademir Avila 
 
 
 
 
 
 
 
 
São Paulo - SP 
2022 
 
 
ATIVIDADE 
 
Seguindo o roteiro passado pelo professor, elaborar um Data Mart para ter os dados 
dos funcionários, cidade e estado em que moram, e a partir dele elaborar o fato da 
quantidade de funcionários por UF. 
 
 
 
 
 
 
Observação: Devido a um problema no momento de importar os dados do Excel 
para o SQL Server, inseri alguns dados manualmente para que fosse possível realizar 
a atividade. 
4 
--CRIAR BANCO DE DADOS 
CREATE DATABASE ATIVIDADE_DATABASE 
 
--COLOCAR O BANCO DE DADOS EM USO 
USE ATIVIDADE_DATABASE 
 
--CRIAR A TABELA ESTADO 
CREATE TABLE ESTADO 
(ESTADOID INT IDENTITY(1,1) NOT NULL, 
NM_ESTADO VARCHAR(30) NOT NULL, 
UF CHAR(2) NOT NULL, 
CONSTRAINT PK_ESTADO PRIMARY KEY(ESTADOID)) 
 
--CRIAR A TABELA DEPTO 
CREATE TABLE DEPTO 
(DEPTOID INT IDENTITY(1,1) NOT NULL, 
NM_DEPTO VARCHAR(50) NOT NULL, 
CONSTRAINT PK_DEPTO PRIMARY KEY(DEPTOID)) 
 
--CRIAR A TABELA CIDADE 
CREATE TABLE CIDADE 
(CIDADEID INT IDENTITY(1,1) NOT NULL, 
NM_CIDADE VARCHAR(60) NOT NULL, 
ESTADOID INT NOT NULL, 
CONSTRAINT PK_CIDADE PRIMARY KEY(CIDADEID), 
CONSTRAINT FK_CIDADE FOREIGN KEY(ESTADOID) 
REFERENCES ESTADO(ESTADOID)) 
 
--CRIAR TABELA FUNCIONARIO 
CREATE TABLE FUNCIONARIO 
(FUNCIONARIOID INT IDENTITY(1,1) NOT NULL, 
NM_FUNCIONARIO VARCHAR(80) NOT NULL, 
SEXO CHAR(1) NULL, DATA_ADMISSAO DATE 
NULL, SALARIO NUMERIC(18,2) NULL, CEP 
CHAR(8) NULL, 
CIDADEID INT NOT NULL, DEPTOID INT NOT 
NULL, 
CONSTRAINT PK_FUNCIONARIO PRIMARY KEY(FUNCIONARIOID), 
CONSTRAINT FK_FUNCIONARIO_CIDADE FOREIGN KEY(CIDADEID) 
REFERENCES CIDADE(CIDADEID), 
CONSTRAINT FK_FUNCIONARIO_DEPTO FOREIGN KEY(DEPTOID) 
REFERENCES DEPTO(DEPTOID)) 
 
--INSERÇÃO DOS ESTADOS 
INSERT INTO ESTADO VALUES ('MINAS GERAIS','MG') 
INSERT INTO ESTADO VALUES ('SÃO PAULO','SP') 
INSERT INTO ESTADO VALUES ('RIO DE JANEIRO','RG') 
INSERT INTO ESTADO VALUES ('ESPÍRITO SANTO','ES') 
 
 
--INSERÇÃO DOS DEPTOS 
5 
INSERT INTO DEPTO VALUES ('DIRETORIA') 
INSERT INTO DEPTO VALUES ('RH') 
INSERT INTO DEPTO VALUES ('VENDAS') 
INSERT INTO DEPTO VALUES ('SUPORTE') 
INSERT INTO DEPTO VALUES ('MARKETING') 
 
--INSERÇÃO DAS CIDADES 
INSERT INTO CIDADE VALUES ('DOM SILVÉRIO',1) 
INSERT INTO CIDADE VALUES ('ALVINÓPOLIS',1) 
INSERT INTO CIDADE VALUES ('BELO HORIZONTE',1) 
INSERT INTO CIDADE VALUES ('DIADEMA',2) 
INSERT INTO CIDADE VALUES ('SANTOS',2) 
INSERT INTO CIDADE VALUES ('SALTO',2) 
INSERT INTO CIDADE VALUES ('NITERÓI',3) 
INSERT INTO CIDADE VALUES ('DUQUE DE CAXIAS',3) 
INSERT INTO CIDADE VALUES ('PETRÓPOLIS',3) 
INSERT INTO CIDADE VALUES ('OSASCO',2) 
INSERT INTO CIDADE VALUES ('JOÃO MONLEVADE',1) 
INSERT INTO CIDADE VALUES ('NOVA IGUAÇU',3) 
INSERT INTO CIDADE VALUES ('VITÓRIA',4) 
INSERT INTO CIDADE VALUES ('GUARAPARI',4) 
INSERT INTO CIDADE VALUES ('SERRA',4) 
INSERT INTO CIDADE VALUES ('VILA VELHA',4) 
INSERT INTO CIDADE VALUES ('SÃO CAETANO DO SUL',2) 
INSERT INTO CIDADE VALUES('OURO PRETO',1) 
INSERT INTO CIDADE VALUES ('MAUÁ',2) 
INSERT INTO CIDADE VALUES ('UBERLÂNDIA',1) 
 
--INSERÇÃO DOS FUNCIONÁRIOS 
INSERT INTO FUNCIONARIO VALUES ('MATHEUS SILVA', 
'M','2021-12-10',1900.00,09914030,4,4) 
INSERT INTO FUNCIONARIO VALUES ('GABRIEL FERREIRA, 
'M','2022-01-04',2700.00,35440000,1,1) 
INSERT INTO FUNCIONARIO VALUES ('JENIFER MELO', 
'F','2005-06-25',2300.00,29010002,13,3) 
INSERT INTO FUNCIONARIO VALUES ('VINÍCIUS PONTEL', 
'M','2011-11-11',2000.00,13970190,12,2) 
INSERT INTO FUNCIONARIO VALUES ('RICARDO OLIVEIRA',' 
M','2006-01-28',1150.00,04063002,17,4) 
INSERT INTO FUNCIONARIO VALUES ('AMANDA GOLÇALVES', 
'F','2012-12-15',2000.00,11010071,5,3) 
INSERT INTO FUNCIONARIO VALUES ('MARCOS SILVA','M', 
'2020-05-12',2100.00,24020003,7,2) 
INSERT INTO FUNCIONARIO VALUES ('KARINA SOUZA', 
'F','2008-04-23',2700.00,29010130,15,3) 
INSERT INTO FUNCIONARIO VALUES ('LUCAS BRAGA', 
'M','2019-10-30',1250.00,13301616,6,4) 
INSERT INTO FUNCIONARIO VALUES ('RÓGER CAMPOS, 
'M','2020-07-29',1350.00,04949515,10,4) 
6 
INSERT INTO FUNCIONARIO VALUES ('MILENE FERNANDES', 
'F','2014-05-31',1700.00,04195010,17,3) 
INSERT INTO FUNCIONARIO VALUES ('BÁRBARA VIEIRA', 
'F','2010-03-31',1350.00,3440000,1,4) 
INSERT INTO FUNCIONARIO VALUES ('FERNANDA OLIVEIRA', 
'F','2017-02-28',1750.00,15076610,20,5) 
INSERT INTO FUNCIONARIO VALUES ('ELMA NAYARA', 
'F','2019-07-10',1750.00,01011100,10,5) 
INSERT INTO FUNCIONARIO VALUES ('SIMONE SOUZA', 
'F','2015-02-20',1650.00,29010035,13,2) 
INSERT INTO FUNCIONARIO VALUES ('LETÍCIA TRINDADE', 
'F','2009-02-12',1400.00,30110005,3,4) 
INSERT INTO FUNCIONARIO VALUES ('KELLY KEY', 
'F','2009-02-03',2700.00,13301590,6,1) 
INSERT INTO FUNCIONARIO VALUES ('VALENTINA COSTA', 
'F','2008-12-13',3500.00,38204056,20,1) 
INSERT INTO FUNCIONARIO VALUES ('CECÍLIA CAMPOS', 
'F','2011-11-25',2400.00,35930008,11,4) 
INSERT INTO FUNCIONARIO VALUES ('MARIA JOAQUINA', 
'F','2010-10-26',2000.00,29129304,14,1) 
INSERT INTO FUNCIONARIO VALUES ('RONI MOURA', 
'M','2010-05-12',1950.00,29010080,16,4) 
INSERT INTO FUNCIONARIO VALUES ('JOÃO SILVA', 
'M','2012-04-08',1550.00,29010050,13,4) 
INSERT INTO FUNCIONARIO VALUES ('JÚNIOR MORAES', 
'M','2020-07-24',1200.00,07262130,3,4) 
INSERT INTO FUNCIONARIO VALUES ('IVAN ANDRADE, 
'M','2021-06-11',1500.00,15612162,20,2) 
INSERT INTO FUNCIONARIO VALUES ('RAÚL LUCAS', 
'M','2021-01-22',2100,03973060,19,3) 
INSERT INTO FUNCIONARIO VALUES ('ADSON SOARES', 
'M','2007-10-17',2850.00,35400000,18,2) 
INSERT INTO FUNCIONARIO VALUES ('GUSTAVO MANTUAN', 
'M','2009-06-30',1500.00,11010095,5,4) 
INSERT INTO FUNCIONARIO VALUES ('LUCAS PITON', 
'M','2006-09-09',3000.00,25610041,9,4) 
INSERT INTO FUNCIONARIO VALUES ('GIULIANO DE SOUZA', 
'M','2007-09-28',2100.00,24020000,7,3) 
INSERT INTO FUNCIONARIO VALUES ('JOÃO ASSIS', 
'M','2008-08-19',2750.00,35950000,2,3) 
INSERT INTO FUNCIONARIO VALUES ('LUAN SILVA', 
'M','2009-05-05',2350.00,04417210,4,2) 
INSERT INTO FUNCIONARIO VALUES ('PAULO BEZERRA', 
'M','2010-04-20',3000.00,09910040,4,1) 
INSERT INTO FUNCIONARIO VALUES ('GUSTAVO SILVA', 
'M','2011-06-07',2000.00,29100011,16,2) 
INSERT INTO FUNCIONARIO VALUES ('EDUARDO QUEIROZ', 
'M','2013-01-16',1300.00,22711240,12,5) 
7 
INSERT INTO FUNCIONARIO VALUES ('LUCAS SANTOS', 
'M','2014-08-23',1050.00,35950000,2,4) 
INSERT INTO FUNCIONARIO VALUES ('FELIPE LEMOS', 
'M','2018-06-14',1650.00,20761170,8,5) 
INSERT INTO FUNCIONARIO VALUES ('JOÃO VICTOR', 
'M','2017-09-27',1800.00,35930004,11,4) 
INSERT INTO FUNCIONARIO VALUES ('CÁSSIO RAMOS', 
'M','2016-12-18',1950.00,22710325,9,4) 
INSERT INTO FUNCIONARIO VALUES ('RÉGIS AUGUSTO', 
'M','2015-05-06',2050.00,04849515,10,2) 
INSERT INTO FUNCIONARIO VALUES ('WILLIAN BORGES', 
'M','2005-01-15',4000.00,30360740,11,1) 
 
--CRIAR PESQUISA 
SELECT 
NM_FUNCIONARIO, SEXO, NM_DEPTO, 
DATA_ADMISSAO, SALARIO, 
NM_ESTADO, UF, NM_CIDADE,CEP 
FROM FUNCIONARIO AS F 
INNER JOIN DEPTO AS D ON D.DEPTOID=F.DEPTOID 
INNER JOIN CIDADE AS C ON C.CIDADEID=F.CIDADEID 
INNER JOIN ESTADO AS E ON E.ESTADOID=C.ESTADOID 
 
--CRIAR O DWH CREATE DATABASE 
DWH 
 
--COLOCAR O DATAWAREHOUSE EM USO 
USE DWH 
--UF,NM_ESTADO,NM_CIDADE,NM_DEPTO,NM_FUNCIONARIO,SEXO,DATA_ADMISSAO,SALARIO 
CREATE TABLE DWH 
(CD_DWH INT IDENTITY(1,1) NOT NULL, 
UF CHAR(2) NULL, 
CIDADE VARCHAR(60) NULL, 
DEPTO VARCHAR(50) NULL, 
FUNCIONARIO VARCHAR(80)NULL, 
SEXO CHAR(1) NULL, 
ADMISSAO DATE NULL, 
SALARIO NUMERIC(18,2) NULL, 
CONSTRAINT PK_DWH PRIMARY KEY(CD_DWH)) 
 
--CRIAR A PROCEDURE DE CARGA DO DATA MART (GERAL) 
CREATE PROCEDURE DATA_MART_CARGA 
AS 
IF NOT EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME = 
'DATA_MART_FUNCIONARIOS_UF') 
BEGIN 
CREATE TABLE DATA_MART_FUNCIONARIOS_UF 
(CD_MART INT IDENTITY(1,1) NOT NULL, 
8 
 
 
 
 
 
 
 
 
 
 
END 
FUNCIONARIO VARCHAR(80) NULL, 
SEXO CHAR(2) NULL, 
DEPTO VARCHAR(50) NULL, 
ADMISSAO DATE NULL, 
SALARIO NUMERIC(18,2) NULL, 
ESTADO VARCHAR(30) NULL, 
UF CHAR(2) NULL, 
CIDADE VARCHAR(60) NULL, 
CEP CHAR(8) NULL, 
CONSTRAINT PK_DATA_MART_FUNCIONARIOS_UF PRIMARY KEY(CD_MART)) 
 
ELSE 
BEGIN 
TRUNCATE TABLE DATA_MART_FUNCIONARIOS_UF 
END 
 
INSERT INTO DATA_MART_FUNCIONARIOS_UF 
SELECT 
NM_FUNCIONARIO, SEXO, NM_DEPTO, 
DATA_ADMISSAO, SALARIO, NM_ESTADO, 
UF, NM_CIDADE, CEP 
FROM ATIVIDADE_DATABASE..FUNCIONARIO AS F 
INNER JOIN ATIVIDADE_DATABASE..DEPTO AS D ON D.DEPTOID=F.DEPTOID 
INNER JOIN ATIVIDADE_DATABASE..CIDADE AS C ON C.CIDADEID=F.CIDADEID 
INNER JOIN ATIVIDADE_DATABASE..ESTADO AS E ON E.ESTADOID=C.ESTADOID 
 
--EXECUTAR 
EXECUTE DATA_MART_CARGA 
 
--CRIAR A PROCEDURE DE CARGA DO DATA MART (APENAS OS DADOS NECESSÁRIOS PARA O 
FATO_FUNCIONARIOS_UF) 
CREATE PROCEDURE DATA_MART_CARGA_1 
AS 
IF NOT EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME = 
'DATA_MART_FUNCIONARIOS_UF_1') 
BEGIN 
CREATE TABLE DATA_MART_FUNCIONARIOS_UF_1 
(CD_MART_1 INT IDENTITY(1,1) NOT NULL, 
FUNCIONARIO VARCHAR(80) NULL, 
ESTADO VARCHAR(30) NULL, 
UF CHAR(2) NULL, 
CIDADE VARCHAR(60) NULL, 
CONSTRAINT PK_DATA_MART_FUNCIONARIOS_UF_1 PRIMARY KEY(CD_MART_1)) END 
ELSE 
BEGIN 
TRUNCATE TABLE DATA_MART_FUNCIONARIOS_UF END 
 
INSERT INTO DATA_MART_FUNCIONARIOS_UF_1 
SELECT FUNCIONARIO,ESTADO,UF,CIDADE 
FROM DATA_MART_FUNCIONARIOS_UF 
9 
 
--EXECUTAR 
EXECUTE DATA_MART_CARGA_1 
 
--CRIAÇÃO DA VIEW 
CREATE VIEW FATO_FUNCIONARIOS_UF 
AS 
SELECT ESTADO,COUNT(UF) AS 'QUANTIDADE' 
FROM DATA_MART_FUNCIONARIOS_UF_1 
GROUP BY ESTADO 
 
--EXECUÇÃO DA VIEW 
SELECT * FROM FATO_FUNCIONARIOS_UFORDER BY 
QUANTIDADE DESC

Outros materiais